Innholdsfortegnelse:
- Trinn 1: Koble MPU6050 og trykknapper til Arduino Leonardo Board
- Trinn 2: Bygg styrespaken
- Trinn 3: Konfigurer Arduino IDE
- Trinn 4: Arduino -program
- Trinn 5: Test av styrespaken
Video: DIY MPU-6050 USB-joystick: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Med Microsoft Flight Simulator 2020 skjønte jeg raskt hvor vanskelig det er å bruke tastaturet til å fly en plan. Når jeg søkte på nettet, fant jeg ikke en rimelig joystick å kjøpe. De fleste nettbutikker hadde dem utsolgt. Populariteten til MS Flight Simulator og COVID 19 -pandemien utslettet alle eksisterende joystick -aksjer. Mitt eneste alternativ var å bygge en selv.
De fleste styrespakene der ute bruker potensiometre ved basen for å bestemme vinklene på styrespaken og sende informasjon om x- og y -aksen tilbake til datamaskinen. Dette fungerer bra, men kompliserer konstruksjonen av joysticken. og over tid. potensiometrene kan slites ut. I stedet for å bruke potensiometre bestemte jeg meg for å gå med akselerometer/gyroskop -sensortavle for å sende informasjon til datamaskinen på vinklene på pinnen.
Med populariteten til forskjellige Arduino -mikroprosessorer og forskjellige sensorer, blir kostnadene ved å bygge et Arduino -prosjekt mye rimeligere. Et av de vanligste akselerometer-/gyroskopfølerkortet er MPU-6050. I Canada koster det rundt $ 7CAN i Amazon. Jeg fikk min fra eBay sendt fra Kina for mye mindre, men leveringstiden var omtrent 3 måneder eller lengre.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Et hvilket som helst Arduino -kort ville fungere, men å bruke ATmega32u4 -basert kort vil være mye enklere, fordi ATmega32u4 har native HID -støtte (Human Interface Device). Når brettet er programmert, kan du bruke det på hvilken som helst Windows 10 -PC og ingen tilleggsprogramvare er nødvendig. Windows 10 gjenkjenner det automatisk som en joystick når USB -en er plugget inn. (Bruk av en annen type Arduino -kort er for komplisert for dette enkle byggeprosjektet).
Jeg velger Arduino Leonardo -brett. $ 17 KAN fra Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Disse 2 enhetene er hovedkravene til dette prosjektet. Andre mindre ting som ledninger og trykknapper er også nødvendig. I dette prosjektet brukte jeg bare to trykknapper for enkelhets skyld.
Styrespaken er laget av et vannrør av PVC. Dette kan enkelt erstattes med et kort, stivt rør.
Basen på joysticken er en fjærdørstopp festet på et treverk.
Vårdørstopperen er tilgjengelig fra Home Depot for $ 2,83CAN.
www.homedepot.ca/product/everbilt-spring-d…
Trinn 1: Koble MPU6050 og trykknapper til Arduino Leonardo Board
Bare 4 tilkoblinger brukes på MPU 6050. De er merket VCC, GND, SCL og SDA.
Koble VCC til 5v eller 3.3v på Arduino Leonardo. (MPU 6050 kan bruke enten 5v eller 3.3v. Spiller ingen rolle)
Koble GND til en hvilken som helst GND på Arduino Leonardo.
Koble SCL til SCL på Arduino Leonardo.
Koble SDA til SDA på Arduino Leonardo.
Jeg bruker bare 2 trykknapper for dette demonstrasjonsformålet.
Den første trykknappen brukes til å tilbakestille styrespaken. I dette eksemplet er den ene enden av trykknappen koblet til GND og den ene enden til PIN 13.
Den andre trykknappen brukes som en joystick -knapp. I dette eksemplet er den koblet til PIN 9 og GND.
Du kan legge til flere knapper etter behov i prosjektet.
Trinn 2: Bygg styrespaken
Finn et stykke trekloss. Jo tyngre jo bedre. Det vil gjøre joystickbasen mer stabil.
Skru fjærdørstopperen på midten av treblokken som vist på bildet.
Bruk et stykke kort rør som styrespaken. Jeg brukte et skrap PVC -rør. Trå ledningen slik at akselerometer/gyroskopsensoren sitter på toppen av røret.
Sett deretter røret over vårdørstopperen. Jeg brukte elektrisk tape til å tape sensoren på toppen.
Trinn 3: Konfigurer Arduino IDE
Last ned og installer Arduino IDE.
Jeg brukte Arduino 1.8.13 til dette prosjektet. Arduino Web Editor kan også brukes til dette prosjektet.
2 biblioteker brukes.
1. MPU6050_tockn av tockn
github.com/Tockn/MPU6050_tockn
eller du kan finne den i "Administrer bibliotek" -menyen.
2. Joystick -bibliotek av Matthew Heironimus
github.com/MHeironimus/ArduinoJoystickLibr…
Denne er for øyeblikket bare tilgjengelig fra GitHub -nettstedet.
Klikk på nedlastingskoden og last ned ZIP. Pakk ut ZIP -filen til katalogen Arduino biblioteker.
I mitt tilfelle er det E: / PinChung / Documents / Arduino / biblioteker
Trinn 4: Arduino -program
Last Pin_Joystick.ino på Arduino IDE og kompiler og last opp til Leonardo -brettet.
Sørg for at Arduino Leonardo -kortet er valgt og at portnummeret er valgt til høyre COM: under Verktøy -menyen.
Jeg la merke til en stund, programmet kunne ikke lastes opp med feilkode for COM -port ikke tilgjengelig. Det kan hjelpe å trykke på tilbakestillingsknappen på Leonardo -brettet et par ganger mens du kompilerer. Også omstart av Windows 10 kan også hjelpe til med å frigjøre COM -porten.
Når programmet er lastet opp til Leonardo -kortet, bør Windows 10 automatisk oppdage Leonardo -joysticken. I Windows 10 -søkefeltet skriver du inn Spillkontrollere, kjører Sett opp USB -spillkontrollere.
velg Leonardo Joystick og klikk på Egenskaper. Joystickbevegelsen og joystick #1 -knappen bør hentes av Windows 10.
Hvis joysticken ikke er sentrert, klikker du på reset -joystick -senterknappen vi nettopp slipper når du slipper den. USB -spillkontrollerne skal vise joystick -prikken i midten. Det er ikke nødvendig å kalibrere styrespaken i USB Game Controller -programmet.
Sidemerk: For de som ikke er kjent med Arduino Leonardo, fungerer ikke seriellporten når enheten er konfigurert som en joystick, mus eller tastatur. Så "Serial.print ()" vil ikke fungere. MPU6050 bruker også i2c -trådbibliotek og bruker SDA- og SLC -pinner. På Leonardo tar SDA og SCL opp både PIN 2 og PIN 3, så ikke bruk disse 2 pinnene til noe annet.
Trinn 5: Test av styrespaken
Jeg testet den på Microsoft Flight Simulator 2020, og den fungerer veldig bra. Noen ganger må jeg trykke midtstasten for å nullstille joysticken. MPU6050 sensorverdi kan svinge litt over tid.
Det er mange muligheter til å bruke på prosjektet, for eksempel å legge til flere knapper og legge til gassregulatorer. Forhåpentligvis vil dette inspirere andre tenkere til å utforske nye måter å lage ting på.
Anbefalt:
Bevegelsessporing ved bruk av MPU-6000 og Particle Photon: 4 trinn
Bevegelsessporing ved bruk av MPU-6000 og Particle Photon: MPU-6000 er en 6-akset bevegelsessensor som har 3-akset akselerometer og 3-akset gyroskop innebygd i den. Denne sensoren er i stand til effektivt å spore nøyaktig posisjon og plassering av et objekt i det tredimensjonale planet. Den kan brukes i
Bevegelsessporing ved bruk av MPU-6000 og Arduino Nano: 4 trinn
Bevegelsessporing ved bruk av MPU-6000 og Arduino Nano: MPU-6000 er en 6-akset bevegelsessensor som har 3-akset akselerometer og 3-akset gyroskop innebygd i den. Denne sensoren er i stand til effektivt å spore nøyaktig posisjon og plassering av et objekt i det tredimensjonale planet. Den kan brukes i
Bevegelsessporing ved bruk av MPU-6000 og Raspberry Pi: 4 trinn
Bevegelsessporing ved bruk av MPU-6000 og Raspberry Pi: MPU-6000 er en 6-akset bevegelsessensor som har 3-akset akselerometer og 3-akset gyroskop innebygd i den. Denne sensoren er i stand til effektivt å spore nøyaktig posisjon og plassering av et objekt i det tredimensjonale planet. Den kan brukes i
DIY Arduino robotarm, trinn for trinn: 9 trinn
DIY Arduino robotarm, trinn for trinn: Denne opplæringen lærer deg hvordan du bygger en robotarm selv
NODEMcu USB -port fungerer ikke? Last opp koden ved hjelp av USB til TTL (FTDI) -modulen på bare 2 trinn: 3 trinn
NODEMcu USB -port fungerer ikke? Last opp koden ved hjelp av USB til TTL (FTDI) -modulen på bare 2 trinn: Sliten av å koble til mange ledninger fra USB til TTL -modul til NODEMcu, følg denne instruksjonen for å laste opp koden på bare 2 trinn. Hvis USB -porten på NODEMcu fungerer ikke, ikke få panikk. Det er bare USB -driverbrikken eller USB -kontakten