Përmbajtje:

R/C në USB Bridge: 7 hapa
R/C në USB Bridge: 7 hapa

Video: R/C në USB Bridge: 7 hapa

Video: R/C në USB Bridge: 7 hapa
Video: SKR 1.4 - Adding a 3d Extruder Stepper for a Diamond PrintHead 2024, Nëntor
Anonim
R/C në USB Bridge
R/C në USB Bridge

Konverton sinjalet PPM nga një marrës radio në pozicione levë

Përdoreni atë për të luajtur lojërat tuaja të preferuara dhe simuluesit e fluturimit me transmetuesin tuaj të radios R/C. Ky Instructable përdor një Arduino nga littleBits dhe një marrës DSMX plus një copë kod të thjeshtë për të bërë këtë konvertim.

Do t'ju duhet

  • Fuqia
  • Arduino
  • Kabllo USB
  • tituj pin
  • tela bluzë
  • një marrës radio me dalje PPM.

Hapi 1: Mbërtheni titujt e kunjave në portet shtesë të hyrjes/daljes së Arduino

Solder Pin Headers në Portat shtesë Arduino të I/O
Solder Pin Headers në Portat shtesë Arduino të I/O

Për të fuqizuar marrësin (RX), titujt e pin duhet të shtohen në Arduino. Kjo gjithashtu do ta bëjë lidhjen midis Bit dhe RX shumë më të lehtë. Shihni https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit për më shumë informacion.

Hapi 2: Shtoni Bibliotekën Arduino Joystick në IDE -në tuaj

Shtoni Bibliotekën Arduino Joystick në IDE -në tuaj
Shtoni Bibliotekën Arduino Joystick në IDE -në tuaj

Ju mund ta gjeni bibliotekën në GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Faleminderit, Matthew Heironimus, për shkrimin e saj.

Vetëm disa Arduinos mund të imitojnë një HID si një levë. Meqenëse mikrokontrolluesi littleBits është një Arduino Leonardo në zemër, ju jeni mirë për të shkuar.

Hapi 3: Kaloni kodin në Arduino

#përfshi #përcakto hyrjenPin 16#përcaktoni kanalet 4 #përcaktoni lo 800 // përshtateni në daljen e RX#definoni hi 1600 // përshtateni në daljen e RX#përcaktoni filtrin 10int kanal [kanale]; int [kanalet] e mëparshmeVlera; int counter = 0; Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, e vërtetë, e vërtetë, e rreme, e rreme, e rreme, e vërtetë, e vërtetë, e rreme, e rreme, e rreme); void setup () {Joystick.setX pershendetje); Joystick.setYAxisRange (ja, hi); Joystick.setThrottleRange (ja, përshëndetje); Joystick.setRudderRange (ja, hi); Xhojstik.filloj (); Serial.filloj (9600); pinMode (inputPin, INPUT); } lak void () {if (pulseIn (inputPin, HIGH)> 3000) {për (int i = 0; i <= kanalet-1; i ++) {channel = pulseIn (inputPin, HIGH); } për (int i = 0; i <= kanalet-1; i ++) {if ((kanali > 2000) || (kanali <500)) {kanali = vlera e mëparshme ; } else {kanali = (vlera e mëparshme +kanali )/2; banak ++; }} Joystick.setXAxis (kanali [0]); Joystick.setYAxis (kanali [1]); Joystick.setThrottle (kanali [2]); Joystick.setRudder (kanali [3]); } if (counter> filter) {for (int i = 0; i <= channel-1; i ++) {Serial.print ("channel"); Serial.print (i+1); Serial.print (":"); Serial.println (kanali ); previousVlera = kanali ; } counter = 0; }}

Ju lutemi kini parasysh se kodi i cili kalon midis sinjalit R/C dhe USB HID të emuluar vjen në formën e tij më të thjeshtë. Funksioni i përdorur këtu - pulseIn - është një funksion bllokues. Lexoni këtu, dhe këtu, si të zbatoni një qasje jo-bllokuese duke përdorur ndërprerjet.

Hapi 4: Kryeni tela

Bëni telat
Bëni telat
Bëni telat
Bëni telat

Lidhni kabllot e kërcimit / kabllove DuPont midis Bit dhe RX. Lidhësit në fund të këtyre kabllove duhet të jenë femra. Ne lidhim GND (blu), VCC (kafe) dhe sinjal (portokalli) nga porti PPM i RX në GND, VCC dhe d16 në Arduino.

Hapi 5: Lidheni Marrësin

Shkëputeni Arduino nga fuqia. Vendosni parzmoren lidhëse në vendin e lidhësit të shënuar BIND në RX. Ndizni transmetuesin tuaj të radios dhe kalojeni në modalitetin e lidhjes. Më pas aplikoni fuqinë në Arduino. Procesi i lidhjes ishte i suksesshëm kur LED në marrës ndizet.

Hapi 6: Përshtateni Kodin në Rrethanat tuaja

Konstantet hi dhe lo në skicën Arduino duhet të ndryshohen për të pasqyruar daljen aktuale të marrësit që po përdorni.

#përcakto 800

#përcakto përshëndetje 1600

Sinjalet brenda impulsit PPM shkojnë në mënyrë ideale nga 1000μs në 2000μs. RX e përdorur në këto rezultate Instructable vlerëson afërsisht midis 800 dhe 1600 dhe është paksa e ndryshme në secilin kanal. Për të zbuluar se cilën gamë ka marrësi juaj, hapni Monitorin Serial në Arduino IDE për të parë daljen e RX tuaj. Do të duket e ngjashme me këtë:

kanali 1: 728

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

Pasi të keni një ide më të qartë të diapazonit të daljes tuaj RX, zgjidhni përafrime të mira për hi dhe lo dhe ndryshoni konstantet në përputhje me rrethanat. Pastaj ngarkoni skicën përsëri në Arduino.

Hapi 7: Kalibroni Xhojstikun e Emuluar

Lidheni pajisjen me kompjuterin tuaj dhe përdorni funksionin e kalibrimit të sistemit tuaj operativ për të kalibruar levën e emuluar. Një mjet i mirë për Linux është jstest-gtk.

Përmirësime të mëtejshme

  • Shkruani kod jo bllokues (shikoni hapin 3)
  • Vendosni diapazone për kanal, jo globalisht (shikoni hapin 6)

Leximi më tej

  • Redcon CM703
  • PPM

Recommended: