Sisukord:

R/C USB -sillale: 7 sammu
R/C USB -sillale: 7 sammu

Video: R/C USB -sillale: 7 sammu

Video: R/C USB -sillale: 7 sammu
Video: САМЫЙ ДЕШЁВЫЙ USB HUB из FixPrice #shorts #fixprice #usbhub 2024, November
Anonim
R/C USB -sillale
R/C USB -sillale

Teisendab raadiovastuvõtja PPM -signaalid juhtkangi asenditesse

Kasutage seda oma lemmikmängude ja lennusimulaatorite mängimiseks oma R/C raadiosaatjaga. Selles juhendis kasutatakse selle konversiooni tegemiseks Arduinot, mis pärineb littleBitsist ja DSMX -vastuvõtjat ning lihtsat koodilõiku.

Sa vajad

  • Võimsus
  • Arduino
  • USB kaablid
  • nööpnõelad
  • hüppaja traat
  • raadiovastuvõtja PPM -väljundiga.

Samm: jootetihvti päised Arduino täiendavatesse I/O portidesse

Jootetihvti päised Arduino täiendavatesse I/O portidesse
Jootetihvti päised Arduino täiendavatesse I/O portidesse

Vastuvõtja (RX) toiteks tuleb Arduinole lisada tihvtide päised. See muudab ka Bit -i ja RX -i vahelise juhtmestiku palju lihtsamaks. Lisateavet leiate aadressilt

Samm: lisage oma IDE -le Arduino juhtkangi kogu

Lisage oma IDE -le Arduino juhtkangi kogu
Lisage oma IDE -le Arduino juhtkangi kogu

Raamatukogu leiate GitHubist, https://github.com/MHeironimus/ArduinoJoystickLib… Tänan teid, Matthew Heironimus, selle kirjutamise eest.

Ainult teatud Arduinos suudavad HID -i jäljendada nagu juhtkangi. Kuna LittleBitsi mikrokontroller on südames Arduino Leonardo, on teil hea minna.

Samm: välgutage kood Arduinole

#sisalda #define sisendPin 16#defineeri kanaleid 4 #define lo 800 // kohenda RX väljundi jaoks#define hi 1600 // kohenda RX väljundiga#define filter 10int kanal [kanalid]; int previousValue [kanalid]; int counter = 0; Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, false, true, true, false, false, false); void setup () {Joystick.setXAxisRange (lo, Tere); Joystick.setYAxisRange (lo, tere); Joystick.setThrottleRange (lo, tere); Joystick.setRudderRange (lo, tere); Joystick.begin (); Seriaalne algus (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= channels-1; i ++) {channel = pulseIn (inputPin, HIGH); } jaoks (int i = 0; i <= kanalid-1; i ++) {if ((kanal > 2000) || (kanal <500)) {channel = previousValue ; } else {kanal = (eelmineVäärtus +kanal )/2; loendur ++; }} Joystick.setXAxis (kanal [0]); Joystick.setYAxis (kanal [1]); Joystick.setThrottle (kanal [2]); Joystick.setRudder (kanal [3]); } if (counter> filter) {for (int i = 0; i <= channels-1; i ++) {Serial.print ("channel"); Seeriatrükk (i+1); Serial.print (":"); Serial.println (kanal ); previousValue = kanal ; } loendur = 0; }}

Pidage meeles, et kood, mis ühendab R/C signaali ja emuleeritud USB HID -i, on kõige lihtsamal kujul. Siin kasutatav funktsioon - pulseIn - on blokeeriv funktsioon. Lugege siit ja siit, kuidas rakendada katkestuste abil mitteblokeerivat lähenemist.

Samm: tehke juhtmestik

Tehke juhtmestik
Tehke juhtmestik
Tehke juhtmestik
Tehke juhtmestik

Ühendage pistikjuhtme / DuPonti kaablid Bit ja RX vahel. Nende kaablite otsas olevad pistikud peavad olema naissoost. Me ühendame GND (sinine), VCC (pruun) ja signaali (oranž) RX -i PPM -pordist Arduino GND, VCC ja d16 -ga.

Samm: siduge vastuvõtja

Ühendage Arduino vooluvõrgust lahti. Asetage sidumisrakmed RX -i pistiku kohta, mis on tähistatud BIND. Lülitage raadiosaatja sisse ja lülitage see sidumisrežiimi. Seejärel rakendage Arduino toide. Sidumisprotsess õnnestus, kui vastuvõtja LED süttib.

Samm: kohandage kood vastavalt teie oludele

Arduino visandis olevaid konstante hi ja lo tuleb muuta, et kajastada kasutatava vastuvõtja tegelikku väljundit.

#define lo 800

#define tere 1600

Signaalid PPM impulsi sees jäävad ideaalis vahemikku 1000μs kuni 2000μs. Selles juhises kasutatava RX väärtused on ligikaudu 800 kuni 1600 ja on igal kanalil veidi erinevad. Vastuvõtja ulatuse väljaselgitamiseks avage Arduino IDE -s jadamonitor, et näha oma RX -i väljundit. See näeb välja umbes selline:

kanal 1: 728

kanal 2: 729 kanal 3: 703 kanal 4: 726 kanal 1: 1681 kanal 2: 1639 kanal 3: 1613 kanal 4: 1676

Kui teil on oma RX -väljundite vahemikust selgem ettekujutus, valige hi ja lo jaoks head lähendused ja muutke vastavalt konstante. Seejärel laadige visand uuesti Arduinosse.

Samm: kalibreerige emuleeritud juhtkangi

Ühendage seade arvutiga ja kasutage emuleeritud juhtkangi kalibreerimiseks oma operatsioonisüsteemi kalibreerimisfunktsiooni. Hea tööriist Linuxi jaoks on jstest-gtk.

Edasised täiustused

  • Kirjutage mitteblokeeriv kood (vt samm 3)
  • Määrake vahemikud kanali kohta, mitte globaalselt (vt 6. toimingut)

Lisalugemist

  • Redcon CM703
  • PPM

Soovitan: