Sisällysluettelo:

R/C USB -siltaan: 7 vaihetta
R/C USB -siltaan: 7 vaihetta

Video: R/C USB -siltaan: 7 vaihetta

Video: R/C USB -siltaan: 7 vaihetta
Video: Бесплатное Видеонаблюдение.Будет ли работать камера без ОБЛАКА? 2024, Marraskuu
Anonim
R/C USB -siltaan
R/C USB -siltaan

Muuntaa radiovastaanottimen PPM -signaalit ohjaussauvan asentoihin

Käytä sitä pelataksesi suosikkipelejäsi ja lentosimulaattoreita R/C -radiolähettimelläsi. Tämä Instructable käyttää Arduinoa LittleBitsistä ja DSMX -vastaanotinta sekä yksinkertaisen koodinpätkän tämän muunnoksen tekemiseen.

Tarvitset

  • Virta
  • Arduino
  • USB -kaapelit
  • nastojen otsikot
  • hyppyjohdin
  • radiovastaanotin, jossa on PPM -lähtö.

Vaihe 1: Juotospin otsikot Arduinon muihin I/O -portteihin

Juotospin otsikot Arduinon ylimääräisiin I/O -portteihin
Juotospin otsikot Arduinon ylimääräisiin I/O -portteihin

Vastaanottimen (RX) virran kytkemiseksi Arduinoon on lisättävä nastatunnisteet. Tämä helpottaa myös johdotusta bitin ja RX: n välillä. Katso lisätietoja osoitteesta

Vaihe 2: Lisää Arduino -joystick -kirjasto IDE -laitteeseesi

Lisää Arduino -joystick -kirjasto IDE -laitteeseesi
Lisää Arduino -joystick -kirjasto IDE -laitteeseesi

Löydät kirjaston GitHubista, https://github.com/MHeironimus/ArduinoJoystickLib… Kiitos, Matthew Heironimus, kirjoituksesta.

Vain tietyt Arduinot voivat jäljitellä HID: tä kuten ohjaussauva. Koska littleBits -mikrokontrolleri on sydämessäsi Arduino Leonardo, olet hyvä mennä.

Vaihe 3: Flash -koodi Arduinolle

#Sisällytä #määrittele sisääntuloaPin 16#määritä kanavat 4 #define lo 800 // säädä RX: n lähtöön#määritä hi 1600 // säädä RX: n lähtöön#määritä suodatin 10int kanava [kanavat]; int previousValue [kanavat]; 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, Hei); Joystick.setYAxisRange (lo, hei); Joystick.setThrottleRange (lo, hei); Joystick.setRudderRange (lo, hei); Joystick.begin (); Sarja.alku (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= kanavat-1; i ++) {channel = pulseIn (inputPin, HIGH); } for (int i = 0; i <= kanavat-1; i ++) {if ((kanava > 2000) || (kanava <500)) {channel = previousValue ; } else {channel = (previousValue +channel )/2; laskuri ++; }} Joystick.setXAxis (kanava [0]); Joystick.setYAxis (kanava [1]); Joystick.setThrottle (kanava [2]); Joystick.setRudder (kanava [3]); } if (laskuri> suodatin) {for (int i = 0; i <= kanavat-1; i ++) {Sarja.jälki ("kanava"); Sarjanjälki (i+1); Serial.print (":"); Sarja.println (kanava ); previousValue = kanava ; } laskuri = 0; }}

Huomaa, että koodi, joka muodostaa sillan R/C -signaalin ja emuloidun USB HID: n välillä, tulee yksinkertaisimmassa muodossaan. Tässä käytetty toiminto - pulseIn - on estotoiminto. Lue täältä ja täältä, kuinka voit käyttää estoa estävää lähestymistapaa keskeytysten avulla.

Vaihe 4: Tee johdotus

Tee johdotus
Tee johdotus
Tee johdotus
Tee johdotus

Liitä hyppyjohdin / DuPont -kaapelit bitin ja RX: n väliin. Näiden kaapeleiden päässä olevien liittimien on oltava naaraspuolisia. Yhdistämme GND (sininen), VCC (ruskea) ja signaali (oranssi) RX: n PPM -portista Arduinon GND-, VCC- ja d16 -portteihin.

Vaihe 5: Sido vastaanotin

Irrota Arduino virtalähteestä. Aseta sidosvaljaat RX: n BIND -merkittyyn liittimen kohtaan. Kytke radiolähetin päälle ja kytke se sidontatilaan. Seuraavaksi kytke virta Arduinoon. Sidontaprosessi onnistui, kun vastaanottimen LED -valo syttyy.

Vaihe 6: Säädä koodi olosuhteidesi mukaan

Arduinon luonnoksen vakioita hi ja lo on muutettava vastaamaan käyttämäsi vastaanottimen todellista lähtöä.

#määrittele 800

#määritä hei 1600

Signaalit PPM -pulssin sisällä vaihtelevat ihanteellisesti välillä 1000μs - 2000μs. Tässä opastetussa lähdössä käytettävä RX -arvo on suunnilleen välillä 800 ja 1600 ja on hieman erilainen kullakin kanavalla. Jos haluat selvittää vastaanottimesi kantaman, avaa Arduino IDE: n sarjamonitori nähdäksesi RX: n ulostulon. Se näyttää samalta:

kanava 1: 728

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

Kun sinulla on selkeämpi käsitys alueesta, jonka RX -lähdöt lähettävät, valitse hyvät likimääritykset hi ja lo: lle ja muuta vakioita vastaavasti. Lataa sitten luonnos Arduinolle uudelleen.

Vaihe 7: Kalibroi emuloitu ohjaussauva

Kytke laite tietokoneeseen ja käytä käyttöjärjestelmän kalibrointitoimintoa emuloidun ohjaussauvan kalibrointiin. Hyvä työkalu Linuxille on jstest-gtk.

Lisäparannuksia

  • Kirjoita ei-estokoodi (katso vaihe 3)
  • Aseta alueet kanavaa kohden, ei maailmanlaajuisesti (katso vaihe 6)

Lue lisää

  • Redcon CM703
  • PPM

Suositeltava: