![DIY MPU-6050 Joystick USB: 5 pași DIY MPU-6050 Joystick USB: 5 pași](https://i.howwhatproduce.com/images/001/image-590-8-j.webp)
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
![DIY Joystick USB MPU-6050 DIY Joystick USB MPU-6050](https://i.howwhatproduce.com/images/001/image-590-9-j.webp)
Cu Microsoft Flight Simulator 2020, mi-am dat seama rapid cât de dificil este să folosești tastatura pentru a acoperi un plan. Căutând online, nu am putut găsi un joystick la un preț rezonabil de achiziționat. Majoritatea comercianților cu amănuntul online le-au epuizat. Popularitatea MS Flight Simulator și a pandemiei COVID 19 a șters toate stocurile de joystick-uri existente. Singura mea opțiune a fost să construiesc unul singur.
Majoritatea joystick-urilor folosesc potențiometre la bază pentru a determina unghiurile joystick-ului și a trimite informațiile despre axele x și y înapoi la computer. Acest lucru funcționează bine, dar complică construcția joystick-ului. și în timp. potențiometrele s-ar putea uza. În loc să folosesc potențiometre, am decis să merg cu placa senzorului accelerometrului / giroscopului pentru a trimite informații către computer cu privire la unghiurile stick-ului.
Odată cu popularitatea diferitelor microprocesoare Arduino și a diferiților senzori, costul construirii unui proiect Arduino devine mult mai accesibil. Una dintre plăcile senzorului accelerometru / giroscop utilizate în mod obișnuit este MPU-6050. În Canada, costă în jur de 7 $ CAN în Amazon. Am primit-o pe a mea de la eBay expediată din China pentru mult mai puțin, dar timpul de expediere a fost de cel puțin 3 luni.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Orice placă Arduino ar funcționa, dar utilizarea plăcii bazate pe ATmega32u4 va fi mult mai simplă, deoarece ATmega32u4 are suport nativ HID (Human Interface Device). Odată ce placa este programată, o puteți folosi pe orice computer Windows 10 și nu este nevoie de software suplimentar. Windows 10 îl va recunoaște automat ca joystick când USB-ul este conectat. (Utilizarea altor tipuri de plăci Arduino este prea complicată pentru acest proiect simplu de construire).
Aleg placa Arduino Leonardo. 17 dolari CAN de la Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Aceste 2 dispozitive sunt principalele cerințe pentru acest proiect. Sunt necesare și alte articole mai mici, cum ar fi cabluri și butoane. În acest proiect, am folosit doar 2 butoane pentru simplitate.
Mânerul joystick-ului este realizat dintr-o țeavă de apă din resturi de PVC. Aceasta poate fi ușor înlocuită cu orice țeavă rigidă scurtă.
Baza joystick-ului este o oprire a ușii cu arc fixată pe o bucată de lemn.
Stopul ușii cu arc este disponibil de la Home Depot la 2,83 $ CAN.
www.homedepot.ca/product/everbilt-spring-d…
Pasul 1: Conectarea butoanelor MPU6050 și Push la placa Arduino Leonardo
![Conectarea butoanelor MPU6050 și Push la placa Arduino Leonardo Conectarea butoanelor MPU6050 și Push la placa Arduino Leonardo](https://i.howwhatproduce.com/images/001/image-590-10-j.webp)
![Conectarea butoanelor MPU6050 și Push la placa Arduino Leonardo Conectarea butoanelor MPU6050 și Push la placa Arduino Leonardo](https://i.howwhatproduce.com/images/001/image-590-11-j.webp)
![Conectarea butoanelor MPU6050 și Push la placa Arduino Leonardo Conectarea butoanelor MPU6050 și Push la placa Arduino Leonardo](https://i.howwhatproduce.com/images/001/image-590-12-j.webp)
Pe MPU 6050 sunt utilizate doar 4 conexiuni. Sunt etichetate VCC, GND, SCL și SDA.
Conectați VCC la 5v sau 3,3v pe Arduino Leonardo. (MPU 6050 poate folosi fie 5v, fie 3,3v. Nu contează)
Conectați GND la orice GND de pe Arduino Leonardo.
Conectați SCL la SCL pe Arduino Leonardo.
Conectați SDA la SDA pe Arduino Leonardo.
Folosesc doar 2 butoane în acest scop demonstrativ.
Primul buton este folosit pentru a reseta centrul joystick-ului. În acest exemplu, un capăt al butonului este conectat la GND și un capăt la codul PIN 13.
Al doilea buton este folosit ca buton joystick. În acest exemplu, este conectat la PIN 9 și GND.
Puteți adăuga butoane suplimentare după cum este necesar în proiectul dvs.
Pasul 2: Construirea bazei joystick-ului
![Construirea bazei joystick-ului Construirea bazei joystick-ului](https://i.howwhatproduce.com/images/001/image-590-13-j.webp)
![Construirea bazei joystick-ului Construirea bazei joystick-ului](https://i.howwhatproduce.com/images/001/image-590-14-j.webp)
![Construirea bazei joystick-ului Construirea bazei joystick-ului](https://i.howwhatproduce.com/images/001/image-590-15-j.webp)
Găsiți o bucată de bloc de lemn. Cu cât este mai greu, cu atât mai bine. Acesta va face baza joystick-ului mai stabilă.
Înșurubați dopul ușii arcului în centrul blocului de lemn, așa cum se arată în imagine.
Folosiți o bucată de țeavă scurtă ca mâner al joystick-ului. Am folosit o țeavă din PVC răzuită. Puneți firul astfel încât senzorul accelerometrului / giroscopului să stea deasupra conductei.
Apoi puneți conducta peste dopul arcului. Am folosit bandă electrică pentru a lipi senzorul de sus.
Pasul 3: Configurați Arduino IDE
Descărcați și instalați Arduino IDE.https://www.arduino.cc/en/Main/Software
Am folosit Arduino 1.8.13 pentru acest proiect. Arduino Web Editor poate fi folosit și pentru acest proiect.
Se folosesc 2 biblioteci.
1. MPU6050_tockn de tockn
github.com/Tockn/MPU6050_tockn
sau îl puteți găsi în meniul „Gestionați biblioteca”.
2. Biblioteca Joystick de Matthew Heironimus
github.com/MHeironimus/ArduinoJoystickLibr…
Acesta este disponibil momentan doar de pe site-ul GitHub.
Faceți clic pe Descărcare cod și Descărcare ZIP. Extrageți fișierul ZIP în directorul bibliotecilor Arduino.
În cazul meu, este E: / PinChung / Documents / Arduino / libraries
Pasul 4: Program Arduino
Încărcați Pin_Joystick.ino pe Arduino IDE și compilați și încărcați pe placa Leonardo.
Asigurați-vă că placa Arduino Leonardo este selectată și numărul portului este selectat în dreapta COM: sub meniul Instrumente.
Am observat ceva timp, programul nu a putut fi încărcat cu codul de eroare al portului COM nu este disponibil. Apăsarea butonului de resetare de pe placa Leonardo de câteva ori în timpul compilării ar putea ajuta. De asemenea, repornirea Windows 10 ar putea ajuta, de asemenea, la eliberarea portului COM.
Odată ce programul este încărcat pe placa Leonardo, Windows 10 ar trebui să detecteze automat joystick-ul Leonardo. În bara de căutare Windows 10, tastați Game Controllers, rulați Set up USB Game Controllers.
selectați Leonardo Joystick și faceți clic pe Proprietăți. Mișcarea joystick-ului și butonul joystick-ului # 1 ar trebui să fie preluate de Windows 10.
Dacă joystick-ul nu este centrat, când îl eliberați, faceți clic pe butonul de resetare a joystick-ului central pe care tocmai l-am creat. Controlerele de jocuri USB ar trebui să afișeze punctul de joystick în centru. Nu este nevoie să calibrați joystick-ul în programul USB Game Controller..
Notă laterală: Pentru cei care nu sunt familiarizați cu Arduino Leonardo, atunci când dispozitivul este configurat ca joystick, mouse sau tastatură, portul serial nu va funcționa. Deci, „Serial.print ()” nu va funcționa. De asemenea, MPU6050 utilizează biblioteca de fire i2c și folosește pinii SDA și SLC. Pe Leonardo, SDA și SCL preiau atât PIN-ul 2, cât și PIN-ul 3, deci nu utilizați acești 2 pini pentru altceva.
Pasul 5: Testarea joystick-ului
![](https://i.ytimg.com/vi/t1l1KmjsYOc/hqdefault.jpg)
L-am testat pe Microsoft Flight Simulator 2020 și funcționează foarte bine. Trebuie să apăs tasta centrală uneori pentru a pune la zero joystick-ul. Valoarea senzorului MPU6050 ar putea deriva puțin în timp.
Există o mulțime de oportunități de a cheltui pe proiect, cum ar fi adăugarea mai multor butoane și adăugarea comenzilor de accelerație. Sperăm că acest lucru va inspira alți jucători pentru a explora noi moduri de a face lucrurile.
Recomandat:
ZERO DELAY USB JOYSTICK - MODIFICARE AUTO ANALOG: 5 pași
![ZERO DELAY USB JOYSTICK - MODIFICARE AUTO ANALOG: 5 pași ZERO DELAY USB JOYSTICK - MODIFICARE AUTO ANALOG: 5 pași](https://i.howwhatproduce.com/images/002/image-4316-j.webp)
ZERO DELAY USB JOYSTICK - MODIFICARE AUTO ANALOGICĂ: Acesta este un proiect suplimentar pentru modificarea Zero Delay USB Encoder True Analog Joystick Modification. Trebuie să fi modificat, testat și calibrat cu succes Encoderul în proiectul anterior înainte de a adăuga acest dispozitiv. Când este terminat și se lucrează
Urmărirea mișcării utilizând MPU-6000 și fotonul cu particule: 4 pași
![Urmărirea mișcării utilizând MPU-6000 și fotonul cu particule: 4 pași Urmărirea mișcării utilizând MPU-6000 și fotonul cu particule: 4 pași](https://i.howwhatproduce.com/images/001/image-351-15-j.webp)
Urmărirea mișcării folosind MPU-6000 și fotonul de particule: MPU-6000 este un senzor de urmărire a mișcării pe 6 axe care are încorporat accelerometru pe 3 axe și giroscop pe 3 axe. Acest senzor este capabil să urmărească eficient poziția și locația exactă a unui obiect în planul tridimensional. Poate fi folosit în
Urmărirea mișcării folosind MPU-6000 și Arduino Nano: 4 pași
![Urmărirea mișcării folosind MPU-6000 și Arduino Nano: 4 pași Urmărirea mișcării folosind MPU-6000 și Arduino Nano: 4 pași](https://i.howwhatproduce.com/images/001/image-353-34-j.webp)
Urmărirea mișcării utilizând MPU-6000 și Arduino Nano: MPU-6000 este un senzor de urmărire a mișcării pe 6 axe, care are încorporat accelerometru pe 3 axe și giroscop cu 3 axe. Acest senzor este capabil să urmărească eficient poziția și locația exactă a unui obiect în planul tridimensional. Poate fi folosit în
Modul RC Tx ca joystick USB: 6 pași
![Modul RC Tx ca joystick USB: 6 pași Modul RC Tx ca joystick USB: 6 pași](https://i.howwhatproduce.com/images/002/image-3780-7-j.webp)
Modul RC Tx ca joystick USB: Acest instructiv este despre realizarea unui modul transmițător care funcționează cu emițătoare RC standard și acționează ca un joystick USB. Modulul utilizează o placă de dezvoltare Digispark care acționează ca un USB HID. Interpretează semnalul PPM pe care transmițătorul îl trimite și îl convertește
Urmărirea mișcării folosind MPU-6000 și Raspberry Pi: 4 pași
![Urmărirea mișcării folosind MPU-6000 și Raspberry Pi: 4 pași Urmărirea mișcării folosind MPU-6000 și Raspberry Pi: 4 pași](https://i.howwhatproduce.com/images/004/image-10207-j.webp)
Urmărirea mișcării folosind MPU-6000 și Raspberry Pi: MPU-6000 este un senzor de urmărire a mișcării pe 6 axe care are încorporat accelerometru pe 3 axe și giroscop cu 3 axe. Acest senzor este capabil să urmărească eficient poziția și locația exactă a unui obiect în planul tridimensional. Poate fi folosit în