Satura rādītājs:
- 1. solis: lodēšanas tapu galvenes Arduino papildu I/O portiem
- 2. darbība. Pievienojiet Arduino kursorsviras bibliotēku savam IDE
- 3. solis: zibspuldziet kodu uz Arduino
- 4. solis: veiciet elektroinstalāciju
- 5. solis: sasieniet uztvērēju
- 6. darbība: pielāgojiet kodu saviem apstākļiem
- 7. solis: kalibrējiet emulēto kursorsviru
Video: R/C uz USB tiltu: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Pārvērš PPM signālus no radio uztvērēja kursorsviru pozīcijās
Izmantojiet to, lai spēlētu savas iecienītākās spēles un lidojuma simulatorus ar savu R/C radio raidītāju. Šī pamācība izmanto Arduino no littleBits un DSMX uztvērēju, kā arī vienkāršu koda fragmentu, lai veiktu šo reklāmguvumu.
Jums būs nepieciešams
- Jauda
- Arduino
- USB kabeļi
- pin galvenes
- džemperis
- radio uztvērējs ar PPM izeju.
1. solis: lodēšanas tapu galvenes Arduino papildu I/O portiem
Lai barotu uztvērēju (RX), Arduino ir jāpievieno tapu galvenes. Tas arī ievērojami atvieglos elektroinstalāciju starp Bit un RX. Plašāku informāciju skatiet vietnē
2. darbība. Pievienojiet Arduino kursorsviras bibliotēku savam IDE
Bibliotēku varat atrast vietnē GitHub, https://github.com/MHeironimus/ArduinoJoystickLib … Paldies, Metjū Heironimus, ka uzrakstījāt.
Tikai daži Arduinos var līdzināties HID kā kursorsviru. Tā kā LittleBits mikrokontrolleris sirdī ir Arduino Leonardo, jums ir labi iet.
3. solis: zibspuldziet kodu uz Arduino
#iekļaut #define inputPin 16#definēt kanālus 4 #define lo 800 // pielāgot RX izvadam#define hi 1600 // pielāgot RX izvadam#definēt filtru 10int kanāls [kanāli]; int previousValue [kanāli]; 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, Sveiki); Joystick.setYAxisRange (lūk, čau); Joystick.setThrottleRange (lūk, čau); Joystick.setRudderRange (lūk, čau); Joystick.begin (); Sērijas sākums (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= kanāli-1; i ++) {channel = pulseIn (inputPin, HIGH); } par (int i = 0; i <= kanāli-1; i ++) {if ((kanāls > 2000) || (kanāls <500)) {kanāls = iepriekšējāVērtība ; } cits {kanāls = (iepriekšējāVērtība +kanāls )/2; skaitītājs ++; }} Joystick.setXAxis (kanāls [0]); Joystick.setYAxis (kanāls [1]); Joystick.setThrottle (kanāls [2]); Joystick.setRudder (kanāls [3]); } ja (skaitītājs> filtrs) {par (int i = 0; i <= kanāli-1; i ++) {Sērijas.druka ("kanāls"); Sērijas nospiedums (i+1); Serial.print (":"); Serial.println (kanāls ); previousValue = kanāls ; } skaitītājs = 0; }}
Lūdzu, ņemiet vērā, ka kods, kas savieno tiltus starp R/C signālu un emulēto USB HID, ir vienkāršākais. Šeit izmantotā funkcija - pulseIn - ir bloķēšanas funkcija. Lasiet šeit un šeit, kā īstenot nebloķējošu pieeju, izmantojot pārtraukumus.
4. solis: veiciet elektroinstalāciju
Savienojiet savienojuma vadu / DuPont kabeļus starp Bit un RX. Savienotājiem šo kabeļu beigās jābūt sievietēm. Mēs savienojam GND (zils), VCC (brūns) un signālu (oranžs) no RX PPM porta ar GND, VCC un d16 Arduino.
5. solis: sasieniet uztvērēju
Atvienojiet Arduino no strāvas. Ievietojiet saites uz RX savienotāja vietā, kas apzīmēta ar BIND. Ieslēdziet radio raidītāju un pārslēdziet to saistīšanas režīmā. Pēc tam pielādējiet strāvu Arduino. Iesiešanas process bija veiksmīgs, kad uztvērējā iedegas gaismas diode.
6. darbība: pielāgojiet kodu saviem apstākļiem
Arduino skices konstantes hi un lo ir jāmaina, lai atspoguļotu izmantotā uztvērēja faktisko izvadi.
#definējiet 800
#define hi 1600
Signāli PPM impulsa iekšpusē ideālā gadījumā svārstās no 1000μs līdz 2000μs. Šajā pamācībā izmantotais RX iznāk aptuveni no 800 līdz 1600 un katrā kanālā ir nedaudz atšķirīgs. Lai uzzinātu, kāds ir uztvērēja diapazons, atveriet sērijas monitoru Arduino IDE, lai redzētu RX izvadi. Tas izskatīsies līdzīgi šim:
1. kanāls: 728
kanāls 2: 729 kanāls 3: 703 kanāls 4: 726 kanāls 1: 1681 kanāls 2: 1639 kanāls 3: 1613 kanāls 4: 1676
Tiklīdz jums ir skaidrāks priekšstats par diapazonu, ko jūsu RX izvada, izvēlieties labus tuvinājumus hi un lo un attiecīgi mainiet konstantes. Pēc tam vēlreiz augšupielādējiet skici Arduino.
7. solis: kalibrējiet emulēto kursorsviru
Pievienojiet ierīci datoram un izmantojiet operētājsistēmas kalibrēšanas funkciju, lai kalibrētu emulēto kursorsviru. Labs rīks Linux ir jstest-gtk.
Papildu uzlabojumi
- Ierakstiet nebloķējošu kodu (skatiet 3. darbību)
- Iestatiet diapazonus katram kanālam, nevis globāli (skatiet 6. darbību)
Tālāka lasīšana
- Redcon CM703
- PPM
Ieteicams:
Veidojiet varavīksnes interaktīvo tiltu, izmantojot Minecraft Raspberry Pi Edition: 11 soļi
Veidojiet varavīksnes interaktīvo tiltu, izmantojot Minecraft Raspberry Pi Edition: Vakar es redzēju savu 8 gadus veco brāļadēlu, kurš spēlēja Minecraft ar Raspberry Pi, kuru es viņam dāvāju iepriekš, tad man radās ideja, kas izmanto kodu, lai izveidotu pielāgotu un aizraujošu Minecraft- pi LED bloku projekts. Minecraft Pi ir lielisks veids, kā sākt darbu, izmantojot
Kā izveidot USB zibatmiņu, izmantojot dzēšgumiju - DIY USB diska korpuss: 4 soļi
Kā izveidot USB zibatmiņu, izmantojot dzēšgumiju | DIY USB diska korpuss: Šis emuārs ir par " Kā izveidot USB zibatmiņu, izmantojot dzēšgumiju | DIY USB diska korpuss " Es ceru, ka jums patiks
Kā izveidot H tiltu: 15 soļi
H tilts: H tilts ir ķēdes veids, ko varat izmantot, lai atgriezenisks līdzstrāvas motors grieztos gan pulksteņrādītāja virzienā, gan pretēji pulksteņrādītāja virzienam. Citiem vārdiem sakot, šī ķēde ļauj ātri mainīt motora virzienu griešanās, izmantojot slēdzi vai kontrolieri c
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)
Līdzstrāvas motora vadīšana, izmantojot H tiltu: 9 soļi
Līdzstrāvas motora vadīšana, izmantojot H tiltu: Sveiki puiši! Šajā pamācībā es jums parādīšu, kā izveidot H tiltu - vienkāršu elektronisko shēmu, kas ļauj mums pielietot spriegumu slodzei jebkurā virzienā. To parasti izmanto robotikas lietojumprogrammā, lai kontrolētu līdzstrāvas motorus. Izmantojot H Brid