Sadržaj:

R/C na USB most: 7 koraka
R/C na USB most: 7 koraka

Video: R/C na USB most: 7 koraka

Video: R/C na USB most: 7 koraka
Video: Морозильная камера не включается (замена пускового реле) 2024, Studeni
Anonim
R/C na USB most
R/C na USB most

Pretvara PPM signale s radijskog prijemnika u položaje upravljačke palice

Koristite ga za igranje omiljenih igara i simulatora letenja s vašim R/C radijskim odašiljačem. Ovaj Instructable koristi Arduino iz littleBits -a i DSMX prijemnik te jednostavan isječak koda za ovu pretvorbu.

Trebat će vam

  • Vlast
  • Arduino
  • USB kabeli
  • pin zaglavlja
  • kratkospojnik
  • radio prijemnik s PPM izlazom.

Korak 1: Lemljenje pin zaglavlja na dodatne Arduino I/O portove

Zaglavlja igara za lemljenje na dodatne Arduino I/O portove
Zaglavlja igara za lemljenje na dodatne Arduino I/O portove

Kako bi se napajao prijemnik (RX), potrebno je Arduinu dodati pin zaglavlja. To će također uvelike olakšati ožičenje između Bit -a i RX -a. Za više informacija pogledajte

Korak 2: Dodajte knjižnicu joystick Arduino u svoj IDE

Dodajte biblioteku joystick Arduino u svoj IDE
Dodajte biblioteku joystick Arduino u svoj IDE

Biblioteku možete pronaći na GitHub -u, https://github.com/MHeironimus/ArduinoJoystickLib… Hvala vam, Matthew Heironimus, što ste je napisali.

Samo određeni Arduinos može oponašati HID poput joysticka. Kako je mali upravljač LittleBits Arduino Leonardo u srcu, dobro je otići.

Korak 3: Prenesite kôd na Arduino

#include #define inputPin 16#definirati kanale 4 #define lo 800 // prilagoditi izlazu RX -a#definirati hi 1600 // prilagoditi izlazu RX -a#definirati filter 10int kanal [kanali]; int previousValue [kanali]; 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, bok); Joystick.setYAxisRange (gle, zdravo); Joystick.setThrottleRange (lo, hi); Joystick.setRudderRange (gle, zdravo); Joystick.begin (); Serial.begin (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= channel-1; i ++) {channel = pulseIn (inputPin, HIGH); } za (int i = 0; i <= kanali-1; i ++) {ako ((kanal > 2000) || (kanal <500)) {kanal = prethodnaVrijednost ; } else {kanal = (prethodnaVrijednost +kanal )/2; brojač ++; }} Joystick.setXAxis (kanal [0]); Joystick.setYAxis (kanal [1]); Joystick.setThrottle (kanal [2]); Joystick.setRudder (kanal [3]); } if (brojač> filter) {for (int i = 0; i <= kanali-1; i ++) {Serial.print ("kanal"); Serijski.ispis (i+1); Serial.print (":"); Serial.println (kanal ); previousValue = kanal ; } brojač = 0; }}

Imajte na umu da kôd koji premošćuje signal R/C i emulirani USB HID dolazi u svom najjednostavnijem obliku. Ovdje korištena funkcija - pulseIn - je funkcija blokiranja. Ovdje i ovdje pročitajte kako primijeniti pristup koji ne blokira pomoću prekida.

Korak 4: Ožičite

Izvedite ožičenje
Izvedite ožičenje
Izvedite ožičenje
Izvedite ožičenje

Spojite kratkospojnik / DuPont kabele između bita i RX -a. Priključci na kraju ovih kabela moraju biti ženski. Povezujemo GND (plavo), VCC (smeđe) i signal (narančasto) s PPM priključka RX -a na GND, VCC i d16 na Arduinu.

Korak 5: Vežite prijemnik

Isključite Arduino iz napajanja. Postavite vezni pojas na mjesto priključka označeno BIND na RX -u. Uključite radio odašiljač i prebacite ga u način vezivanja. Zatim priključite napajanje na Arduino. Postupak vezanja bio je uspješan kada se upali LED dioda u prijemniku.

Korak 6: Prilagodite kôd svojim okolnostima

Konstante hi i lo u Arduino skici potrebno je izmijeniti kako bi odražavale stvarni izlaz prijemnika koji koristite.

#definirajte 800

#definirajte 1600

Signali unutar PPM impulsa idealno se kreću od 1000μs do 2000μs. RX koji se koristi u ovom Instructableu daje vrijednosti otprilike između 800 i 1600 i malo se razlikuje na svakom kanalu. Da biste saznali koji raspon ima vaš prijemnik, otvorite Serial Monitor u Arduino IDE -u da vidite izlaz vašeg RX -a. Izgledat će slično ovako:

kanal 1: 728

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

Nakon što ste dobili jasniju predstavu o rasponu koji emitira vaš RX, odaberite dobre aproksimacije za hi i lo i prema tome promijenite konstante. Zatim ponovno prenesite skicu na Arduino.

Korak 7: Kalibrirajte emuliranu joystick

Priključite uređaj na računalo i upotrijebite funkciju kalibracije vašeg OS -a za kalibriranje emulirane upravljačke palice. Dobar alat za Linux je jstest-gtk.

Daljnja poboljšanja

  • Napišite kôd koji ne blokira (pogledajte korak 3)
  • Postavite raspone po kanalu, ne globalno (pogledajte korak 6)

Daljnje čitanje

  • Redcon CM703
  • PPM

Preporučeni: