Cuprins:
- Pasul 1: anteturi de lipire pe porturile I / O suplimentare ale Arduino
- Pasul 2: Adăugați biblioteca Arduino Joystick la IDE-ul dvs
- Pasul 3: Introduceți codul pe Arduino
- Pasul 4: Faceți cablajul
- Pasul 5: legați receptorul
- Pasul 6: Ajustați codul la circumstanțele dvs
- Pasul 7: Calibrați joystick-ul emulat
Video: R / C la USB Bridge: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Convertește semnalele PPM de la un receptor radio în poziții joystick
Folosiți-l pentru a vă juca jocurile și simulatoarele de zbor preferate cu emițătorul radio R / C. Acest instructabil folosește un Arduino de la littleBits și un receptor DSMX plus un fragment de cod simplu pentru a face această conversie.
Vei avea nevoie
- Putere
- Arduino
- Cabluri USB
- anteturile pinului
- sârmă jumper
- un receptor radio cu ieșire PPM.
Pasul 1: anteturi de lipire pe porturile I / O suplimentare ale Arduino
Pentru a alimenta receptorul (RX), trebuie adăugate anteturi pin la Arduino. Acest lucru va facilita, de asemenea, cablarea între Bit și RX. Pentru mai multe informații, consultați
Pasul 2: Adăugați biblioteca Arduino Joystick la IDE-ul dvs
Puteți găsi biblioteca pe GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Vă mulțumim, Matthew Heironimus, pentru că ați scris-o.
Numai anumite Arduino pot emula un HID ca un joystick. Deoarece microcontrolerul littleBits este un Arduino Leonardo la inimă, sunteți bine să mergeți.
Pasul 3: Introduceți codul pe Arduino
#include #define inputPin 16 # define channels 4 #define lo 800 // ajustare la ieșirea RX # define hi 1600 // ajustare la ieșirea RX # define filtru 10int canal [canale]; int precedentValoare [canale]; 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, Salut); Joystick.setYAxisRange (lo, hi); Joystick.setThrottleRange (lo, hi); Joystick.setRudderRange (lo, hi); Joystick.begin (); Serial.begin (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= channels-1; i ++) {channel = pulseIn (inputPin, HIGH); } for (int i = 0; i <= channels-1; i ++) {if ((channel > 2000) || (channel <500)) {channel = previousValue ; } else {canal = (precedentValoare + canal ) / 2; contor ++; }} Joystick.setXAxis (canal [0]); Joystick.setYAxis (canal [1]); Joystick.setThrottle (canal [2]); Joystick.setRudder (canal [3]); } if (contor> filtru) {for (int i = 0; i <= channels-1; i ++) {Serial.print ("channel"); Serial.print (i + 1); Serial.print (":"); Serial.println (canal ); precedentValoare = canal ; } contor = 0; }}
Vă rugăm să rețineți că codul care face legătura între semnalul R / C și USB HID emulat vine în forma sa cea mai simplă. Funcția utilizată aici - pulseIn - este o funcție de blocare. Citiți aici și aici cum să implementați o abordare fără blocare folosind întreruperi.
Pasul 4: Faceți cablajul
Conectați cablurile jumper / cabluri DuPont între Bit și RX. Conectorii de la capătul acestor cabluri trebuie să fie feminini. Conectăm GND (albastru), VCC (maro) și semnal (portocaliu) de la portul PPM al RX la GND, VCC și d16 pe Arduino.
Pasul 5: legați receptorul
Deconectați Arduino de la alimentare. Puneți cablajul de legare în locația conectorului marcată BIND pe RX. Porniți emițătorul radio și comutați-l în modul de legare. Apoi aplicați energie Arduino. Procesul de legare a avut succes când LED-ul din receptor se aprinde.
Pasul 6: Ajustați codul la circumstanțele dvs
Constantele hi și lo din schița Arduino trebuie modificate pentru a reflecta ieșirea reală a receptorului pe care îl utilizați.
#define lo 800
#define hi 1600
Semnalele din interiorul impulsului PPM variază în mod ideal de la 1000μs la 2000μs. RX-ul utilizat în acest manual de ieșire valorează aproximativ între 800 și 1600 și este ușor diferit pe fiecare canal. Pentru a afla ce distanță are receptorul dvs., deschideți monitorul serial în Arduino IDE pentru a vedea ieșirea RX-ului dvs. Va arăta similar cu acesta:
canalul 1: 728
canal 2: 729 canal 3: 703 canal 4: 726 canal 1: 1681 canal 2: 1639 canal 3: 1613 canal 4: 1676
După ce aveți o idee mai clară despre intervalul pe care îl scoate RX, alegeți aproximări bune pentru hi și lo și modificați constantele în consecință. Apoi încărcați din nou schița pe Arduino.
Pasul 7: Calibrați joystick-ul emulat
Conectați dispozitivul la computer și utilizați funcția de calibrare a sistemului dvs. de operare pentru a calibra joystick-ul emulat. Un instrument bun pentru Linux este jstest-gtk.
Îmbunătățiri suplimentare
- Scrieți codul care nu blochează (vezi Pasul 3)
- Setați intervale pe canal, nu la nivel global (consultați Pasul 6)
Lecturi suplimentare
- Redcon CM703
- PPM
Recomandat:
Tiny H-Bridge Drivers - Noțiuni de bază: 6 pași (cu imagini)
Tiny H-Bridge Drivers | Noțiuni de bază: Bună ziua și bine ați revenit la un alt instructabil! În cea anterioară, v-am arătat cum am creat bobine în KiCad folosind un script python. Apoi am creat și testat câteva variante de bobine pentru a vedea care funcționează cel mai bine. Scopul meu este să înlocuiesc imensul
Amplificator de putere LM3886, dual sau bridge (îmbunătățit): 11 pași (cu imagini)
Amplificator de putere LM3886, dual sau bridge (îmbunătățit): un amplificator compact de putere dual (sau bridge) este ușor de construit dacă aveți o experiență electronică. Sunt necesare doar câteva piese. Desigur, este și mai ușor să construiești un amplificator mono. Problemele cruciale sunt alimentarea cu energie și răcirea. Cu com
Construiți Rainbow Interactive Bridge folosind Minecraft Raspberry Pi Edition: 11 pași
Construiți Rainbow Interactive Bridge folosind Minecraft Raspberry Pi Edition: Ieri, l-am văzut pe nepotul meu în vârstă de 8 ani jucând Minecraft cu Raspberry Pi pe care i l-am dat înainte, apoi mi-am făcut o idee, care folosește codul pentru a crea un Minecraft personalizat și captivant. proiect blocuri LED pi. Minecraft Pi este o modalitate excelentă de a începe cu
Redresor Full-Bridge-Bridge (JL): 5 pași
Full Wave-Bridge Rectifier (JL): Introducere Această pagină intratabilă vă va ghida prin toți pașii necesari pentru a construi un redresor de punte cu undă completă. Este util în conversia curentului de curent alternativ în curent continuu
Redresor Full Wave Bridge (începător): 6 pași
Redresor cu undă completă (începător): Un redresor cu undă completă este un circuit electronic care convertește un curent alternativ într-un curent continuu. Electricitatea care iese dintr-o priză de curent este curent alternativ, în timp ce majoritatea dispozitivelor electronice moderne sunt alimentate cu curent continuu. Aceasta înseamnă că f