Përmbajtje:
- Hapi 1: Lidhni butonat MPU6050 dhe Push me bordin Arduino Leonardo
- Hapi 2: Ndërtimi i Bazës së Joystick
- Hapi 3: Konfiguroni Arduino IDE
- Hapi 4: Programi Arduino
- Hapi 5: Testimi i xhojstikut
Video: DIY MPU-6050 USB Joystick: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Me Microsoft Flight Simulator 2020, shpejt kuptova se sa e vështirë është të përdorësh tastierën për të kryer një plan. Duke kërkuar në internet, nuk gjeta një levë me çmim të arsyeshëm për të blerë. Shumica e shitësve me pakicë në internet nuk i kishin ato në magazinë. Popullariteti i MS Flight Simulator dhe pandemia COVID 19 fshiu të gjitha rezervat ekzistuese të levës. Mundësia ime e vetme ishte të ndërtoja një vetë.
Shumica e levave atje përdorin potenciometra në bazë për të përcaktuar këndet e levës dhe për të dërguar informacionin e boshtit x dhe y përsëri në kompjuter. Kjo funksionon mirë, por e ndërlikon ndërtimin e levës. dhe me kalimin e kohes. potenciometrat mund të lodhen. Në vend që të përdorja potenciometra, vendosa të shkoj me bordin e sensorit të përshpejtuesit/xhiroskopit për të dërguar informacion në kompjuter në këndet e shkopit.
Me popullaritetin e mikroprocesorëve të ndryshëm Arduino dhe sensorë të ndryshëm, kostoja e ndërtimit të një projekti Arduino bëhet shumë më e përballueshme. Një nga bordet e sensorëve të akselerometrit/xhiroskopit të përdorur zakonisht është MPU-6050. Në Kanada, kushton rreth 7 dollarë në Amazon. Unë e mora nga eBay dërguar nga Kina për shumë më pak, por koha e transportit ishte rreth 3 muaj ose më gjatë.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Çdo bord Arduino do të funksiononte, por përdorimi i bordit të bazuar në ATmega32u4 do të jetë shumë më i thjeshtë, sepse ATmega32u4 ka mbështetje amtare HID (Pajisja e Ndërfaqes Njerëzore). Pasi të jetë programuar bordi, mund ta përdorni në çdo kompjuter Windows 10 dhe nuk kërkohet softuer shtesë. Windows 10 do ta njohë atë automatikisht si një levë kur USB është e kyçur. (Përdorimi i bordit të llojit tjetër Arduino është shumë i komplikuar për këtë projekt të thjeshtë ndërtimi).
Unë zgjedh bordin Arduino Leonardo. $ 17CAN nga Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Këto 2 pajisje janë kërkesat kryesore për këtë projekt. Sende të tjera më të vogla të tilla si instalime elektrike dhe butona shtypi janë gjithashtu të nevojshëm. Në këtë projekt, unë përdor vetëm 2 butona për thjeshtësi.
Doreza e levës është bërë nga një tub uji PVC. Kjo mund të zëvendësohet lehtësisht me ndonjë tub të shkurtër të ngurtë.
Baza e levës është një ndalesë e derës së pranverës e fiksuar në një copë druri.
Ndalesa e derës së pranverës është në dispozicion nga Home Depot për 2.83 dollarë.
www.homedepot.ca/product/everbilt-spring-d…
Hapi 1: Lidhni butonat MPU6050 dhe Push me bordin Arduino Leonardo
Vetëm 4 lidhje përdoren në MPU 6050. Ato janë etiketuar VCC, GND, SCL dhe SDA.
Lidhni VCC me 5v ose 3.3v në Arduino Leonardo. (MPU 6050 mund të përdorë ose 5v ose 3.3v. Nuk ka rëndësi)
Lidhni GND me çdo GND në Arduino Leonardo.
Lidhni SCL me SCL në Arduino Leonardo.
Lidhni SDA me SDA në Arduino Leonardo.
Unë përdor vetëm 2 butona shtytës për këtë qëllim demonstrimi.
Butoni i parë i shtypjes përdoret për të rivendosur qendrën e levës. Në këtë shembull, një fund i butonit shtytës është i lidhur me GND dhe një fund me PIN 13.
Butoni i dytë i shtypjes përdoret si një buton levë. Në këtë shembull, ajo është e lidhur me PIN 9 dhe GND.
Mund të shtoni butona shtesë sipas nevojës në projektin tuaj.
Hapi 2: Ndërtimi i Bazës së Joystick
Gjeni një copë bllok druri. Sa më e rëndë aq më mirë. Do ta bëjë bazën e levës më të qëndrueshme.
Vidhosni tapën e derës së pranverës në qendër të bllokut të drurit siç tregohet në figurë.
Përdorni një copë tub të shkurtër si dorezë levë. Kam përdorur një tub PVC të copëtuar. Ecni me tela në mënyrë që sensori i përshpejtuesit/xhiroskopit të jetë ulur në majë të tubit.
Pastaj vendoseni tubin mbi tapën e derës së pranverës. Kam përdorur shirit elektrik për të ngjitur sensorin në krye.
Hapi 3: Konfiguroni Arduino IDE
Shkarkoni dhe instaloni Arduino IDE.https://www.arduino.cc/en/Main/Software
Kam përdorur Arduino 1.8.13 për këtë projekt. Për këtë projekt mund të përdoret edhe Arduino Web Editor.
Përdoren 2 biblioteka.
1. MPU6050_tockn nga tockn
github.com/Tockn/MPU6050_tockn
ose mund ta gjeni në menunë "Menaxho Bibliotekën".
2. Biblioteka Joystick nga Matthew Heironimus
github.com/MHeironimus/ArduinoJoystickLibr…
Ky aktualisht është i disponueshëm vetëm nga faqja e internetit GitHub.
Klikoni në kodin e shkarkimit dhe Shkarkoni ZIP. Nxirrni skedarin ZIP në drejtorinë tuaj të bibliotekave Arduino.
Në rastin tim, është E: / PinChung / Documents / Arduino / bibliotekat
Hapi 4: Programi Arduino
Ngarkoni Pin_Joystick.ino në Arduino IDE dhe përpiloni dhe ngarkoni në tabelën Leonardo.
Sigurohuni që tabela Arduino Leonardo është zgjedhur dhe numri i portit është zgjedhur në të djathtë COM: nën menunë Tools.
Kam vënë re disa kohë, programi nuk mund të ngarkohet me kodin e gabimit të portit COM që nuk është i disponueshëm. Shtypja e butonit të rivendosjes në tabelën Leonardo disa herë gjatë përpilimit mund të ndihmojë. Rinisja e Windows 10 gjithashtu mund të ndihmojë në lirimin e portës COM.
Pasi programi të ngarkohet në tabelën Leonardo, Windows 10 duhet të zbulojë automatikisht Joystick Leonardo. Në shiritin e kërkimit të Windows 10, shkruani Game Controllers, ekzekutoni Set up USB Game Controllers.
zgjidhni Leonardo Joystick dhe klikoni Properties. Lëvizja e levës dhe butoni i levës #1 duhet të merren nga Windows 10.
Nëse levë nuk është në qendër, kur e lini atë, klikoni në butonin e rivendosur të qendrës së levës që sapo kemi bërë. Kontrolluesit e lojërave USB duhet të tregojnë pikën e levës në qendër. Nuk ka nevojë të kalibroni levën në programin USB Game Controller..
Shënim anësor: Për ata që nuk janë të njohur me Arduino Leonardo, kur pajisja është konfiguruar si një levë, mi ose tastierë, porti serik nuk do të funksionojë. Pra, "Serial.print ()" nuk do të funksionojë. Gjithashtu, MPU6050 përdor bibliotekë teli i2c dhe përdor kunjat SDA dhe SLC. Në Leonardo, SDA dhe SCL marrin të dy PIN 2 dhe PIN 3, kështu që mos i përdorni këto 2 kunja për asgjë tjetër.
Hapi 5: Testimi i xhojstikut
E testova në Microsoft Flight Simulator 2020 dhe funksionon shumë mirë. Unë ndonjëherë duhet të shtyp tastin qendror ndonjëherë për të zeruar levën. Vlera e sensorit MPU6050 mund të zhvendoset pak me kalimin e kohës.
Ka shumë mundësi për të shpenzuar në projekt, të tilla si shtimi i më shumë butonave dhe shtimi i kontrolleve të mbytjes. Shpresojmë se kjo do të frymëzojë kopjuesit e tjerë për të eksploruar mënyra të reja për të bërë gjëra.
Recommended:
ZERO DELAY USB JOYSTICK - MODIFIKIMI I ANALOGS AUTO: 5 hapa
ZERO DELAY USB JOYSTICK - MODIFIKIMI I ANALOGS AUTO: Ky është një projekt shtesë për Zero Delay USB Encoder True Analog Joystick Modifikim. Duhet të keni modifikuar, testuar dhe kalibruar me sukses Koduesin në projektin e mëparshëm para se të shtoni këtë pajisje. Kur përfundon dhe punon
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Foton Particle: 4 Hapa
Gjurmimi i Lëvizjes duke Përdorur MPU-6000 dhe Foton Particle: MPU-6000 është një Sensor i Ndjekjes së Lëvizjes me 6 Aks, i cili ka një akselerometër 3-Boshtësh dhe një xhiroskop 3-Bosht të ngulitur në të. Ky sensor është i aftë të gjurmojë në mënyrë efikase pozicionin dhe vendndodhjen e saktë të një objekti në rrafshin 3-dimensional. Mund të punësohet në
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Arduino Nano: 4 Hapa
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Arduino Nano: MPU-6000 është një Sensor i Ndjekjes së Lëvizjes me 6 Aks, i cili ka një akselerometër me 3 boshte dhe një xhiroskop me 3 boshte të ngulitura në të. Ky sensor është i aftë të gjurmojë në mënyrë efikase pozicionin dhe vendndodhjen e saktë të një objekti në rrafshin 3-dimensional. Mund të punësohet në
Moduli RC Tx Si USB Joystick: 6 hapa
Moduli RC Tx Si USB Joystick: Ky udhëzues ka të bëjë me krijimin e një moduli transmetues që punon me transmetuesit standard RC dhe vepron si një levë USB. Moduli përdor një bord të Digispark dev që vepron si një USB HID. Ai interpreton sinjalin PPM që transmetuesi dërgon dhe konverton
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Raspberry Pi: 4 Hapa
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Raspberry Pi: MPU-6000 është një Sensor i Ndjekjes së Lëvizjes me 6 Aks, i cili ka një akselerometër 3-Bosht dhe një xhiroskop 3-Bosht të ngulitur në të. Ky sensor është i aftë të gjurmojë në mënyrë efikase pozicionin dhe vendndodhjen e saktë të një objekti në rrafshin 3-dimensional. Mund të punësohet në