Obsah:
- Krok 1: Pripojenie MPU6050 a tlačidiel k doske Arduino Leonardo
- Krok 2: Vybudovanie základne joysticku
- Krok 3: Nastavte Arduino IDE
- Krok 4: Program Arduino
- Krok 5: Testovanie joysticku
Video: DIY MPU-6050 USB joystick: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Vďaka aplikácii Microsoft Flight Simulator 2020 som si rýchlo uvedomil, aké ťažké je použiť klávesnicu na uskutočnenie plánu. Pri online vyhľadávaní som nenašiel joystick za rozumnú cenu, ktorý by som si mohol kúpiť. Väčšina online maloobchodníkov ich mala vypredané. Popularita MS Flight Simulator a pandémie COVID 19 vymazala všetky existujúce zásoby joysticku. Moja jediná možnosť bola postaviť si ju sám.
Väčšina joystickov tam používa potenciometre na základni na určenie uhlov joysticku a odosielanie informácií o osi x a y späť do počítača. Funguje to dobre, ale komplikuje to stavbu joysticku. a časom. potenciometre sa môžu opotrebovať. Namiesto použitia potenciometrov som sa rozhodol ísť s doskou senzora akcelerometra/gyroskopu na odoslanie informácií do počítača o uhloch páčky.
S popularitou rôznych mikroprocesorov Arduino a rôznych senzorov sa náklady na výstavbu projektu Arduino stávajú oveľa dostupnejšími. Jednou z bežne používaných dosiek snímačov akcelerometra/gyroskopu je MPU-6050. V Kanade stojí v Amazone okolo 7 dolárov CAN. Ten svoj som dostal z eBay z Číny oveľa lacnejšie, ale dodacia lehota bola asi 3 mesiace alebo dlhšie.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Akákoľvek doska Arduino by fungovala, ale používanie dosky založenej na ATmega32u4 bude oveľa jednoduchšie, pretože ATmega32u4 má natívnu podporu HID (Human Interface Device). Akonáhle je doska naprogramovaná, môžete ju použiť na akomkoľvek počítači so systémom Windows 10 a nie je potrebný žiadny ďalší softvér. Windows 10 ho automaticky rozpozná ako joystick, keď je zapojené USB. (Použitie iného typu dosky Arduino je pre tento jednoduchý projekt zostavenia príliš komplikované).
Vyberám dosku Arduino Leonardo. 17 dolárov CAN od Amazonu.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Tieto 2 zariadenia sú hlavnými požiadavkami tohto projektu. Potrebné sú aj ďalšie menšie položky, ako sú elektroinštalácie a tlačidlá. V tomto projekte som pre jednoduchosť použil iba 2 tlačidlá.
Rukoväť joysticku je vyrobená zo šrotu vodnej fajky z PVC. To môže byť ľahko nahradené akoukoľvek krátkou tuhou rúrkou.
Základom joysticku je pružinová zarážka dverí upevnená na kúsku dreva.
Pružinová zarážka dverí je k dispozícii v Home Depot za 2,83 USD.
www.homedepot.ca/product/everbilt-spring-d…
Krok 1: Pripojenie MPU6050 a tlačidiel k doske Arduino Leonardo
Na MPU 6050 sa používajú iba 4 pripojenia. Sú označené VCC, GND, SCL a SDA.
Pripojte VCC k 5v alebo 3,3v na Arduino Leonardo. (MPU 6050 môže používať buď 5v alebo 3,3v. Na tom nezáleží)
Pripojte GND k akémukoľvek GND na Arduino Leonardo.
Pripojte SCL k SCL na Arduino Leonardo.
Pripojte SDA k SDA na Arduino Leonardo.
Na tento demonštračný účel používam iba 2 tlačidlá.
Prvé tlačidlo sa používa na resetovanie stredu joysticku. V tomto prípade je jeden koniec tlačidla spojený s GND a jeden koniec s PIN 13.
Druhé tlačidlo sa používa ako tlačidlo joysticku. V tomto prípade je pripojený k PIN 9 a GND.
Podľa potreby môžete do svojho projektu pridať ďalšie tlačidlá.
Krok 2: Vybudovanie základne joysticku
Nájdite kus dreveného bloku. Čím ťažšie, tým lepšie. Vďaka tomu bude základňa joysticku stabilnejšia.
Zaskrutkujte pružinovú zarážku dverí do stredu dreveného bloku, ako je znázornené na obrázku.
Ako držadlo joysticku použite kúsok krátkej rúrky. Použil som škrabku z PVC rúrky. Navlečte drôt tak, aby senzor akcelerometra/gyroskopu sedel na vrchu potrubia.
Potom položte potrubie na pružinovú zarážku dverí. Na prilepenie senzora na vrch som použil elektrickú pásku.
Krok 3: Nastavte Arduino IDE
Stiahnite si a nainštalujte Arduino IDE.
Na tento projekt som použil Arduino 1.8.13. Na tento projekt je možné použiť aj Arduino Web Editor.
Používajú sa 2 knižnice.
1. MPU6050_tockn od tockn
github.com/Tockn/MPU6050_tockn
alebo ho nájdete v ponuke „Spravovať knižnicu“.
2. Knižnica joysticku od Matthewa Heironima
github.com/MHeironimus/ArduinoJoystickLibr…
Tento je v súčasnosti k dispozícii iba z webových stránok GitHub.
Kliknite na položku Stiahnuť kód a Stiahnuť ZIP. Extrahujte súbor ZIP do adresára knižníc Arduino.
V mojom prípade je to E: / PinChung / Documents / Arduino / libraries
Krok 4: Program Arduino
Vložte Pin_Joystick.ino do Arduino IDE a skompilovajte a nahrajte na dosku Leonardo.
Uistite sa, že je vybratá doska Arduino Leonardo a číslo portu je zvolené vpravo COM: v ponuke Nástroje.
Všimol som si nejaký čas, program nebolo možné nahrať, pretože kód chyby portu COM nie je k dispozícii. Pomôcť môže niekoľko stlačení resetovacieho tlačidla na doske Leonardo počas zostavovania. Reštartovanie systému Windows 10 môže tiež pomôcť uvoľniť port COM.
Akonáhle je program nahraný na dosku Leonardo, Windows 10 by mal automaticky detekovať Leonardo Joystick. Do vyhľadávacieho panela Windows 10 napíšte Game Controllers, spustite Set up USB Game Controllers.
vyberte Leonardo Joystick a kliknite na položku Vlastnosti. Pohyb joysticku a tlačidlo joysticku č. 1 by mal zachytiť Windows 10.
Ak nie je joystick v strede, keď ho pustíte, kliknite na stredné tlačidlo resetovania joysticku, ktoré sme práve vytvorili. Herné ovládače USB by mali v strede zobrazovať bodku joysticku. V programe USB Game Controller nie je potrebné kalibrovať joystick.
Bočná poznámka: Pre tých, ktorí nepoznajú Arduino Leonardo, keď je zariadenie nakonfigurované ako joystick, myš alebo klávesnica, sériový port nebude fungovať. Takže „Serial.print ()“nebude fungovať. MPU6050 tiež používa drôtovú knižnicu i2c a používa piny SDA a SLC. Na Leonardo, SDA a SCL zaberajú PIN 2 aj PIN 3, takže tieto 2 piny nepoužívajte na nič iné.
Krok 5: Testovanie joysticku
Testoval som to na Microsoft Flight Simulator 2020 a funguje to veľmi dobre. Niekedy musím stlačiť stredové tlačidlo, aby sa joystick vynuloval. Hodnota snímača MPU6050 sa môže v priebehu času trochu posunúť.
Existuje veľa príležitostí vynaložiť na projekt, napríklad pridanie ďalších tlačidiel a pridanie ovládačov plynu. Našťastie to inšpiruje ostatných drotárov k objavovaniu nových spôsobov výroby vecí.
Odporúča:
NULOVÉ ZPOŽDENIE USB JOYSTICK - AUTOMATICKÁ ANALÓGOVÁ ÚPRAVA: 5 krokov
NULOVÉ ZPOŽDENIE USB JOYSTICK - AUTOMATICKÁ ANALÓGOVÁ ÚPRAVA: Toto je ďalší projekt k skutočnej analógovej modifikácii joysticku Zero Delay USB Encoder. Pred pridaním tohto zariadenia musíte úspešne modifikovať, testovať a kalibrovať kodér v predchádzajúcom projekte. Po dokončení a práci
Modul RC Tx ako USB joystick: 6 krokov
Modul RC Tx ako joystick USB: Tento návod je o vytvorení modulu vysielača, ktorý funguje so štandardnými vysielačmi RC a funguje ako joystick USB. Modul používa dosku Digispark dev, ktorá funguje ako USB HID. Interpretuje signál PPM, ktorý vysielač vysiela a prevádza
Joystick USB s Hallovým efektom: 7 krokov (s obrázkami)
Joystick USB s efektom Hall Effect: Tento návod ukazuje, ako používať priemyselný joystick s efektom Hall Effect na výrobu vysoko presného USB joysticku. Existujú aj ďalšie súvisiace inštrukcie Tiny USB Joystick, ktoré môžu poskytnúť lacné riešenie; >
Malý USB joystick: 5 krokov (s obrázkami)
Malý USB joystick: Tento prenosný počítač ukazuje, ako vytvoriť veľmi jednoduchý malý joystick s rozhraním USB. Tento návod na použitie sa týka joysticku USB s efektom Hall Effect, ktorý poskytuje lacné riešenie
Premeňte starý joystick na herný port na USB kľúč s Arduino: 5 krokov
Premeňte starý joystick herného portu na USB flash disk s Arduino: Rýchle vylúčenie zodpovednosti: Cieľom tohto projektu nie je urobiť lacnú konverziu joysticku herného portu. Cieľom tohto projektu je vytvoriť všestranný a prispôsobiteľný joystick, ktorý by bolo možné ľahko modifikovať. dôvod, prečo som si vybral Arduino, bol