
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

Konverterer PPM -signaler fra en radiomottaker til joystick -posisjoner
Bruk den til å spille dine favorittspill og flysimulatorer med din R/C radiosender. Denne instruksen bruker en Arduino fra littleBits og en DSMX -mottaker pluss en enkel kodebit for å gjøre denne konverteringen.
Du vil trenge
- Makt
- Arduino
- USB -kabler
- pinnehoder
- jumper wire
- en radiomottaker med PPM -utgang.
Trinn 1: Loddepinnehoder til Arduino's tilleggs I/O -porter

For å drive mottakeren (RX) må pinnehoder legges til Arduino. Dette vil også gjøre ledningen mellom biten og RX mye lettere. Se https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit for mer informasjon.
Trinn 2: Legg til Arduino Joystick Library i IDE -en din

Du finner biblioteket på GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Takk, Matthew Heironimus, for at du skrev det.
Bare visse Arduinos kan etterligne et HID som en joystick. Siden littleBits -mikrokontrolleren er en Arduino Leonardo i hjertet, er du god til å gå.
Trinn 3: Flash koden til Arduino
#include #define inputPin 16#definere kanaler 4 #define lo 800 // justere til utgang fra RX#definere hi 1600 // justere til utgang fra RX#definere filter 10int kanal [kanaler]; int previousValue [kanaler]; 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 (); 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); } for (int i = 0; i <= channel-1; i ++) {if ((channel > 2000) || (channel <500)) {channel = previousValue ; } annet {kanal = (forrige verdi +kanal )/2; teller ++; }} Joystick.setXAxis (kanal [0]); Joystick.setYAxis (kanal [1]); Joystick.setThrottle (kanal [2]); Joystick.setRudder (kanal [3]); } if (teller> filter) {for (int i = 0; i <= channel-1; i ++) {Serial.print ("channel"); Serial.print (i+1); Serial.print (":"); Serial.println (kanal ); forrige verdi = kanal ; } teller = 0; }}
Vær oppmerksom på at koden som bygger bro mellom R/C -signalet og det emulerte USB HID kommer i sin enkleste form. Funksjonen som brukes her - pulseIn - er en blokkeringsfunksjon. Les her, og her, hvordan du implementerer en ikke-blokkerende tilnærming ved hjelp av avbrudd.
Trinn 4: Gjør ledningen


Koble jumper wire / DuPont kabler mellom Bit og RX. Kontaktene på enden av disse kablene må være hunn. Vi kobler GND (blå), VCC (brun) og signal (oransje) fra PPM -porten på RX til GND, VCC og d16 på Arduino.
Trinn 5: Bind mottakeren
Koble Arduino fra strømmen. Sett bindeselen inn i kontaktplassen merket BIND på RX. Slå på radiosenderen og sett den i bindemodus. Påfør deretter strøm til Arduino. Innbindingsprosessen var vellykket da LED -en i mottakeren slås på.
Trinn 6: Tilpass koden til dine omstendigheter
Konstantene hei og lo i Arduino -skissen må endres for å gjenspeile den faktiske utgangen til mottakeren du bruker.
#define lo 800
#define hei 1600
Signalene inne i PPM -pulsen varierer ideelt fra 1000μs til 2000μs. RX -en som brukes i denne instruerbare utgangen, verdier omtrent mellom 800 og 1600 og er litt forskjellig på hver kanal. For å finne ut hvilket område mottakeren har, åpner du Serial Monitor i Arduino IDE for å se utgangen fra RX -en. Det vil se ut som dette:
kanal 1: 728
kanal 2: 729 kanal 3: 703 kanal 4: 726 kanal 1: 1681 kanal 2: 1639 kanal 3: 1613 kanal 4: 1676
Når du har en klarere ide om rekkevidden som RX sender ut, velger du gode tilnærminger for hei og lo og endrer konstantene deretter. Last deretter opp skissen til Arduino igjen.
Trinn 7: Kalibrer den emulerte joysticken
Koble enheten til datamaskinen din og bruk kalibreringsfunksjonen til operativsystemet til å kalibrere den emulerte joysticken. Et godt verktøy for Linux er jstest-gtk.
Ytterligere forbedringer
- Skriv ikke-blokkerende kode (se trinn 3)
- Angi områder per kanal, ikke globalt (se trinn 6)
Videre lesning
- Redcon CM703
- PPM
Anbefalt:
Visuino Hvordan bruke pulsbreddemodulering (PWM) til å endre lysstyrken til en LED: 7 trinn

Visuino Slik bruker du pulsbreddemodulering (PWM) for å endre lysstyrken til en LED: I denne opplæringen bruker vi en LED som er koblet til Arduino UNO og Visuino for å endre lysstyrken ved hjelp av Pulsbreddemodulering (PWM). Se en demonstrasjonsvideo
Legg til en USB -port til en lampe: 5 trinn (med bilder)

Legg til en USB-port til en lampe: Da jeg kom over denne vintage Electrix gåsehalsbordlampen, skjønte jeg at det var en gåsehals skrivebordslampe jeg ikke kunne leve uten, så jeg kjøpte den. Da tenkte jeg at det ville vært mye kulere hvis det hadde en USB -port i bunnen av det. Det viser seg at dette er en ganske
Flash AT Command -fastvare til ESP01 -modul (krever en USB til TTL -adapter): 5 trinn

Flash AT Command -fastvare til ESP01 -modul (krever en USB til TTL -adapter): Av Jay Amiel AjocGensan PHfacebook.com/geeamealyoutube.com/jayamielajoc
Legg til USB -porter til PCI -kortet !!!: 3 trinn

Legg til USB -porter til PCI -kortet !!!: Hvem kunne ikke bruke flere USB -porter ?? Seriøst ….. Ved å bruke et PCI USB -kort og noen Pin Headers, kunne jeg legge til to flere porter til USB -kortet mitt, noe som ga meg totalt syv porter !! La moroa begynne !!! Vurder & KOMMENTAR
12v til USB -adapter 12v til 5v transformator (flott for biler): 6 trinn

12v til USB Adapter 12v til 5v Transformer (flott for biler): Dette viser deg hvordan du lager en 12v til USB (5v) adapter. Den mest åpenbare bruken av dette er for 12v biladaptere, men hvor som helst du har 12v kan du bruke den! Hvis du trenger 5v for noe annet enn USB, hopper du bare over trinnene for å legge til USB -portene