Sadržaj:
- Korak 1: Dodirnite Into Rotation Sensor
- Korak 2: Pripremite razvojnu ploču
- Korak 3: Pripremite Stm32duino u Arduino IDE -u
- Korak 4: Krug
- Korak 5: Instalirajte Sketch
- Korak 6: Povezivanje stroja za vježbanje
- Korak 7: Slučaj projekta
- Korak 8: Upotrijebite
Video: USB kontroler igre za vježbanje: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Kako bih potaknuo vježbanje u sebi i u obitelji, napravio sam adapter koji emulira standardni adapter za USB kontroler igre, ali kontrolira brzinu kretanja igre pedaliranjem na eliptičnom stroju ili sobnom biciklu. Posebno je lijep za trkaće igre. To zasigurno motivira nekoga na brzo okretanje pedala tijekom igranja trkaćih igara.
Glavni hardver je razvojna ploča STM32F103C8 "black pill" vrijedna 2 USD sa stm32duino Arduino jezgrom i USB HID knjižnicom koju sam razvio na temelju osnovne vilice libarra111. STM32F1 je brz i jeftin i ima USB podršku pune brzine, pa je savršen za projekt.
Za uporabu morate dodirnuti senzor rotacije na eliptičnom biciklu ili sobnom biciklu (ako vaš senzor rotacije radi drugačije od onih na našim strojevima-oko 3 V, aktivan nisko-možda ćete morati promijeniti krug i/ili kôd).
Eliptična brzina/brzina rotacije bicikla kontrolira klizač kontrolera. Osim toga, u adapter priključujete standardni Wii Nunchuck ili Gamecube kontroler za kretanje joystick -a, gumbe itd. Postoji mnogo različitih načina upravljanja. Na primjer, manjoj djeci će možda trebati malo povećati brzinu, a neke igre mogu koristiti drugačiju shemu upravljanja. U softveru postoji niz ugrađenih shema upravljanja, a druge se lako mogu dodati u kôd. Uređaj može oponašati USB kontroler za igre, tipkovnicu, miš, XBox 360 kontroler ili neku kombinaciju prva tri.
Smjer kretanja trenutno nije otkriven: za prebacivanje između kretanja naprijed i natrag, adapter ima prekidač. (Alternativno, može se upotrijebiti magnetski senzor s Hall-efektom poput ovog uređaja i promijeniti krug i softver.)
Adapter radi kao standardni USB kontroler, pa ga možete koristiti sa sustavima Windows, Linux, OS X, Android itd.
Kao bonus, adapter ima sve funkcije ovog projekta, radi kao punopravni Gamecube adapter, omogućujući vam upotrebu Gamecube kontrolera na računalu, uključujući i upravljanje igrama s plesnim prostirkama kompatibilnim s Gamecube/Wii Dance Dance Revolution.
Cijena je ispod 10 USD, plus kućište (imam dizajn za 3D ispis), žice i lemljenje. Dijelovi:
- Razvojna ploča "Black Pill" stm32f103c8 (2 USD na Aliexpressu)
- Gamecube utičnica (1,60 USD na Aliexpressu, za Gamecube produžni kabel koji se može odsjeći)
- Nunchuck utičnica za probijanje utičnice (0,51 USD na Aliexpressu; potražite Wiichuck)
- Mali prekidač u dva položaja (ispod 1 USD na Aliexpressu)
- Vaš izbor dvožičnih muških i ženskih konektora (oko 1 USD na Aliexpressu ako idete s priključcima za cijev snage 5,5 mm); potreban vam je jedan ženski konektor po spravi za vježbanje
- 2 taktilna prekidača (ispod 0,50 USD na Aliexpressu)
- 4 crvene LED diode (ispod 0,50 USD na Aliexpressu; mogli biste koristiti i mali Nokia LCD zaslon)
- kondenzatori: 10uF elektrolitički i opcionalno 100nF
- otpornici: 1 x 100K, 2 x 10K, 1 x 1K, 4 x 220ohm
- mala proto ploča (ispod 1 USD na Aliexpressu).
Nunchuck je dobar za korištenje jednom rukom s eliptičnim strojem. Na sobnom biciklu možete koristiti adapter za dvije ruke poput Gamecube. Ako želite koristiti samo jednu od ove dvije mogućnosti upravljanja, možete koristiti manje veza.
Također vam je potrebno računalo, lemilica i multimetar. Trebat će vam i UART-to-USB most (koristio sam Arduino Mega koji sam imao za drugi projekt; ili možete kupiti modul CP2102 na Aliexpressu za dolar) da biste instalirali bootloader na svoju crnu pilulu kako biste ga koristili sa Arduino okruženje, inače možete potrošiti još par dolara i nabaviti RobotDynovu razvojnu ploču s unaprijed učitanim Arduino pokretačkim programom.
Dopustite mi da dodam da ovo prijavljujem na natjecanje Wheels jer je to način povezivanja virtualnih kotača u automobilskim trkaćim igrama na računalu s fizičkim kotačima sobnih bicikala i eliptika.
Korak 1: Dodirnite Into Rotation Sensor
Obje sprave za vježbanje koje sam hakirao imaju konzolu koja prikazuje brzinu. Između konzole i kućišta stroja prolaze žice. Morate dodirnuti ove žice za pristup podacima. Ako su vaši strojevi poput mojih, konzolu možete ukloniti i tamo ćete pronaći ili vrpčani kabel (eliptični) ili dvije žice (bicikl). To sam iskoristio tako što sam odvojio žice i premostio ih pojedinačnim muško-ženskim skakačima u koje sam mogao ući.
Pomoću pokušaja i pogreške i multimetra identificirajte par žica između kojih ima impuls napona tijekom potpune rotacije.
U osnovi, bušilica je sljedeća: spojite multimetar na par žica (pazeći da ništa ne kratite) dok stroj radi, i vrlo sporo rotirajte pedale. U oba naša stroja postoji par žica između kojih je obično napon oko +3V, ali tijekom kratkog dijela rotacije pada na tlo: ovo je shema aktivno-nisko. Možda ćete otkriti da vaš stroj ima aktivnu-visoku shemu gdje je većina rotacije brušena, a puls pozitivan, a zatim ćete morati urediti Arduino skicu.
Ako mislite da postoji šansa da je bilo koja od žica u konzoli s kojom imate posla mrežni napon, preporučujem da prestanete osim ako doista ne znate što radite. Srećom, naš bicikl za vježbanje se napaja baterijom, a naši eliptični utikači u zidnu bradavicu pa se oko konzole nalazi samo oko 12 V DC.
U slučaju sobnog bicikla bilo je doista lako. Postojale su samo četiri žice. Dva su bila za monitor otkucaja srca, a dva za senzor rotacije.
Eliptični je imao puno više žica, pa je bilo više posla. Metoda grube sile je sljedeća. Priključite multimetar na par žica. Polako okrećite pedale do kraja (ili malo više za svaki slučaj) i provjerite postoji li pad ili skok napona. Ako da, imate ga. Ako ne, ponovite za drugi par. To je mnogo pokušaja i pogrešaka: za 13 žica to je 78 rotacija.
Evo trika koji bi vam mogao pomoći da ubrzate potragu za odgovarajućim parom žica. Možete se nadati da vaš stroj, poput mog, ima napon detektora normalno visok s niskim pulsom. Ako je tako, onda ako ostavite pedale na slučajnom mjestu, imate dobre šanse da dvije žice detektora imaju oko +3V ili +5V između njih. Zato testirajte samo rotaciju papučice za one parove žica koje imaju +3V ili +5V između njih.
Još jedan trik. Možda ćete moći identificirati gdje se u rotaciji papučice aktivira osjetnik rotacije. Na primjer, vaš bi stroj tada mogao zasvijetliti na ekranu, ili ažurirati prikaz brzine, aktivirati se iz načina mirovanja ili se oglasiti zvučnim signalom. Ako je tako, tada pomaknite pedale za otprilike 1/3 rotacije, a zatim potražite parove žica koje imaju 3-5V između njih, te ih testirajte pomicanjem pedala u položaj gdje se senzor aktivira.
Ako možete identificirati žicu za uzemljenje, možete znatno ubrzati proces, jer tada morate ići samo između mase i svake nepoznate žice. Čudno, međutim, na našoj eliptičnoj strani uzemljenje napajanja nije izgledalo isto kao i tlo detektora rotacije.
Nakon što identificirate žice, zabilježite ih. Obavezno zabilježite:
- razina visokog napona: ako je više od oko 3,3 V, ali ne više od 5 V, htjet ćete promijeniti krug tako da koristi pin A9 umjesto A7 za otkrivanje rotacije jer je pin A9 tolerancija 5 V, a A7 nije, i uredite jedan red u mojoj skici; ako je više od 5V, morat ćete dodati razdjelnik napona
- je li puls za otkrivanje rotacije nizak ili visok: ako je puls visok, morat ćete urediti redak u mojoj Arduino skici.
Ako imate osciloskop, a stroj za vježbanje se napaja iz baterije, možete koristiti i osciloskop umjesto multimetra. (Ako je stroj za vježbanje priključen na izmjeničnu struju, a vaš osciloskop također, morate znati o petljama uzemljenja i kako ih izbjeći. Budite oprezni!)
Korak 2: Pripremite razvojnu ploču
Lemite šest središnjih klina za spajanje na svoju crnu pilulu.
Ako imate RobotDyn ploču s Arduino pokretačkim programom, spojite B0- i B1- na središnje pinove i gotovi ste s korakom.
Inače, sada morate instalirati pokretački program. Trebat će vam ili samostalni UART na USB most ili u tu svrhu možete koristiti Arduino Uno ili Mega. Iako crna pilula radi na 3.3V, UART pinovi su tolerantni na 5V, stoga ne brinite o tome radi li vaš konektor na 3.3V ili 5V.
Ako imate Uno ili Mega, spojite kabel između RESET i GROUND. Ovo pretvara Arduino u namjenski UART -USB most, samo što su TX/RX pinovi obrnuti od uobičajenog na konektoru.
Preuzmite binarni program za podizanje sustava. Želite generic_boot20_pb12.bin. U sustavu Windows instalirajte ST -ov Flash Loader Demonstrator. Na Linuxu (a možda i OS X, pa čak i Windowsu ako više volite alate za naredbeni redak), umjesto toga upotrijebite ovu python skriptu, ali moje upute bit će za Windows.
Uspostavite sljedeće veze:
- PA9 na UART most RX ("TX" ako koristite Arduino trik)
- PA10 na UART most TX ("RX" ako koristite Arduino trik)
- G do UART uzemljenja mosta
Volim koristiti savjete za logičke sonde za povezivanje na strani STM32, ali možete i samo lemiti neke žice koje kasnije možete odrezati (ili odlemiti lem ako želite biti uredni).
Povežite svoj UART most s računalom. Uključite Black Pill putem USB priključka (najbolje je ako ga priključite na punjač, a ne na računalo jer će se računalo vjerojatno žaliti na neprepoznati USB uređaj). Pokrenite Flash Loader Demonstrator. Odaberite COM port za svoj UART most. Odaberite "Ukloni zaštitu" ako je dostupno. Odaberite flash verziju od 64 KB umjesto 128 KB. I učitajte binarni bootloader.
Isključite sve, a zatim pomaknite kratkospojnik iz B0+/središta u B0-/središte. Sada imate bootloader koji možete koristiti s Arduino IDE -om.
Korak 3: Pripremite Stm32duino u Arduino IDE -u
Pretpostavljam da imate instaliran najnoviji Arduino IDE.
U alatu | Ploče | Boards Manager, instalirajte podršku za Arduino Zero (samo stavite Zero u pretraživanje, kliknite na pronađeni unos, a zatim instalirajte). Da, ne radite s Nultom, ali ovo će instalirati pravi gcc prevoditelj.
Zatim preuzmite jezgru stm32duino. U sustavu Windows preporučujem preuzimanje zip datoteke, budući da sam prilikom provjere datoteka (doduše, sa svn) imao nekih problema s dozvolama za datoteke u direktoriju alata Windows koje je trebalo popraviti. Postavite podružnicu u Arduino/Hardver/Arduino_STM32 (tako ćete imati mape poput Arduino/Hardver/Arduino_STM32/STM32F1 itd.) U sustavu Windows instalirajte upravljačke programe pokretanjem driver / win / install_drivers.bat.
Instaliraj moju USBHID biblioteku: Idite na Sketch | Uključi knjižnicu | Upravljajte knjižnicama i tražite USBHID. Kliknite na nju i kliknite na Instaliraj.
Instaliraj moju biblioteku GameControllersSTM32: Idite na Sketch | Uključi knjižnicu | Upravljajte knjižnicama i tražite GameControllers. Kliknite na nju i kliknite na Instaliraj.
Korak 4: Krug
Moje postavljanje koristi četiri LED diode za binarni prikaz trenutnog načina emulacije (da, mogao bi se koristiti LCD zaslon, ali ja sam imao LED diode koje su ležale uokolo kad sam ovo napravio), dva gumba za prebacivanje načina gore i dolje (i neke druge trikovi) i prekidač za promjenu smjera kretanja.
Dodatno, postoji I2C ulaz iz Nunchucka i priključak za Gamecube kontroler. Ako želite podržati samo jedno od ovo dvoje, možete samo urediti gamecube.h u skici i spremiti si malo lemljenja.
Koristio sam mali dio protobora za ugradnju četiri LED diode za način rada i dvije tipke za promjenu načina rada (gore i dolje), kao i jedan pull-up otpornik za podatke Gamecube. Izveo sam 3.3V na protoboard, ali nisam trebao iznijeti uzemljenje, iako možete ako želite. Koristio sam još jedan mali dio ploče za montiranje Nunchuck konektora.
Odrežite Gamecube kabel. Želite raditi sa stranom utičnice, onom u koju će se uključiti vaš kontroler. Strip kabeli za spajanje.
Sada napravite ove veze prema shemi kola:
- 10uF kondenzator između 3,3 V i mase (sa minus stranom bilo koje elektrolitike na tlu). Ovo bi trebalo biti što je moguće bliže čipu, pa sam ga lemio izravno na razvojnu ploču, a ne na proto ploču. Za dobru mjeru, možete dodati 100nF kao i ja, ali nisam siguran da je to potrebno.
- Gamecube utičnica #2 - A6 na stm32 ploči
- Otpornik od 1Kohm između Gamecube utičnice #2 i 3.3V na stm32 ploči (ili na protoboru)
- Gamecube utičnice #3 i #4 - uzemljene na stm32 ploči
- Gamecube utičnica #6 - 3,3 V na stm32 ploči (ili na matičnoj ploči)
- LED u seriji s otpornikom od 220 ohma (ili većim) između A0 na ploči stm32 i 3,3 V (negativni kraj (ravno) do PA0; pozitivni kraj do 3,3 V)
- Ponovite sa LED+otpornikom između A1 i 3.3V, A2 i 3.3V te A3 i 3.3V
- Trenutni prekidač između A5 na ploči stm32 (način povećanja) i 3,3 V i drugi između A4 i 3,3 V (način smanjenja); ovaj prekidač povećava broj načina rada
- Prebacivanje između A8 i 3.3V
- stroj za vježbanje tlo - stm32 tlo
- pozitivan signal vježbačice - stm32 ploča A7 (imajte na umu da je A7 dobar samo za 3,3 V; ako je vaš stroj za vježbanje 5 V, upotrijebite A9 i uredite gamecube.h)
- Nunchuck uzemljenje (označeno - na mojoj adapterskoj ploči) - stm32 uzemljenje
- Nuchuck +3,3 V (označeno s +) - stm32 3,3 V.
- Nunchuck SDA (s oznakom D) - stm32 B7
- Nunchuck SCL (oznaka C) - stm32 B6
- 10Kohm otpornik između Nunchuck SDA i 3.3V na stm32 ploči
- 10Kohm otpornik između Nunchuck SCL i 3.3V na ploči stm32.
Korak 5: Instalirajte Sketch
Preuzmite moju skicu USB adaptera Gamecube i učitajte je u Arduino IDE. U gamecubecontroller.h možete kontrolirati neke opcije:
- ukloniti // ispred #define ENABLE_EXERCISE_MACHINE (ovo moraju učiniti svi)
- ako ste morali premjestiti vezu vježbača na A9, promijenite PA7 u PA9 u const uint32_t rotacijiDetektor = PA7 redak
- ako je puls otkrivanja rotacije vaše vježbačice visok, promijenite #define ROTATION_DETECTOR_CHANGE_TO_MONITOR FALLING u #define ROTATION_DETECTOR_CHANGE_TO_MONITOR RISING
- ako ne želite koristiti Nunchuck, stavite // ispred #define ENABLE_NUNCHUCK
- ako ne želite koristiti Gamecube kontroler, stavite // ispred #define ENABLE_GAMECUBE.
U Arduino IDE -u odaberite Tools | Ploča | Generička serija STM32F103C.
Pritisnite gumb za prijenos strelice udesno. Imajte na umu da ćete možda morati pritisnuti gumb za poništavanje (ili isključiti/uključiti) ploču u pravo vrijeme ako dobijete poruku da ploča nije prepoznata.
Korak 6: Povezivanje stroja za vježbanje
Spojite utičnicu za povezivanje vašeg stroja za vježbanje. Na našem eliptičnom stroju zalemio sam ga, dok sam na sobnom biciklu mogao koristiti muške i ženske dupont konektore. Na elipsi sam napravio rupu na bočnoj strani konzole kako bi odgovarao priključku. Na spravi za vježbanje samo mi vire žice, a izvana malo 3D ispisane kutije (datoteka OpenSCAD).
Korak 7: Slučaj projekta
Projekt se može zatvoriti u malu kartonsku kutiju, spremnik za tupperware ili prilagođeno 3D tiskano kućište. Budući da imam 3D pisač, odlučio sam se za prilagođeno kućište. Ovdje su datoteke OpenSCAD i STL.
Noge su dizajnirane za lijepljenje (super ljepilo djeluje) na dno i zalijepljene ljepljive gumene noge.
Također sam vruće zalijepio neki zatvarač s kukom i petlju na kućište projekta i na sprave za vježbanje.
Korak 8: Upotrijebite
Dva gumba mogu se prebacivati između 16 različitih načina emulacije (zapravo možete imati više, ali u projektu postoje samo četiri LED diode za prikaz broja načina rada). Načini emulacije definirani su u gamecubecontroller.h u skici. Za većinu igara možete koristiti način rada 1, jedinstvenu kliznu navigacijsku tipku 100% brzine. Oponašana navigacijska tipka ima klizač (zapravo dva klizača, ali oba rade istu stvar) kojim se upravlja rotacijom stroja za vježbanje. Gumbi i sam joystick kontroliraju Gamecube kontroler ili Nunchuck. U sustavu Windows neke igre podržavaju XBox 360 kontroler, ali ne i USB joystick. Za njih upotrijebite način rada 13 (pritisnite gumb za dolje iz načina 1).
Načini 9 i 10 omogućuju vam da sporije vrtite pedale i još uvijek imate potpunu depresiju klizača, što je lijepo za djecu ili za sprave za vježbanje postavljene na veći otpor. Brzine možete prilagoditi i u spravi za vježbanje.ino.
Postoje mnogi drugi načini emulacije. Referenca za ispis uključena je u modelist.pdf sa skicom.
Kada pedalirate na spravi za vježbanje, LED diode na projektu prelaze s prikaza broja trenutnog načina rada na brzinu. Kad su sva četiri svjetla upaljena, vaša je brzina najveća (emulirani klizač ima maksimalno proširenje)-u tom trenutku nećete imati prednosti u igri ako idete brže. Dodatno, plava LED dioda na ploči STM32F1 svijetli kada sve radi, ali treperi kada se senzor okretanja aktivira.
Da biste preokrenuli kretanje, okrenite prekidač za smjer na adapterskoj kutiji.
U sustavu Windows pokrenite joy.cpl da biste kalibrirali i vidjeli kako stvari funkcioniraju. Budući da je neugodno morati jako brzo okretati pedale za kalibraciju oponašane upravljačke palice, postoji način varanja za kalibraciju. Na Gamecube kontroleru, ako ostanete mirni oko 10 sekundi, možete početi koristiti gumbe na ramenima za upravljanje oponašanim klizačima upravljačke palice. S Nunchuckom, dok držite gumb načina rada-minus, umjesto toga možete koristiti navigacijsku tipku gore/dolje za kontrolu emuliranih klizača.
Ako želite GUI za prebacivanje načina emulacije, u sustavu Windows skica uključuje mode.py, python skriptu s GUI -om za promjenu načina rada. Također možete pozvati mode.py u paketnoj datoteci koja pokreće igru.
Dvije igre za koje sam otkrio da jako dobro funkcioniraju sa spravom za vježbanje su Toybox Turbos i SuperTuxCart (besplatno).
Adapter također uključuje mnoge druge značajke emulacije. Na primjer, možete ga koristiti kao jednostavan adapter Nunchuck ili Gamecube kontrolera, oponašajući joystick, tipkovnicu (npr. Strelice/WASD) i/ili miša. U gamecubecontroller.h je puno načina prikazanih. Također možete priključiti Dance Dance Revolution Gamecube/Wii-kompatibilnu podlogu i koristiti je za igranje igara koje za nju nisu namijenjene, poput Tetrisa, za dodatnu zabavu i tjelovježbu.
Preporučeni:
(AŽURIRAJ - IMA TAMO BROJ) USB KONTROLER IGRE ZA P.C: 10 koraka (sa slikama)
(AŽURIRAJ - IMA TAMO BROJ) USB IGRAČKI UPRAVLJAČ ZA P.C: UPRAVLJAČ ZA IGRE ZA BILO KOJU IGRU (SKORO)
Arduino kontroler za igre DIY - Arduino PS2 kontroler igre - Igranje Tekkena s DIY Arduino gamepadom: 7 koraka
Arduino kontroler za igre DIY | Arduino PS2 kontroler igre | Igranje Tekkena s DIY Arduino gamepad -om: Zdravo dečki, igranje igara uvijek je zabavno, ali igranje sa vlastitim DIY prilagođenim kontrolorom igara je zabavnije. Zato ćemo u ovim uputama napraviti kontroler igre pomoću arduino pro micro
Uređaj za vježbanje ovjesa lanaca za vježbanje poluge tijela: 3 koraka
Uređaj za vježbanje ovjesa lanaca za vježbanje poluge tijela: Lanci su jednostavna, jeftina i prijenosna teretana za cijelo tijelo. Ažuriranje: Pogledajte Lashing Strap TRX Clone Instructable za lakšu, jeftiniju alternativu. Uvod: Što su vježbe suspenzije (tjelesne poluge)? Vježbe vješanja
Uradi sam kontroler za paraglajding igre: 5 koraka (sa slikama)
DIY kontroler za paraglajding igre: Igrao sam nekoliko različitih igara paraglajdingom i uvijek sam našao problem koje kontrole koristite. Miš i tipkovnica nisu sjajni jer je letenje paraglajderom vrlo analogno. To je nekako slično simulatoru leta ili igri trkaćih automobila, trebate radosti
SmartPhone Simulator igre- Igrajte Windows igre koristeći IMU za kontrolu pokreta, akcelerometar, žiroskop, magnetometar: 5 koraka
SmartPhone Game Simulator- Igrajte Windows igre koristeći IMU za upravljanje pokretima, akcelerometar, žiroskop, magnetometar: Podržite ovaj projekt: https://www.paypal.me/vslcreations doniranjem kodovima otvorenog koda & podrška daljnjem razvoju