Taula de continguts:

DIY Joystick USB MPU-6050: 5 passos
DIY Joystick USB MPU-6050: 5 passos

Vídeo: DIY Joystick USB MPU-6050: 5 passos

Vídeo: DIY Joystick USB MPU-6050: 5 passos
Vídeo: MPU6050 Set up and Calliberation guide|| 😉UTSOURCE 2024, Desembre
Anonim
Joystick USB DIY MPU-6050
Joystick USB DIY MPU-6050

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

Connexió dels botons MPU6050 i Push a la placa Arduino Leonardo
Connexió dels botons MPU6050 i Push a la placa Arduino Leonardo
Connexió dels botons MPU6050 i Push a la placa Arduino Leonardo
Connexió dels botons MPU6050 i Push a la placa Arduino Leonardo
Connexió dels botons MPU6050 i Push a la placa Arduino Leonardo
Connexió dels botons MPU6050 i Push 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

Construint la base del joystick
Construint la base del joystick
Construint la base del joystick
Construint la base del joystick
Construint la base del joystick
Construint 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: