Tartalomjegyzék:

DIY MPU-6050 USB joystick: 5 lépés
DIY MPU-6050 USB joystick: 5 lépés

Videó: DIY MPU-6050 USB joystick: 5 lépés

Videó: DIY MPU-6050 USB joystick: 5 lépés
Videó: Урок 96: Датчик атмосферного давления, температуры, приблизительной высоты BMP390 с ЖК-дисплеем 2024, November
Anonim
DIY MPU-6050 USB joystick
DIY MPU-6050 USB joystick

A Microsoft Flight Simulator 2020 segítségével gyorsan rájöttem, hogy milyen nehéz a billentyűzet használata terv tervezéséhez. Az interneten keresve nem találtam elfogadható árú joystickot. A legtöbb online kiskereskedő elfogyott. Az MS Flight Simulator és a COVID 19 világjárvány népszerűsége elpusztította az összes joystick készletet. Az egyetlen lehetőség az volt, hogy magam építek egyet.

A joystickok többsége az alján lévő potenciométerekkel határozza meg a joystick szögeit, és küldje vissza az x és y tengely adatait a számítógépnek. Ez jól működik, de bonyolítja a joystick felépítését. és idővel. a potenciométerek elhasználódhatnak. A potenciométerek használata helyett úgy döntöttem, hogy gyorsulásmérő/giroszkóp érzékelő kártyával megyek, és információt küldök a számítógépnek a bot szögeiről.

A különböző Arduino mikroprocesszorok és különböző érzékelők népszerűségének köszönhetően az Arduino projekt felépítésének költségei sokkal megfizethetőbbé válnak. Az egyik leggyakrabban használt gyorsulásmérő/giroszkóp érzékelő kártya az MPU-6050. Kanadában körülbelül 7 dollárba kerül az Amazonban. Az enyémet az eBay -ről kaptam, Kínából sokkal olcsóbban, de a szállítási idő 3 hónap vagy hosszabb volt.

www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…

Bármelyik Arduino kártya működne, de az ATmega32u4 alapú kártya használata sokkal egyszerűbb lesz, mert az ATmega32u4 natív HID (Human Interface Device) támogatással rendelkezik. Miután a tábla be van programozva, bármely Windows 10 számítógépen használható, és nincs szükség további szoftverre. A Windows 10 automatikusan felismeri azt joystickként, amikor az USB csatlakoztatva van. (Más típusú Arduino kártya használata túl bonyolult ehhez az egyszerű felépítési projekthez).

Az Arduino Leonardo táblát választom. 17 USD CAN az Amazon -tól.

www.amazon.ca/KEYESTUDIO-Leonardo-Developm…

Ez a 2 eszköz jelenti a projekt fő követelményeit. Szükség van más kisebb tárgyakra is, mint a vezetékek és nyomógombok. Ebben a projektben az egyszerűség kedvéért csak 2 nyomógombot használtam.

A joystick fogantyú törmelék PVC vízcsőből készül. Ez könnyen helyettesíthető bármilyen rövid merev csővel.

A joystick alapja egy fadarabra rögzített rugós ajtóütköző.

A rugós ajtóütköző a Home Depotban kapható 2,83 dollárért.

www.homedepot.ca/product/everbilt-spring-d…

1. lépés: Az MPU6050 és nyomógombok csatlakoztatása az Arduino Leonardo Boardhoz

Az MPU6050 és nyomógombok csatlakoztatása az Arduino Leonardo táblához
Az MPU6050 és nyomógombok csatlakoztatása az Arduino Leonardo táblához
Az MPU6050 és nyomógombok csatlakoztatása az Arduino Leonardo táblához
Az MPU6050 és nyomógombok csatlakoztatása az Arduino Leonardo táblához
Az MPU6050 és nyomógombok csatlakoztatása az Arduino Leonardo táblához
Az MPU6050 és nyomógombok csatlakoztatása az Arduino Leonardo táblához

Az MPU 6050 -en csak 4 csatlakozás használható. VCC, GND, SCL és SDA felirattal vannak ellátva.

Csatlakoztassa a VCC -t 5 vagy 3,3 V -ra az Arduino Leonardo készüléken. (Az MPU 6050 5 vagy 3,3 V -ot is használhat. Nem számít)

Csatlakoztassa a GND -t az Arduino Leonardo bármely GND -jéhez.

Csatlakoztassa az SCL -t az Arduino Leonardo SCL -hez.

Csatlakoztassa az SDA -t az Arduino Leonardo SDA -hoz.

Csak 2 nyomógombot használok erre a bemutató célra.

Az első nyomógomb a joystick középpontjának visszaállítására szolgál. Ebben a példában a nyomógomb egyik vége a GND -hez, a másik pedig a 13 -as PIN -hez van csatlakoztatva.

A második nyomógombot joystick gombként használják. Ebben a példában a PIN 9 -hez és a GND -hez van csatlakoztatva.

Szükség esetén további gombokat is hozzáadhat a projekthez.

2. lépés: A joystick alap építése

A joystick bázis építése
A joystick bázis építése
A joystick bázis építése
A joystick bázis építése
A joystick bázis építése
A joystick bázis építése

Keressen egy darab fatuskót. Minél nehezebb, annál jobb. Stabilabbá teszi a joystick alapját.

Csavarja fel a rugós ajtó ütközőjét a fatuskó közepére a képen látható módon.

A joystick fogantyújaként használjon egy rövid csövet. Kaparós PVC csövet használtam. Tapassza a vezetéket úgy, hogy a gyorsulásmérő/giroszkóp érzékelő a cső tetején üljön.

Ezután tegye a csövet a rugós ajtó ütközőjére. Elektromos szalaggal rögzítettem a szenzort a tetején.

3. lépés: Az Arduino IDE beállítása

Töltse le és telepítse az Arduino IDE -t.https://www.arduino.cc/en/Main/Software

Ehhez a projekthez az Arduino 1.8.13 -at használtam. Az Arduino Web Editor használható erre a projektre is.

2 könyvtárat használnak.

1. MPU6050_tockn by tockn

github.com/Tockn/MPU6050_tockn

vagy megtalálhatja a "Könyvtár kezelése" menüben.

2. Joystick könyvtár, Matthew Heironimus

github.com/MHeironimus/ArduinoJoystickLibr…

Ez jelenleg csak a GitHub webhelyéről érhető el.

Kattintson a Kód letöltése és a ZIP letöltése lehetőségre. Bontsa ki a ZIP fájlt az Arduino könyvtárak könyvtárába.

Esetemben ez az E: / PinChung / Documents / Arduino / libraries

4. lépés: Arduino program

Töltse be a Pin_Joystick.ino fájlt az Arduino IDE -be, majd fordítsa le és töltse fel a Leonardo táblára.

Győződjön meg arról, hogy az Arduino Leonardo kártya ki van választva, és a port száma a jobb COM: az Eszközök menüben van kiválasztva.

Észrevettem, hogy a program nem tölthető fel a COM port nem elérhető hibakódjával. Segíthet, ha lefordítás közben párszor megnyomja a Leonardo táblán a reset gombot. A Windows 10 újraindítása szintén segíthet a COM -port felszabadításában.

A program feltöltése után a Leonardo táblára a Windows 10 automatikusan felismeri a Leonardo Joystickot. A Windows 10 keresősávjában írja be a Game Controllers parancsot, majd futtassa az USB Game Controllers beállítása lehetőséget.

válassza a Leonardo Joystick lehetőséget, majd kattintson a Tulajdonságok elemre. A joystick mozgását és a joystick #1 gombot a Windows 10 -nek kell felvennie.

Ha a joystick nincs középen, akkor amikor elengedi, kattintson a joystick középső visszaállítása gombra. Az USB játékvezérlőknek a joystick pontot kell látniuk középen. Nincs szükség a joystick kalibrálására az USB Game Controller programban.

Oldalsó megjegyzés: Azok számára, akik nem ismerik az Arduino Leonardót, ha a készülék joystickként, egérként vagy billentyűzetként van konfigurálva, a soros port nem fog működni. Tehát a "Serial.print ()" nem fog működni. Ezenkívül az MPU6050 i2c vezetékes könyvtárat és SDA és SLC csapokat használ. Leonardo esetén az SDA és az SCL felveszi a PIN 2 -t és a 3 -as PIN -kódot is, ezért ne használja ezt a 2 tűt másra.

5. lépés: A joystick tesztelése

Kipróbáltam a Microsoft Flight Simulator 2020 -on, és nagyon jól működik. Néha meg kell nyomnom a középső gombot a joystick nullázásához. Az MPU6050 érzékelő értéke idővel kissé eltolódhat.

Rengeteg lehetőség van a projektre, például további gombok hozzáadása és a fojtószelepek hozzáadása. Remélhetőleg ez inspirálni fog más barkácsolókat a dolgok készítésének új módjainak felfedezésére.

Ajánlott: