Sadržaj:

DIY MPU-6050 USB joystick: 5 koraka
DIY MPU-6050 USB joystick: 5 koraka

Video: DIY MPU-6050 USB joystick: 5 koraka

Video: DIY MPU-6050 USB joystick: 5 koraka
Video: Квадрокоптер 450 MultiWii CRIUS v2.5. Схема, компоновка, прошивка, калибровка, подъем+ Crash. 2024, Studeni
Anonim
DIY MPU-6050 USB joystick
DIY MPU-6050 USB joystick

Uz Microsoft Flight Simulator 2020, brzo sam shvatio koliko je teško koristiti tipkovnicu za upravljanje planom. Pretražujući na internetu, nisam mogao pronaći joystick za razumnu cijenu za kupnju. Većina internetskih trgovaca nije ih imala na lageru. Popularnost MS Flight Simulatora i pandemije COVID 19 izbrisali su sve postojeće zalihe joysticka. Jedina mi je mogućnost bila da je sama napravim.

Većina upravljačkih palica vani koristi potenciometre za određivanje kutova upravljačke palice i slanje informacija o osi x i y natrag na računalo. Ovo dobro funkcionira, ali komplicira konstrukciju upravljačke palice. i s vremenom. potenciometri bi se mogli istrošiti. Umjesto da koristim potenciometre, odlučio sam otići s pločom za ubrzanje/senzor žiroskopa za slanje informacija računalu o kutovima štapa.

S popularnošću raznih Arduino mikroprocesora i različitih senzora, troškovi izgradnje Arduino projekta postaju mnogo pristupačniji. Jedna od najčešće korištenih senzorskih ploča akcelerometra/žiroskopa je MPU-6050. U Kanadi, to košta oko 7 USD CAN u Amazonu. Ja sam svoj dobio s eBay -a, a dostavili smo ga iz Kine za puno manje, ali vrijeme isporuke je bilo otprilike 3 mjeseca ili duže.

www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…

Bilo koja Arduino ploča bi radila, no upotreba ploče zasnovane na ATmega32u4 bit će mnogo jednostavnija, jer ATmega32u4 ima izvornu podršku za HID (Human Interface Device). Nakon što je ploča programirana, možete je koristiti na bilo kojem računalu sa sustavom Windows 10 i nije potreban dodatni softver. Windows 10 automatski će ga prepoznati kao joystick kad je USB priključen. (Upotreba druge vrste Arduino ploče previše je komplicirana za ovaj jednostavan projekt izgradnje).

Biram Arduino Leonardo ploču. 17 USD MOŽE od Amazona.

www.amazon.ca/KEYESTUDIO-Leonardo-Developm…

Ova dva uređaja glavni su zahtjevi za ovaj projekt. Potrebni su i drugi manji predmeti poput ožičenja i gumba. U ovom projektu sam koristio samo 2 tipke radi jednostavnosti.

Ručka upravljačke palice izrađena je od otpadne PVC vodovodne cijevi. To se može lako zamijeniti bilo kojom kratkom krutom cijevi.

Baza joysticka je opružni graničnik vrata pričvršćen na komad drveta.

Opružni graničnik vrata dostupan je u Home Depotu za 2,83 USD.

www.homedepot.ca/product/everbilt-spring-d…

Korak 1: Spajanje MPU6050 i gumba na Arduino Leonardo ploču

Spajanje MPU6050 i gumba na Arduino Leonardo ploču
Spajanje MPU6050 i gumba na Arduino Leonardo ploču
Spajanje MPU6050 i gumba na Arduino Leonardo ploču
Spajanje MPU6050 i gumba na Arduino Leonardo ploču
Spajanje MPU6050 i gumba na Arduino Leonardo ploču
Spajanje MPU6050 i gumba na Arduino Leonardo ploču

Na MPU 6050 koriste se samo 4 veze. Označene su kao VCC, GND, SCL i SDA.

Spojite VCC na 5v ili 3.3v na Arduinu Leonardu. (MPU 6050 može koristiti 5V ili 3.3V. Nije važno)

Spojite GND na bilo koji GND na Arduinu Leonardu.

Spojite SCL na SCL na Arduinu Leonardu.

Spojite SDA na SDA na Arduinu Leonardu.

U ove demonstracijske svrhe koristim samo 2 tipke.

Prvi gumb se koristi za resetiranje centra upravljačke palice. U ovom primjeru, jedan kraj tipke spojen je na GND, a jedan na PIN 13.

Drugi gumb se koristi kao gumb za upravljanje. U ovom primjeru, spojen je na PIN 9 i GND.

U svoj projekt možete dodati dodatne gumbe prema potrebi.

Korak 2: Izgradnja baze joysticka

Izgradnja baze joysticka
Izgradnja baze joysticka
Izgradnja baze joysticka
Izgradnja baze joysticka
Izgradnja baze joysticka
Izgradnja baze joysticka

Pronađite komad drvenog bloka. Što je teže to bolje. To će bazu upravljačke palice učiniti stabilnijom.

Zavijte opružni graničnik vrata na središte drvenog bloka kao što je prikazano na slici.

Kao ručku upravljačke palice upotrijebite komad kratke cijevi. Koristio sam PVC cijev za struganje. Nagazite žicu tako da akcelerometar/senzor žiroskopa sjedi na vrhu cijevi.

Zatim stavite cijev preko opružnog čepa. Koristio sam električnu traku da zalijepim senzor na vrhu.

Korak 3: Postavljanje Arduino IDE -a

Preuzmite i instalirajte Arduino IDE.https://www.arduino.cc/en/Main/Software

Za ovaj projekt koristio sam Arduino 1.8.13. Arduino Web Editor može se koristiti i za ovaj projekt.

Koriste se 2 knjižnice.

1. MPU6050_tockn po tockn

github.com/Tockn/MPU6050_tockn

ili ga možete pronaći u izborniku "Upravljanje knjižnicom".

2. Knjižnica joysticka od Mateja Heironimusa

github.com/MHeironimus/ArduinoJoystickLibr…

Ovaj je trenutno dostupan samo s web stranice GitHub.

Kliknite na Preuzmi kod i Preuzmi ZIP. Raspakirajte ZIP datoteku u svoj direktorij Arduino knjižnica.

U mom slučaju to je E: / PinChung / Documents / Arduino / libraries

Korak 4: Arduino program

Učitajte Pin_Joystick.ino na Arduino IDE te ga sastavite i prenesite na Leonardovu ploču.

Provjerite je li odabrana ploča Arduino Leonardo i odabran je broj porta s desne strane COM: u izborniku Alati.

Primijetio sam neko vrijeme da se program nije mogao učitati s kodom pogreške COM porta koji nije dostupan. Pritisak gumba za resetiranje na Leonardovoj ploči nekoliko puta tijekom kompajliranja mogao bi pomoći. Ponovno pokretanje sustava Windows 10 također bi moglo pomoći u oslobađanju COM porta.

Nakon što se program učita na Leonardovu ploču, Windows 10 trebao bi automatski otkriti Leonardovu joystick. Na traci za pretraživanje Windows 10 upišite Kontroleri igara, pokrenite Postavljanje USB kontrolora igara.

odaberite joystick Leonardo i kliknite Svojstva. Pokret joysticka i gumb joystick #1 trebao bi pokupiti Windows 10.

Ako upravljačka palica nije centrirana, kad je pustite, kliknite središnju tipku za poništavanje upravljačke palice koju smo upravo napravili. USB kontroleri za igre trebali bi prikazati točku joysticka u sredini. Nema potrebe kalibrirati joystick u programu USB Game Controller.

Napomena: Za one koji nisu upoznati s Arduinom Leonardom, kada je uređaj konfiguriran kao joystick, miš ili tipkovnica, serijski port neće raditi. Dakle "Serial.print ()" neće raditi. Također, MPU6050 koristi i2c knjižnicu žica te koristi SDA i SLC pinove. Na Leonardu SDA i SCL zauzimaju i PIN 2 i PIN 3, stoga nemojte koristiti ove 2 pinove za bilo što drugo.

Korak 5: Isprobajte joystick

Testirao sam ga na Microsoftovom simulatoru letenja 2020 i radi jako dobro. Moram ponekad pritisnuti središnju tipku da nuliram joystick. Vrijednost senzora MPU6050 mogla bi se malo pomaknuti s vremenom.

Postoji mnogo mogućnosti za trošenje na projektu, poput dodavanja više gumba i dodavanja kontrola gasa. Nadajmo se da će ovo potaknuti druge tinkere da istraže nove načine izrade stvari.

Preporučeni: