Löparbands spelande
Löparbands spelande
Hej,
Jo, jag har arbetat på http://treadgaming.blogspot.com/ ett tag nu, och just nu försöker jag lösa ett problem som jag hoppas någon här kan hjälpa mig med.
I princip så handlar det om att analogt kunna styra en spelare i ett spel genom att man går på löparbandet. Tidigare har jag använt en vanlig mus, libUSB och lite mjukvara för att få det att fungera som om man tryckte på tangentbordet. Musen tejpades på löparbandet, och när man kom upp i en viss hastighet skickades exempelvis knappen "W". Detta gjorde då att man gick framåt i ett FPS spel. Men nu vill jag få till så att man kan skicka en analog signal istället. Och, eftersom det är mest strul att försöka lösa det i mjukvara (kan inte installera libUSB 1.0 drivrutiner korrekt i Windows 7), och eftersom spel inte bryr sig om vilken mus man använder (spelen agerar även på musen som används under löparbandet), så tänkte jag lösa detta med ett hemmagjort hårdvara bygge! Dock är jag ny med hårdvara bygge, så jag behöver lite hjälp här.
Som det ser ut nu så lutar det åt att använda Teensy ( http://www.pjrc.com/teensy/index.html ). Sen så är frågan med resten. Någon här som kan ge mig tips hur vad för hårdvara jag borde köpa? Passiv Infraröd Sensor? Fotodiod? Direktlänk till elfa.se eller nått uppskattas. Jag vill ha ett enkelt sätt att kunna läsa in hastigheten på rullbandet. Antingen då genom att hårdvaran är snabb och relativt känslig och kan få ut skillnader på korta avstånd, eller i värsta fall, att jag får sätta dit vita remsor, som man kan använda för att mäta hastigheten...
Vidare var det tänkte att simulera/emulera en XBox 360 kontroll (närmare bestämt den vänstra analoga thumbstick). Dvs, ta input från vad nu passar bäst, köra igenom lite kod, och USB in i datorn! Spel tror det är en Xbox 360 kontrolls data som kommer in... Naturligtvis tar jag gärna emot andra tips för lösning här.
Tack,
Chillance
Jo, jag har arbetat på http://treadgaming.blogspot.com/ ett tag nu, och just nu försöker jag lösa ett problem som jag hoppas någon här kan hjälpa mig med.
I princip så handlar det om att analogt kunna styra en spelare i ett spel genom att man går på löparbandet. Tidigare har jag använt en vanlig mus, libUSB och lite mjukvara för att få det att fungera som om man tryckte på tangentbordet. Musen tejpades på löparbandet, och när man kom upp i en viss hastighet skickades exempelvis knappen "W". Detta gjorde då att man gick framåt i ett FPS spel. Men nu vill jag få till så att man kan skicka en analog signal istället. Och, eftersom det är mest strul att försöka lösa det i mjukvara (kan inte installera libUSB 1.0 drivrutiner korrekt i Windows 7), och eftersom spel inte bryr sig om vilken mus man använder (spelen agerar även på musen som används under löparbandet), så tänkte jag lösa detta med ett hemmagjort hårdvara bygge! Dock är jag ny med hårdvara bygge, så jag behöver lite hjälp här.
Som det ser ut nu så lutar det åt att använda Teensy ( http://www.pjrc.com/teensy/index.html ). Sen så är frågan med resten. Någon här som kan ge mig tips hur vad för hårdvara jag borde köpa? Passiv Infraröd Sensor? Fotodiod? Direktlänk till elfa.se eller nått uppskattas. Jag vill ha ett enkelt sätt att kunna läsa in hastigheten på rullbandet. Antingen då genom att hårdvaran är snabb och relativt känslig och kan få ut skillnader på korta avstånd, eller i värsta fall, att jag får sätta dit vita remsor, som man kan använda för att mäta hastigheten...
Vidare var det tänkte att simulera/emulera en XBox 360 kontroll (närmare bestämt den vänstra analoga thumbstick). Dvs, ta input från vad nu passar bäst, köra igenom lite kod, och USB in i datorn! Spel tror det är en Xbox 360 kontrolls data som kommer in... Naturligtvis tar jag gärna emot andra tips för lösning här.
Tack,
Chillance
Re: Löparbands spelande
Absolut enklast är väl en cyckeldynamo mot bandet, likriktarbrygga och en konding som laddas ur via ett motstånd du får lista ut storleken på själv. Kanske en Zenerdiod som överspänningsskydd om du bjuder hem Usain Bolt..
Kul idé..
Kul idé..
Re: Löparbands spelande
Här finns lite exempel http://www.obdev.at/products/vusb/prjhid.html på HID-implementation gjord med en avr som emulerar USB i mjukvara. På det viset kan du emulera en analog joystick som dyker upp i windows som en spelenhet.
Re: Löparbands spelande
Jag hade nog tänkt försöka undvika en mekanisk lösning som det. Då håller det längre.zecretw skrev:Absolut enklast är väl en cyckeldynamo mot bandet, likriktarbrygga och en konding som laddas ur via ett motstånd du får lista ut storleken på själv. Kanske en Zenerdiod som överspänningsskydd om du bjuder hem Usain Bolt..
Kul idé..
Re: Löparbands spelande
Jag är lite osäker på att det kommer att funka i spelen dock... "Just Cause 2" tex har jag hört bara har stöd för tangentbord-mus eller en XBox 360 kontroll...Johanb skrev:Här finns lite exempel http://www.obdev.at/products/vusb/prjhid.html på HID-implementation gjord med en avr som emulerar USB i mjukvara. På det viset kan du emulera en analog joystick som dyker upp i windows som en spelenhet.
Re: Löparbands spelande
Emulera ett tangentord istället då 
HID inkluderar ju även mus och tangentbord, finns sådana exempel på sidan också.

HID inkluderar ju även mus och tangentbord, finns sådana exempel på sidan också.
Re: Löparbands spelande
Tangentbord = digitalt, och jag nämnde att jag redan har en sådan lösning.
Mus kolliderar med spelet. Och i vissa spel går det inte att ens stänga av musen... I de flesta spel så används ju musen för att styra åt vilket håll man tittar. Och spelen bryr sig inte om vilken mus det är. Har jag då två, så visst funkar det att gå, men hållet man tittar på ändras också av samma mus! Stänger jag av musen i Kontrollpanelen, funkar det alls inte för då får ju ingen museventen. Därav libUSB.. men som är meckigt att få att fungera...
Dessutom så med egen hårdvara så kan man göra det enkelt för att andra ska kunna göra samma sak. Annars måste alla mecka runt att få mjukvara att installeras och fungera på rätt sätt.
I en ideal värld, så har jag alltså en sensor som läser löparbandets hastighet. Lite kod i microkontrollern som tar sensorns data, och skickar det över USB in till datorn som om man rörde på den analoga styrstickan till vänster på en XBox 360 kontroll.
Mus kolliderar med spelet. Och i vissa spel går det inte att ens stänga av musen... I de flesta spel så används ju musen för att styra åt vilket håll man tittar. Och spelen bryr sig inte om vilken mus det är. Har jag då två, så visst funkar det att gå, men hållet man tittar på ändras också av samma mus! Stänger jag av musen i Kontrollpanelen, funkar det alls inte för då får ju ingen museventen. Därav libUSB.. men som är meckigt att få att fungera...
Dessutom så med egen hårdvara så kan man göra det enkelt för att andra ska kunna göra samma sak. Annars måste alla mecka runt att få mjukvara att installeras och fungera på rätt sätt.
I en ideal värld, så har jag alltså en sensor som läser löparbandets hastighet. Lite kod i microkontrollern som tar sensorns data, och skickar det över USB in till datorn som om man rörde på den analoga styrstickan till vänster på en XBox 360 kontroll.
Re: Löparbands spelande
Kolla upp vad som är speciellt med xbox360-kontrollen och om du kan lura spelet.
Re: Löparbands spelande
http://www.fragtheplanet.com/808/emulat ... ontroller/
Kanske fungerar i kombination med Johanb's förslag. Har inte provat emulatorn själv.
På rullbandet kan du säkert trycka dit en optisk enkoder som är kopplad till samma µC som emulerar joysticken.
Kanske fungerar i kombination med Johanb's förslag. Har inte provat emulatorn själv.
På rullbandet kan du säkert trycka dit en optisk enkoder som är kopplad till samma µC som emulerar joysticken.
Re: Löparbands spelande
Det är precis vad det lutar åt nu. Kolla den mer aktiva tråden här: http://forums.adafruit.com/viewtopic.ph ... 60&start=0
Med Teensy, en ADNS-2610 (eller liknande) och följa http://www.martijnthe.nl/2009/07/interf ... r-arduino/ Vidare så kan jag då med USB Raw HID säkert lösa problemet med att simulera/emulera en Dual Shock eller Sixaxis/PS3 kontroll i microkontrollern. Tycker jag hade blivit en enormt snygg lösning. Billigt oxå!
Förresten, någon här som vet var jag i Sverige kan köpa en motsvarande ADNS-2610? ADNS-2610 finns visst bara att köpa in från USA, med sådär 200 i frakt.
Med Teensy, en ADNS-2610 (eller liknande) och följa http://www.martijnthe.nl/2009/07/interf ... r-arduino/ Vidare så kan jag då med USB Raw HID säkert lösa problemet med att simulera/emulera en Dual Shock eller Sixaxis/PS3 kontroll i microkontrollern. Tycker jag hade blivit en enormt snygg lösning. Billigt oxå!
Förresten, någon här som vet var jag i Sverige kan köpa en motsvarande ADNS-2610? ADNS-2610 finns visst bara att köpa in från USA, med sådär 200 i frakt.