DIY MPU-6050 USB-ohjaussauva: 5 vaihetta
DIY MPU-6050 USB-ohjaussauva: 5 vaihetta
Anonim
DIY MPU-6050 USB-ohjaussauva
DIY MPU-6050 USB-ohjaussauva

Microsoft Flight Simulator 2020: n avulla tajusin nopeasti, kuinka vaikeaa on käyttää näppäimistöä suunnitelman lentämiseen. Verkosta haettaessa en löytänyt kohtuuhintaista ohjaussauvaa ostettavaksi. Suurin osa verkkokaupoista oli varastossa. MS -lentosimulaattorin ja COVID 19 -pandemian suosio pyyhki pois kaikki joystick -varastot. Ainoa vaihtoehto oli rakentaa sellainen itse.

Useimmat siellä olevista ohjaussauvoista käyttävät potentiometrejä pohjassa ohjaussauvan kulmien määrittämiseksi ja lähettävät x- ja y -akselin tiedot takaisin tietokoneelle. Tämä toimii hyvin, mutta vaikeuttaa ohjaussauvan rakentamista. ja ajan myötä. potentiometrit voivat kulua. Potentiometrien käyttämisen sijaan päätin käyttää kiihtyvyysmittaria/gyroskooppi -anturikorttia lähettääkseni tietoja tietokoneeseen tikun kulmista.

Eri Arduino -mikroprosessorien ja erilaisten antureiden suosion myötä Arduino -projektin rakentamisesta tulee paljon edullisempaa. Yksi yleisesti käytetyistä kiihtyvyysanturi/gyroskooppi-anturikorteista on MPU-6050. Kanadassa se maksaa noin 7 dollaria CAN Amazonissa. Sain omani eBaysta, joka lähetettiin Kiinasta paljon halvemmalla, mutta toimitusaika oli noin 3 kuukautta tai pidempi.

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

Mikä tahansa Arduino -kortti toimisi, mutta ATmega32u4 -pohjaisen levyn käyttäminen on paljon yksinkertaisempaa, koska ATmega32u4: llä on alkuperäinen HID (Human Interface Device) -tuki. Kun levy on ohjelmoitu, voit käyttää sitä missä tahansa Windows 10 -tietokoneessa ilman lisäohjelmistoja. Windows 10 tunnistaa sen automaattisesti ohjaussauvana, kun USB on kytketty. (Muuntyyppisen Arduino -kortin käyttö on liian monimutkaista tätä yksinkertaista rakennusprojektia varten).

Valitsen Arduino Leonardo -levyn. 17 dollaria CAN Amazonilta.

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

Nämä kaksi laitetta ovat tämän projektin tärkeimmät vaatimukset. Myös muita pienempiä kohteita, kuten johdotuksia ja painikkeita, tarvitaan. Tässä projektissa käytin yksinkertaisuuden vuoksi vain kahta painonappia.

Ohjaussauvan kahva on valmistettu PVC -vesiputkesta. Tämä voidaan helposti korvata millä tahansa lyhyellä jäykällä putkella.

Ohjaussauvan pohja on puukappaleeseen kiinnitetty jousiluukku.

Jousioven pysäytin on saatavana Home Depotilta hintaan 2,83 dollaria.

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

Vaihe 1: MPU6050: n ja painikkeiden liittäminen Arduino Leonardo Boardiin

MPU6050: n ja painikkeiden liittäminen Arduino Leonardo Boardiin
MPU6050: n ja painikkeiden liittäminen Arduino Leonardo Boardiin
MPU6050: n ja painikkeiden liittäminen Arduino Leonardo Boardiin
MPU6050: n ja painikkeiden liittäminen Arduino Leonardo Boardiin
MPU6050: n ja painikkeiden liittäminen Arduino Leonardo Boardiin
MPU6050: n ja painikkeiden liittäminen Arduino Leonardo Boardiin

MPU 6050 -laitteessa käytetään vain 4 liitäntää. Ne on merkitty VCC, GND, SCL ja SDA.

Liitä VCC 5 tai 3,3 V: iin Arduino Leonardossa. (MPU 6050 voi käyttää joko 5v tai 3.3v. Ei väliä)

Yhdistä GND mihin tahansa Arduino Leonardon GND: hen.

Yhdistä SCL SCL: ään Arduino Leonardossa.

Yhdistä SDA SDA: han Arduino Leonardossa.

Käytän tätä esittelyä varten vain kahta painonappia.

Ensimmäisellä painikkeella palautetaan ohjaussauvan keskipiste. Tässä esimerkissä painikkeen toinen pää on kytketty GND: hen ja toinen pää PIN 13: een.

Toinen painike toimii ohjaussauvana. Tässä esimerkissä se on kytketty PIN 9: ään ja GND: hen.

Voit lisätä lisäpainikkeita tarpeen mukaan projektissasi.

Vaihe 2: Joystick -pohjan rakentaminen

Joystick -tukikohdan rakentaminen
Joystick -tukikohdan rakentaminen
Joystick -tukikohdan rakentaminen
Joystick -tukikohdan rakentaminen
Joystick -tukikohdan rakentaminen
Joystick -tukikohdan rakentaminen

Etsi pala puupalaa. Mitä raskaampi sen parempi. Se tekee ohjaussauvasta vakaamman.

Kierrä jousiluukun tulppa puupalkin keskelle kuvan osoittamalla tavalla.

Käytä ohjaussauvan kahvaksi lyhyttä putkea. Käytin kaavittua PVC -putkea. Kulje lankaa niin, että kiihtyvyysanturi/gyroskooppi -anturi istuu putken päällä.

Aseta sitten putki oven jousitulpan päälle. Teipasin anturin päälle sähköteipillä.

Vaihe 3: Asenna Arduino IDE

Lataa ja asenna Arduino IDE.https://www.arduino.cc/en/Main/Software

Käytin Arduinoa 1.8.13 tähän projektiin. Arduino Web Editoria voidaan käyttää myös tässä projektissa.

Käytössä on 2 kirjastoa.

1. MPU6050_tockn tockn

github.com/Tockn/MPU6050_tockn

tai löydät sen "Hallitse kirjastoa" -valikosta.

2. Joystick -kirjasto, Matthew Heironimus

github.com/MHeironimus/ArduinoJoystickLibr…

Tämä on tällä hetkellä saatavilla vain GitHubin verkkosivustolta.

Napsauta Lataa koodi ja Lataa ZIP. Pura ZIP -tiedosto Arduino -kirjastojen hakemistoon.

Minun tapauksessani se on E: / PinChung / Documents / Arduino / -kirjastoja

Vaihe 4: Arduino -ohjelma

Lataa Pin_Joystick.ino Arduino IDE: hen ja käännä ja lataa Leonardo -taululle.

Varmista, että Arduino Leonardo -kortti on valittuna ja portin numero oikealla COM: Työkalut -valikossa.

Huomasin jonkin aikaa, ohjelmaa ei voitu ladata COM -portin virhekoodin ollessa käytettävissä. Leonardo -levyn nollauspainikkeen painaminen pari kertaa kääntämisen aikana saattaa auttaa. Myös Windows 10: n uudelleenkäynnistys voi auttaa vapauttamaan COM -portin.

Kun ohjelma on ladattu Leonardo -taululle, Windows 10 tunnistaa Leonardo -ohjaussauvan automaattisesti. Kirjoita Windows 10 -hakupalkkiin peliohjaimet ja suorita Määritä USB -peliohjaimet.

valitse Leonardo Joystick ja napsauta Ominaisuudet. Windows 10: n pitäisi noutaa ohjaussauvan liike ja ohjaussauvan numero 1.

Jos ohjaussauva ei ole keskellä, kun päästät sen irti, napsauta juuri tekemäämme nollausjoystickin keskipainiketta. USB -peliohjainten pitäisi näyttää ohjaussauvan piste keskellä. Joystickia ei tarvitse kalibroida USB Game Controller -ohjelmassa.

Sivuhuomautus: Niille, jotka eivät tunne Arduino Leonardoa, sarjaportti ei toimi, kun laite on määritetty ohjaussauvaksi, hiireksi tai näppäimistöksi. Joten "Serial.print ()" ei toimi. Lisäksi MPU6050 käyttää i2c -lankakirjastoa ja käyttää SDA- ja SLC -nastoja. Leonardossa SDA ja SCL käyttävät sekä PIN 2 että PIN 3, joten älä käytä näitä 2 nastaa mihinkään muuhun.

Vaihe 5: Ohjaussauvan testaaminen

Testasin sen Microsoft Flight Simulator 2020 -laitteella ja se toimii erittäin hyvin. Minun täytyy painaa keskipainiketta joskus nollata ohjaussauva. MPU6050 -anturin arvo saattaa muuttua hieman ajan myötä.

Projektissa on paljon mahdollisuuksia käyttää rahaa, kuten lisäämällä lisää painikkeita ja lisäämällä kaasusäätimiä. Toivottavasti tämä innostaa muita piilottajia tutkimaan uusia tapoja tehdä asioita.