INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Met Microsoft Flight Simulator 2020 het ek vinnig besef hoe moeilik dit is om met die sleutelbord 'n plan te maak. As ek aanlyn gesoek het, kon ek nie 'n joystick teen 'n redelike prys koop om te koop nie. Die meeste aanlyn -kleinhandelaars het dit uit voorraad gehad. Die gewildheid van MS Flight Simulator en COVID 19 -pandemie het al die bestaande joystick -aandele uitgewis. My enigste opsie was om self een te bou.
Die meeste van die joysticks daar buite gebruik potensiometers aan die basis om die hoeke van die joystick te bepaal en stuur x- en y -as -inligting terug na die rekenaar. Dit werk goed, maar bemoeilik die konstruksie van die joystick. en met verloop van tyd. die potensiometers kan verswak. In plaas daarvan om potensiometers te gebruik, het ek besluit om met 'n versnellingsmeter/gyroscoop sensorbord te gaan om inligting oor die hoeke van die stok na die rekenaar te stuur.
Met die gewildheid van verskillende Arduino -mikroverwerkers en verskillende sensors, word die koste van die bou van 'n Arduino -projek baie meer bekostigbaar. Een van die algemeen gebruikte versnellingsmeter/gyroscoop sensorbord is MPU-6050. In Kanada kos dit ongeveer $ 7 CAN in Amazon. Ek het myne van eBay vir baie minder uit China gestuur, maar die afleweringstyd was ongeveer 3 maande of langer.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Enige Arduino -bord sou werk, maar die gebruik van ATmega32u4 -bord sal baie eenvoudiger wees, want ATmega32u4 het inheemse HID -ondersteuning (Human Interface Device). Sodra die bord geprogrammeer is, kan u dit op enige Windows 10 -rekenaar gebruik en geen ekstra sagteware benodig nie. Windows 10 sal dit outomaties herken as 'n joystick wanneer die USB ingeprop word. (Die gebruik van 'n ander tipe Arduino -bord is te ingewikkeld vir hierdie eenvoudige bouprojek).
Ek kies die Arduino Leonardo -bord. $ 17 KAN by Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Hierdie twee toestelle is die belangrikste vereistes vir hierdie projek. Ander kleiner items, soos bedrading en drukknoppies, is ook nodig. In hierdie projek het ek slegs 2 drukknoppies gebruik om dit eenvoudig te maak.
Die joystick -handvatsel is gemaak van 'n afval PVC -waterpyp. Dit kan maklik vervang word met enige kort, stywe pyp.
Die basis van die joystick is 'n veerdeurstop op 'n stuk hout.
Die springdeurstop is beskikbaar by Home Depot vir $ 2,83 CAN.
www.homedepot.ca/product/everbilt-spring-d…
Stap 1: Koppel MPU6050 en drukknoppies aan Arduino Leonardo Board
Slegs 4 verbindings word gebruik op MPU 6050. Dit is gemerk VCC, GND, SCL en SDA.
Koppel VCC aan 5v of 3.3v op Arduino Leonardo. (MPU 6050 kan 5v of 3.3v gebruik. Maak nie saak nie)
Koppel GND aan enige GND op Arduino Leonardo.
Koppel SCL aan SCL op Arduino Leonardo.
Koppel SDA aan SDA op Arduino Leonardo.
Ek gebruik slegs 2 drukknoppies vir hierdie demonstrasie doel.
Die eerste drukknop word gebruik om die joystick -sentrum terug te stel. In hierdie voorbeeld is die een kant van die drukknoppie gekoppel aan GND en die een kant aan PIN 13.
Die tweede drukknop word gebruik as 'n joystick -knoppie. In hierdie voorbeeld is dit gekoppel aan PIN 9 en GND.
U kan addisionele knoppies byvoeg indien nodig in u projek.
Stap 2: Bou die joystick -basis
Soek 'n stuk houtblok. Hoe swaarder hoe beter. Dit sal die joystick -basis stabieler maak.
Skroef die veerdeurprop in die middel van die houtblok vas soos op die foto.
Gebruik 'n stuk kort pyp as die joystick -handvatsel. Ek het 'n PVC pyp gebruik. Trap die draad sodat die versnellingsmeter/gyroscoop sensor bo -op die pyp sit.
Sit dan die pyp oor die deur van die veerdeur. Ek het elektriese band gebruik om die sensor aan die bokant vas te plak.
Stap 3: Stel Arduino IDE op
Laai en installeer Arduino IDE.
Ek het Arduino 1.8.13 vir hierdie projek gebruik. Arduino Web Editor kan ook vir hierdie projek gebruik word.
2 biblioteke word gebruik.
1. MPU6050_tockn deur tockn
github.com/Tockn/MPU6050_tockn
of u kan dit vind in die menu "Bestuur biblioteek".
2. Joystick -biblioteek deur Matthew Heironimus
github.com/MHeironimus/ArduinoJoystickLibr…
Hierdie een is tans slegs beskikbaar vanaf die GitHub -webwerf.
Klik op die aflaai kode en laai zip af. Pak die zip -lêer uit na u Arduino biblioteke -gids.
In my geval is dit E: / PinChung / Documents / Arduino / biblioteke
Stap 4: Arduino -program
Laai Pin_Joystick.ino op Arduino IDE en stel dit op en laai dit op na die Leonardo -bord.
Maak seker dat die Arduino Leonardo -bord gekies is en dat die poortnommer in die regte COM is: in die menu Tools.
Ek het 'n geruime tyd opgemerk dat die program nie opgelaai kon word nie, met die foutkode van die COM -poort nie beskikbaar nie. Dit kan help om 'n paar keer op die reset -knoppie op die Leonardo -bord te druk terwyl u dit saamstel. As u Windows 10 herlaai, kan dit ook help om die COM -poort vry te stel.
Sodra die program op die Leonardo -bord opgelaai is, behoort Windows 10 outomaties die Leonardo -joystick op te spoor. Tik Spelbeheerders in die soekbalk van Windows 10, voer USB -spelbeheerders op.
kies Leonardo joystick en klik op Eienskappe. Die joystick -beweging en die joystick #1 -knoppie moet deur Windows 10 opgetel word.
As die joystick nie in die middel is nie, klik op die reset -joystick -middelknoppie wat ons pas gemaak het as u dit los. Die USB -spelbeheerders moet die joystick -punt in die middel wys. Dit is nie nodig om die joystick in die USB Game Controller -program te kalibreer nie.
Kantopmerking: vir diegene wat nie bekend is met Arduino Leonardo nie, werk die seriële poort nie as die toestel as 'n joystick, muis of sleutelbord gekonfigureer is nie. "Serial.print ()" werk dus nie. MPU6050 gebruik ook i2c draadbiblioteek en gebruik SDA- en SLC -penne. Op Leonardo, SDA en SCL gebruik beide PIN 2 en PIN 3, dus moenie hierdie 2 penne vir iets anders gebruik nie.
Stap 5: toets die joystick uit
Ek het dit op die Microsoft Flight Simulator 2020 getoets en dit werk baie goed. Ek moet soms op die middelste sleutel druk om die joystick te verlaag. Die sensorwaarde van MPU6050 kan mettertyd 'n bietjie daal.
Daar is baie geleenthede om aan die projek te bestee, soos die toevoeging van meer knoppies en die toevoeging van gashendels. Hopelik sal dit ander dinkers inspireer om nuwe maniere om dinge te maak, te ondersoek.