Kazalo:

R/C do USB Bridge: 7 korakov
R/C do USB Bridge: 7 korakov

Video: R/C do USB Bridge: 7 korakov

Video: R/C do USB Bridge: 7 korakov
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, November
Anonim
R/C na USB Bridge
R/C na USB Bridge

Pretvori signale PPM iz radijskega sprejemnika v položaje krmilne palice

Uporabite ga za igranje vaših najljubših iger in simulatorjev letenja z radijskim oddajnikom R/C. Ta Instructable za to pretvorbo uporablja Arduino iz littleBits in sprejemnik DSMX ter preprost delček kode.

Boste potrebovali

  • Moč
  • Arduino
  • USB kabli
  • pin glave
  • mostična žica
  • radijski sprejemnik z izhodom PPM.

Korak: Spajite glave za spajkanje na dodatne V/I porte Arduina

Spajkalne glave spajkajte na dodatna V/I porta Arduino
Spajkalne glave spajkajte na dodatna V/I porta Arduino

Za napajanje sprejemnika (RX) je treba v Arduino dodati pin -glave. To bo tudi olajšalo ožičenje med Bitom in RX. Za več informacij glejte

Korak: Dodajte knjižnico igralnih palic Arduino v svoj IDE

Knjižnico krmilnih palic Arduino dodajte v svoj IDE
Knjižnico krmilnih palic Arduino dodajte v svoj IDE

Knjižnico najdete na spletnem mestu GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Hvala, Matej Heironimus, da ste jo napisali.

Samo nekateri Arduino lahko posnemajo HID kot igralno palico. Ker je mikrokrmilnik littleBits po srcu Arduino Leonardo, ste pripravljeni.

Korak: Kodo prenesite na Arduino

#include #define inputPin 16#definiraj kanale 4 #define lo 800 // prilagodi izhodu RX#definiraj hi 1600 // prilagodi izhodu RX#definiraj 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, false, false, false); void setup () {Joystick.setXAxisRange, zdravo); Joystick.setYAxisRange (glej, zdravo); Joystick.setThrottleRange (glej, zdravo); Joystick.setRudderRange (glej, 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 ++) {if ((kanal > 2000) || (kanal <500)) {kanal = prejšnjaVrednost ; } else {kanal = (prejšnjaVrednost +kanal )/2; števec ++; }} Joystick.setXAxis (kanal [0]); Joystick.setYAxis (kanal [1]); Joystick.setThrottle (kanal [2]); Joystick.setRudder (kanal [3]); } if (števec> filter) {za (int i = 0; i <= kanali-1; i ++) {Serial.print ("kanal"); Serial.print (i+1); Serial.print (":"); Serial.println (kanal ); previousValue = kanal ; } števec = 0; }}

Upoštevajte, da je koda, ki premosti med signalom R/C in emuliranim USB HID -om, v svoji najpreprostejši obliki. Tu uporabljena funkcija - pulseIn - je blokirna funkcija. Tukaj in tukaj preberite, kako z uporabo prekinitev izvesti pristop, ki ne blokira.

4. korak: Ožičite

Naredite ožičenje
Naredite ožičenje
Naredite ožičenje
Naredite ožičenje

Mostični kabel / kable DuPont priključite med Bit in RX. Priključki na koncu teh kablov morajo biti ženski. GND (modro), VCC (rjavo) in signal (oranžno) povežemo iz vrat PPM RX na GND, VCC in d16 na Arduinu.

5. korak: Povežite sprejemnika

Arduino izključite iz napajanja. Vezni pas vstavite v mesto priključka z oznako BIND na RX. Vklopite radijski oddajnik in ga preklopite v način vezave. Nato priključite napajanje na Arduino. Postopek vezave je bil uspešen, ko se prižge LED v sprejemniku.

6. korak: Kodo prilagodite svojim okoliščinam

Konstante hi in lo v skici Arduino je treba spremeniti, da odražajo dejanski izhod sprejemnika, ki ga uporabljate.

#Določi 800

#define hi 1600

Signali znotraj impulza PPM se idealno gibljejo od 1000μs do 2000μs. RX, uporabljen v tem navodilu, daje vrednosti približno med 800 in 1600 in se na vsakem kanalu nekoliko razlikuje. Če želite izvedeti, kakšen doseg ima vaš sprejemnik, odprite serijski monitor v Arduino IDE in si oglejte izhod vašega RX. Izgledalo bo takole:

kanal 1: 728

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

Ko imate jasnejšo predstavo o razponu, ki ga oddaja vaš RX, izberite dobre približke za hi in lo in ustrezno spremenite konstante. Nato znova naložite skico v Arduino.

7. korak: Umerite simulirano igralno palico

Napravo priključite na računalnik in s funkcijo umerjanja v operacijskem sistemu umerite emulirano krmilno palčko. Dobro orodje za Linux je jstest-gtk.

Nadaljnje izboljšave

  • Napišite kodo, ki ne blokira (glejte 3. korak)
  • Določite obsege na kanal, ne globalno (glejte 6. korak)

nadaljnje branje

  • Redcon CM703
  • PPM

Priporočena: