Taula de continguts:
- Pas 1: Connexió de MPU6050 i de botons a la placa Arduino Leonardo
- Pas 2: Construir la base del joystick
- Pas 3: configureu Arduino IDE
- Pas 4: Programa Arduino
- Pas 5: provar el joystick
Vídeo: DIY Joystick USB MPU-6050: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Amb Microsoft Flight Simulator 2020, em vaig adonar ràpidament del difícil que és fer servir el teclat per fer un pla. Cercant en línia, no he trobat un joystick a un preu raonable per comprar. La majoria dels minoristes en línia els tenien esgotats. La popularitat de MS Flight Simulator i de la pandèmia COVID 19 va acabar amb totes les existències de joystick. La meva única opció era construir-ne un jo mateix.
La majoria dels joysticks que hi ha utilitzen potenciòmetres a la base per determinar els angles del joystick i enviar la informació dels eixos X i Y a l’ordinador. Funciona bé, però complica la construcció del joystick. i amb el pas del temps. els potenciòmetres es poden desgastar. En lloc d’utilitzar potenciòmetres, vaig decidir anar amb una placa de sensor d’acceleròmetre / giroscopi per enviar informació a l’ordinador sobre els angles del pal.
Amb la popularitat de diversos microprocessadors Arduino i diversos sensors, el cost de construir un projecte Arduino esdevé molt més assequible. Una de les plaques de sensor d’acceleròmetres / giroscopis que s’utilitza habitualment és la MPU-6050. A Canadà, costa uns 7 $ CAN a Amazon. Vaig rebre el meu enviament d’Ebay des de la Xina per molt menys, però el temps d’enviament va ser de tres mesos o més.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Qualsevol placa Arduino funcionaria, però utilitzar una placa basada en ATmega32u4 serà molt més senzill, perquè ATmega32u4 té suport HID (Human Interface Device) natiu. Un cop programat el tauler, el podeu utilitzar en qualsevol PC amb Windows 10 i no cal programari addicional. Windows 10 el reconeixerà automàticament com un joystick quan es connecti l'USB (l'ús d'una altra placa Arduino és massa complicat per a aquest senzill projecte de construcció).
Trio la placa Arduino Leonardo. 17 $ CAN d'Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Aquests 2 dispositius són els requisits principals per a aquest projecte. També són necessaris altres elements més petits, com ara cables i polsadors. En aquest projecte, només he utilitzat 2 botons per simplificar.
El mànec del joystick està fet d'una canonada d'aigua de ferralla. Es pot substituir fàcilment per qualsevol tub rígid curt.
La base del joystick és una parada de molla fixada en un tros de fusta.
La parada de la porta de molla està disponible a Home Depot per 2,83 $ CAN.
www.homedepot.ca/product/everbilt-spring-d…
Pas 1: Connexió de MPU6050 i de botons a la placa Arduino Leonardo
Només s’utilitzen 4 connexions a la MPU 6050. Tenen l’etiqueta VCC, GND, SCL i SDA.
Connecteu VCC a 5v o 3,3v a Arduino Leonardo. (La MPU 6050 pot utilitzar 5v o 3,3v. No importa)
Connecteu GND a qualsevol GND a Arduino Leonardo.
Connecteu SCL a SCL a Arduino Leonardo.
Connecteu SDA a SDA a Arduino Leonardo.
Només faig servir 2 polsadors amb aquesta finalitat de demostració.
El primer polsador s’utilitza per restablir el centre del joystick. En aquest exemple, un extrem del polsador està connectat a GND i un extrem al PIN 13.
El segon polsador s’utilitza com a botó de palanca de control. En aquest exemple, està connectat al PIN 9 i al GND.
Podeu afegir botons addicionals segons sigui necessari al vostre projecte.
Pas 2: Construir la base del joystick
Cerqueu un tros de bloc de fusta. Com més pesat millor. Farà que la base del joystick sigui més estable.
Cargoleu el tap de la porta del ressort al centre del bloc de fusta, tal com es mostra a la imatge.
Utilitzeu un tros de canonada curta com a mànec del joystick. He utilitzat una canonada de PVC raspat. Trepitgeu el cable perquè el sensor de l’acceleròmetre / giroscopi quedi assegut a la part superior de la canonada.
A continuació, poseu la canonada sobre el tap de la porta del ressort. Vaig utilitzar cinta elèctrica per gravar el sensor a la part superior.
Pas 3: configureu Arduino IDE
Descarregueu i instal·leu Arduino IDE.https://www.arduino.cc/en/Main/Software
He utilitzat Arduino 1.8.13 per a aquest projecte. Arduino Web Editor també es pot utilitzar per a aquest projecte.
S'utilitzen 2 biblioteques.
1. MPU6050_tockn per tockn
github.com/Tockn/MPU6050_tockn
o el podeu trobar al menú "Gestiona la biblioteca".
2. Biblioteca Joystick de Matthew Heironimus
github.com/MHeironimus/ArduinoJoystickLibr …
Aquest només està disponible actualment al lloc web de GitHub.
Feu clic a Descarregar codi i Descarregar ZIP. Extraieu el fitxer ZIP al directori de les biblioteques Arduino.
En el meu cas, es tracta de les biblioteques E: / PinChung / Documents / Arduino
Pas 4: Programa Arduino
Carregueu Pin_Joystick.ino a Arduino IDE i compileu-lo i pengeu-lo a la placa Leonardo.
Assegureu-vos que la placa Arduino Leonardo estigui seleccionada i que el número de port estigui seleccionat a la dreta COM: al menú Eines.
Vaig notar una estona que el programa no es va poder carregar amb el codi d'error del port COM no disponible. Si premeu el botó de restabliment al tauler Leonardo un parell de vegades mentre es compila, pot ser útil. També reiniciar Windows 10 també pot ajudar a alliberar el port COM.
Una vegada que el programa es carrega a la placa Leonardo, Windows 10 hauria de detectar automàticament el joystick Leonardo. A la barra de cerca de Windows 10, escriviu Controladors de jocs, executeu Configuració de controladors de jocs USB.
seleccioneu el joystick Leonardo i feu clic a Propietats. Windows 10 ha de recollir el moviment del joystick i el botó del joystick # 1.
Si el joystick no està centrat, quan el deixeu anar, feu clic al botó central de reinici del joystick que acabem de fer. Els controladors de jocs USB haurien de mostrar el punt del joystick al centre. No cal calibrar el joystick al programa USB Game Controller.
Nota lateral: per a aquells que no estiguin familiaritzats amb Arduino Leonardo, quan el dispositiu estigui configurat com a joystick, ratolí o teclat, el port sèrie no funcionarà. Per tant, "Serial.print ()" no funcionarà. A més, MPU6050 utilitza la biblioteca de fils i2c i utilitza pins SDA i SLC. A Leonardo, SDA i SCL adopten tant el PIN 2 com el PIN 3, de manera que no utilitzeu aquests 2 pins per a res més.
Pas 5: provar el joystick
L’he provat al Microsoft Flight Simulator 2020 i funciona molt bé. De vegades he de prémer la tecla central per posar a zero el joystick. El valor del sensor MPU6050 podria derivar una mica amb el pas del temps.
Hi ha moltes oportunitats per gastar en el projecte, com ara afegir més botons i afegir controls d’accelerador. Amb sort, això inspirarà altres jugadors a explorar noves maneres de fer les coses.
Recomanat:
ZERO DELAY USB JOYSTICK - MODIFICACIÓ ANALOGGICA AUTOMÀTICA: 5 passos
ZERO DELAY USB JOYSTICK: MODIFICACIÓ ANALOGGICA AUTOMÀTICA: es tracta d’un projecte addicional a la modificació del joystick analògic True Encoder USB del codificador Zero Delay. Abans d’afegir aquest dispositiu, heu d’haver modificat, provat i calibrat correctament el codificador al projecte anterior. Quan estigui acabat i treballat
Seguiment de moviment mitjançant MPU-6000 i fotó de partícules: 4 passos
Seguiment de moviment mitjançant MPU-6000 i fotó de partícules: MPU-6000 és un sensor de seguiment de moviment de 6 eixos que té incrustat un acceleròmetre de 3 eixos i un giroscopi de 3 eixos. Aquest sensor és capaç de fer un seguiment eficient de la posició i ubicació exactes d’un objecte en el pla tridimensional. Es pot emprar en
Seguiment de moviment mitjançant MPU-6000 i Arduino Nano: 4 passos
Seguiment de moviment mitjançant MPU-6000 i Arduino Nano: MPU-6000 és un sensor de seguiment de moviment de 6 eixos que té incrustat un acceleròmetre de 3 eixos i un giroscopi de 3 eixos. Aquest sensor és capaç de fer un seguiment eficient de la posició i ubicació exactes d’un objecte en el pla tridimensional. Es pot emprar en
Mòdul RC Tx com a joystick USB: 6 passos
Mòdul RC Tx com a palanca de control USB: aquest instructiu tracta de fabricar un mòdul transmissor que funcioni amb transmissors de RC estàndard i funcioni com a palanca de control USB. El mòdul utilitza una placa de desenvolupament Digispark que actua com a USB HID. Interpreta el senyal PPM que l’emissor envia i converteix
Seguiment de moviment mitjançant MPU-6000 i Raspberry Pi: 4 passos
Seguiment de moviment mitjançant MPU-6000 i Raspberry Pi: MPU-6000 és un sensor de seguiment de moviment de 6 eixos que té incrustat un acceleròmetre de 3 eixos i un giroscopi de 3 eixos. Aquest sensor és capaç de fer un seguiment eficient de la posició i ubicació exactes d’un objecte en el pla tridimensional. Es pot emprar en