Indholdsfortegnelse:
- Trin 1: Tilslutning af MPU6050 og trykknapper til Arduino Leonardo Board
- Trin 2: Opbygning af joystickbasen
- Trin 3: Konfigurer Arduino IDE
- Trin 4: Arduino -program
- Trin 5: Test af joysticket
Video: DIY MPU-6050 USB Joystick: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Med Microsoft Flight Simulator 2020 indså jeg hurtigt, hvor svært det er at bruge tastatur til at flyve en plan. Når jeg søgte online, kunne jeg ikke finde et joystick til en rimelig pris at købe. De fleste onlineforhandlere havde dem udsolgt. Populariteten af MS Flight Simulator og COVID 19 -pandemien udslettede alle de eksisterende joystickaktier. Min eneste mulighed var at bygge en selv.
De fleste joysticks derude bruger potentiometre i bunden til at bestemme joystickets vinkler og sende x- og y -akseinformation tilbage til computeren. Dette fungerer godt, men komplicerer konstruktionen af joysticket. og over tid. potentiometrene kan slides. I stedet for at bruge potentiometre besluttede jeg at gå med accelerometer/gyroskop -sensorbræt for at sende information til computeren på pindens vinkler.
Med populariteten af forskellige Arduino -mikroprocessorer og forskellige sensorer bliver omkostningerne ved at bygge et Arduino -projekt meget mere overkommelige. Et af de almindeligt anvendte accelerometer/gyroskopfølerkort er MPU-6050. I Canada koster det omkring $ 7CAN i Amazon. Jeg fik min fra eBay sendt fra Kina for meget mindre, men leveringstiden var som 3 måneder eller længere.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Ethvert Arduino -kort ville fungere, men det vil være meget enklere at bruge ATmega32u4 -baseret board, fordi ATmega32u4 har indbygget HID -understøttelse (Human Interface Device). Når kortet er programmeret, kan du bruge det på en hvilken som helst Windows 10 -pc og der kræves ingen yderligere software. Windows 10 genkender det automatisk som et joystick, når USB'en er tilsluttet. (Brug af anden type Arduino -kort er for kompliceret til dette enkle byggeprojekt).
Jeg vælger Arduino Leonardo board. $ 17 KAN fra Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Disse 2 enheder er hovedkravene til dette projekt. Andre mindre genstande såsom ledninger og trykknapper er også nødvendige. I dette projekt brugte jeg kun 2 trykknapper for nemheds skyld.
Joystick -håndtaget er lavet af et vandrør af PVC. Dette kan let erstattes med ethvert kort stift rør.
Bunden af joysticket er et fjederdørstop fastgjort på et stykke træ.
Springdørstop kan fås hos Home Depot for $ 2,83CAN.
www.homedepot.ca/product/everbilt-spring-d…
Trin 1: Tilslutning af MPU6050 og trykknapper til Arduino Leonardo Board
Der bruges kun 4 forbindelser på MPU 6050. De er mærket VCC, GND, SCL og SDA.
Tilslut VCC til 5v eller 3.3v på Arduino Leonardo. (MPU 6050 kan bruge enten 5v eller 3.3v. Det er ligegyldigt)
Tilslut GND til enhver GND på Arduino Leonardo.
Tilslut SCL til SCL på Arduino Leonardo.
Tilslut SDA til SDA på Arduino Leonardo.
Jeg bruger kun 2 trykknapper til dette demonstrationsformål.
Den første trykknap bruges til at nulstille joystickcentret. I dette eksempel er den ene ende af trykknappen forbundet til GND og den ene ende til PIN 13.
Den anden trykknap bruges som joystick -knap. I dette eksempel er den forbundet til PIN 9 og GND.
Du kan tilføje yderligere knapper efter behov i dit projekt.
Trin 2: Opbygning af joystickbasen
Find et stykke træklods. Jo tungere jo bedre. Det vil gøre joystickbasen mere stabil.
Skru fjederdøren i midten af træblokken som vist på billedet.
Brug et stykke kort rør som joystickhåndtag. Jeg brugte et skrabet PVC -rør. Træd tråden, så accelerometer/gyroskopsensoren sidder oven på røret.
Sæt derefter røret over fjederdørproppen. Jeg brugte elektrisk tape til at tape sensoren på toppen.
Trin 3: Konfigurer Arduino IDE
Download og installer Arduino IDE.
Jeg brugte Arduino 1.8.13 til dette projekt. Arduino Web Editor kan også bruges til dette projekt.
Der bruges 2 biblioteker.
1. MPU6050_tockn af tockn
github.com/Tockn/MPU6050_tockn
eller du kan finde det i menuen "Administrer bibliotek".
2. Joystick -bibliotek af Matthew Heironimus
github.com/MHeironimus/ArduinoJoystickLibr…
Denne er i øjeblikket kun tilgængelig fra GitHub -webstedet.
Klik på downloadkode og download ZIP. Udpak ZIP -filen til din Arduino biblioteks bibliotek.
I mit tilfælde er det E: / PinChung / Documents / Arduino / biblioteker
Trin 4: Arduino -program
Indlæs Pin_Joystick.ino på Arduino IDE, og kompilér og upload til Leonardo -tavlen.
Sørg for, at Arduino Leonardo -kortet er valgt, og at portnummer er valgt til højre COM: under menuen Værktøjer.
Jeg lagde mærke til noget tid, programmet kunne ikke uploades med fejlkode for COM -port ikke tilgængelig. At trykke på reset -knappen på Leonardo -tavlen et par gange under kompilering kan hjælpe. Også genstart af Windows 10 kan også hjælpe med at frigøre COM -porten.
Når programmet er uploadet til Leonardo -kortet, skal Windows 10 automatisk registrere Leonardo -joysticket. I Windows 10 -søgelinje skal du skrive Game Controllers, køre Konfigurer USB Game Controllers.
vælg Leonardo Joystick, og klik på Egenskaber. Joystickbevægelsen og joystick #1 -knappen skal hentes af Windows 10.
Hvis joysticket ikke er centreret, skal du klikke på den nulstillede joystick -center -knap, vi lige har lavet, når du slipper det. USB -spilkontrollerne skal vise joystick -prikken i midten. Det er ikke nødvendigt at kalibrere joysticket i USB Game Controller -programmet.
Sidebemærkning: For dem, der ikke kender Arduino Leonardo, fungerer den serielle port ikke, når enheden er konfigureret som joystick, mus eller tastatur. Så "Serial.print ()" virker ikke. MPU6050 bruger også i2c -trådbibliotek og bruger SDA- og SLC -ben. På Leonardo, SDA og SCL optager både PIN 2 og PIN 3, så brug ikke disse 2 pins til andet.
Trin 5: Test af joysticket
Jeg testede det på Microsoft Flight Simulator 2020, og det fungerer meget godt. Jeg skal nogle gange trykke på midttasten for at nulstille joysticket. MPU6050 sensorværdi kan svinge lidt over tid.
Der er masser af muligheder for at bruge på projektet, f.eks. Tilføjelse af flere knapper og tilføjelse af gashåndtag. Forhåbentlig vil dette inspirere andre tinkere til at udforske nye måder at lave ting på.
Anbefalede:
NUL DELAY USB JOYSTICK - AUTO ANALOG MODIFIKATION: 5 trin
ZERO DELAY USB JOYSTICK - AUTO ANALOG MODIFICATION: Dette er et yderligere projekt til Zero Delay USB Encoder True Analog Joystick Modification. Du skal have ændret, testet og kalibreret encoderen i det forrige projekt, før du tilføjer denne enhed. Når den er færdig og fungerer
Bevægelsessporing ved hjælp af MPU-6000 og Particle Photon: 4 trin
Bevægelsessporing ved hjælp af MPU-6000 og Particle Photon: MPU-6000 er en 6-akset bevægelsessporingssensor, der har 3-akset accelerometer og 3-akset gyroskop indlejret i det. Denne sensor er i stand til effektivt at spore den nøjagtige position og placering af et objekt i det tredimensionelle plan. Det kan bruges i
Bevægelsessporing ved hjælp af MPU-6000 og Arduino Nano: 4 trin
Motion Tracking Brug af MPU-6000 og Arduino Nano: MPU-6000 er en 6-akset bevægelsessporingssensor, der har 3-akset accelerometer og 3-akset gyroskop indlejret i det. Denne sensor er i stand til effektivt at spore den nøjagtige position og placering af et objekt i det tredimensionelle plan. Det kan bruges i
RC Tx -modul som USB -joystick: 6 trin
RC Tx -modul som USB -joystick: Denne instruktion handler om at lave et transmittermodul, der fungerer med standard RC -sendere og fungerer som et USB -joystick. Modulet bruger et Digispark dev -kort, der fungerer som et USB HID. Det fortolker PPM -signalet, senderen sender og konverterer
Bevægelsessporing ved hjælp af MPU-6000 og Raspberry Pi: 4 trin
Bevægelsessporing ved hjælp af MPU-6000 og Raspberry Pi: MPU-6000 er en 6-akset bevægelsessporingssensor, der har 3-akset accelerometer og 3-akset gyroskop indlejret i det. Denne sensor er i stand til effektivt at spore den nøjagtige position og placering af et objekt i det tredimensionelle plan. Det kan bruges i