Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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
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
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.