Sommario:
- Passaggio 1: saldare le intestazioni dei pin alle porte I/O aggiuntive di Arduino
- Passaggio 2: aggiungi la libreria Joystick Arduino al tuo IDE
- Passaggio 3: installa il codice su Arduino
- Passaggio 4: eseguire il cablaggio
- Passaggio 5: legare il ricevitore
- Passaggio 6: adatta il codice alle tue circostanze
- Passaggio 7: calibrare il joystick emulato
Video: Bridge da R/C a USB: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Converte i segnali PPM da un ricevitore radio nelle posizioni del joystick
Usalo per giocare ai tuoi giochi preferiti e simulatori di volo con il tuo trasmettitore radio R/C. Questo Instructable utilizza un Arduino di littleBits e un ricevitore DSMX più un semplice frammento di codice per effettuare questa conversione.
Avrai bisogno
- Potenza
- Arduino
- Cavi USB
- intestazioni pin
- ponticello
- un ricevitore radio con uscita PPM.
Passaggio 1: saldare le intestazioni dei pin alle porte I/O aggiuntive di Arduino
Per alimentare il ricevitore (RX), le intestazioni dei pin devono essere aggiunte ad Arduino. Ciò renderà anche molto più semplice il cablaggio tra il Bit e l'RX. Vedere https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit per ulteriori informazioni.
Passaggio 2: aggiungi la libreria Joystick Arduino al tuo IDE
Puoi trovare la libreria su GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Grazie, Matthew Heironimus, per averlo scritto.
Solo alcuni Arduino possono emulare un HID come un joystick. Dato che il microcontrollore littleBits è un Arduino Leonardo nel cuore, sei a posto.
Passaggio 3: installa il codice su Arduino
#include #define inputPin 16#define channel 4 #define lo 800 //adatta all'uscita di RX#define hi 1600 //adatta all'uscita di RX#define filter 10int channel[channels]; int valore precedente[canali]; 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, Ciao); Joystick.setYAxisRange(lo, ciao); Joystick.setThrottleRange(lo, ciao); Joystick.setRudderRange(lo, ciao); Joystick.begin(); Serial.begin(9600); pinMode(InputPin, INPUT); }loop vuoto(){ if(pulseIn(inputPin, HIGH) > 3000) { for(int i = 0; i <= canali-1; i++) { channel=pulseIn(inputPin, HIGH); } for(int i = 0; i <= canali-1; i++) { if((canale > 2000) || (canale <500)) { canale = valoreprecedente; } else { canale = (valoreprecedente+canale)/2; contatore++; } } Joystick.setXAxis(canale[0]); Joystick.setYAxis(canale[1]); Joystick.setThrottle(canale[2]); Joystick.setRudder(canale[3]); } if(contatore > filtro) { for(int i = 0; i <= canali-1; i++) { Serial.print("canale"); Serial.print(i+1); Serial.print(": "); Serial.println(canale); valoreprecedente=canale; } contatore=0; } }
Tieni presente che il codice che fa da ponte tra il segnale R/C e l'USB HID emulato si presenta nella sua forma più semplice. La funzione qui utilizzata – pulseIn – è una funzione di blocco. Leggi qui, e qui, come implementare un approccio non bloccante utilizzando gli interrupt.
Passaggio 4: eseguire il cablaggio
Collegare il ponticello / i cavi DuPont tra il Bit e l'RX. I connettori all'estremità di questi cavi devono essere femmine. Colleghiamo GND (blu), VCC (marrone) e segnale (arancione) dalla porta PPM dell'RX a GND, VCC e d16 su Arduino.
Passaggio 5: legare il ricevitore
Scollega l'Arduino dall'alimentazione. Mettere il cablaggio di collegamento nella posizione del connettore contrassegnata BIND sull'RX. Accendi la tua radiotrasmittente e mettila in modalità bind. Quindi applica l'alimentazione ad Arduino. Il processo di collegamento è andato a buon fine quando il LED nel ricevitore si accende.
Passaggio 6: adatta il codice alle tue circostanze
Le costanti hi e lo nello sketch Arduino devono essere modificate per riflettere l'output effettivo del ricevitore che stai utilizzando.
#definire lo 800
#define ciao 1600
I segnali all'interno dell'impulso PPM vanno idealmente da 1000μs a 2000μs. L'RX utilizzato in questo Instructable emette valori all'incirca tra 800 e 1600 ed è leggermente diverso su ciascun canale. Per scoprire quale raggio ha il tuo ricevitore, apri il monitor seriale nell'IDE di Arduino per vedere l'output del tuo RX. Sarà simile a questo:
canale 1: 728
canale 2: 729 canale 3: 703 canale 4: 726 canale 1: 1681 canale 2: 1639 canale 3: 1613 canale 4: 1676
Una volta che hai un'idea più chiara della gamma che il tuo RX emette, scegli buone approssimazioni per hi e lo e modifica le costanti di conseguenza. Quindi carica di nuovo lo schizzo su Arduino.
Passaggio 7: calibrare il joystick emulato
Collega il dispositivo al computer e usa la funzione di calibrazione del tuo sistema operativo per calibrare il joystick emulato. Un buon strumento per Linux è jstest-gtk.
Ulteriori miglioramenti
- Scrivi codice non bloccante (vedi Passaggio 3)
- Imposta intervalli per canale, non globalmente (vedi passaggio 6)
Ulteriori letture
- Redcon CM703
- PPM
Consigliato:
Piccoli driver H-Bridge - Nozioni di base: 6 passaggi (con immagini)
Piccoli driver H-Bridge | Nozioni di base: Ciao e bentornato a un altro Instructable! Nel precedente, ti ho mostrato come ho creato le bobine in KiCad usando uno script Python. Quindi ho creato e testato alcune varianti di bobine per vedere quale funziona meglio. Il mio obiettivo è sostituire l'enorme
Hub NMEA/AIS economico -- Bridge da RS232 a Wifi per uso a bordo: 6 passaggi
Hub NMEA/AIS economico - Da RS232 a ponte Wi-Fi per uso a bordo: aggiornamento 9 gennaio 2021 - Aggiunta connessione TCP aggiuntiva e riutilizzo dell'ultima connessione se più client si connettono Aggiornamento 13 dicembre 2020 - Aggiunta versione senza configurazione del codice per barche con router esistenti IntroduzioneQuesto NMEA / Il bridge AIS da RS232 a WiFi è
LM3886 Amplificatore di potenza, doppio o bridge (migliorato): 11 passaggi (con immagini)
LM3886 Amplificatore di potenza, doppio o bridge (migliorato): un amplificatore compatto a doppia potenza (o bridge) è facile da costruire se hai esperienza di elettronica. Sono necessarie solo poche parti. Ovviamente è ancora più facile costruire un amplificatore mono. Le questioni cruciali sono l'alimentazione e il raffreddamento. Con il com
Costruisci Rainbow Interactive Bridge usando Minecraft Raspberry Pi Edition: 11 passaggi
Costruisci Rainbow Interactive Bridge usando Minecraft Raspberry Pi Edition: Ieri, ho visto mio nipote di 8 anni giocare a Minecraft con il Raspberry Pi che gli avevo dato prima, poi ho avuto un'idea, che sta usando il codice per creare un Minecraft personalizzato ed emozionante- pi progetto blocchi LED. Minecraft Pi è un ottimo modo per iniziare con
Bridge WiFi di rete aziendale Raspberry Pi: 9 passaggi
Raspberry Pi Enterprise Network WiFi Bridge: Di: Riley Barrett e Dylan Halland L'obiettivo di questo progetto è consentire a un dispositivo IoT, come Weemo Smart Plug, Amazon Echo, console di gioco o qualsiasi altro dispositivo abilitato Wi-Fi di connettersi a un WPA_EAP Enterprise Network utilizzando un Raspberry Pi Zero