Obsah:

DIY MPU-6050 USB joystick: 5 krokov
DIY MPU-6050 USB joystick: 5 krokov

Video: DIY MPU-6050 USB joystick: 5 krokov

Video: DIY MPU-6050 USB joystick: 5 krokov
Video: DIY 2 axis joystick 2024, November
Anonim
DIY MPU-6050 USB joystick
DIY MPU-6050 USB joystick

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

Pripojenie MPU6050 a tlačidiel k doske Arduino Leonardo
Pripojenie MPU6050 a tlačidiel k doske Arduino Leonardo
Pripojenie MPU6050 a tlačidiel k doske Arduino Leonardo
Pripojenie MPU6050 a tlačidiel k doske Arduino Leonardo
Pripojenie MPU6050 a tlačidiel k doske Arduino Leonardo
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

Budovanie základne joysticku
Budovanie základne joysticku
Budovanie základne joysticku
Budovanie základne joysticku
Budovanie základne joysticku
Budovanie 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: