Mündəricat:
- Addım 1: Arduinonun Əlavə I/O Portlarına Lehim Pin Başlıqları
- Addım 2: Arduino Joystick Kitabxanasını IDE -yə əlavə edin
- Addım 3: Kodu Arduino üzərinə yandırın
- Addım 4: Kabel çəkin
- Addım 5: Alıcını bağlayın
- Addım 6: Kodu şəraitə uyğunlaşdırın
- Addım 7: Emulated Joystick'i kalibr edin
Video: USB Körpüsünə R/C: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Radio qəbuledicisindən PPM siqnallarını joystick mövqelərinə çevirir
R/C radio ötürücünüzlə ən sevdiyiniz oyunları və uçuş simulyatorlarını oynamaq üçün istifadə edin. Bu Təlimat, bu çevrilməni həyata keçirmək üçün LittleBits -dən bir Arduino və DSMX qəbuledicisi və sadə bir kod parçasından istifadə edir.
Sizə lazım olacaq
- Güc
- Arduino
- USB kabellər
- pin başlıqları
- tullanan tel
- PPM çıxışı olan bir radio qəbuledicisi.
Addım 1: Arduinonun Əlavə I/O Portlarına Lehim Pin Başlıqları
Alıcını (RX) gücləndirmək üçün Arduinoya pin başlıqlarının əlavə edilməsi lazımdır. Bu da Bit və RX arasındakı naqilləri çox asanlaşdıracaq. Daha çox məlumat üçün https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit səhifəsinə baxın.
Addım 2: Arduino Joystick Kitabxanasını IDE -yə əlavə edin
Kitabxananı GitHub -da tapa bilərsiniz, https://github.com/MHeironimus/ArduinoJoystickLib… Yazdığınız üçün təşəkkür edirəm, Matthew Heironimus.
Yalnız müəyyən Arduinolar bir joystick kimi bir HID təqlid edə bilər. LittleBits mikrodenetleyicisi ürəkdə bir Arduino Leonardo olduğu üçün getməyiniz yaxşıdır.
Addım 3: Kodu Arduino üzərinə yandırın
#include #define inputPin 16#kanalları təyin edin 4 #define lo 800 // RX çıxışına uyğunlaşdırın#hi 1600 təyin edin // RX çıxışına uyğunlaşdırın#filtri təyin edin 10 kanal [kanallar]; int previousValue [kanallar]; int counter = 0; Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, doğru, doğru, yalan, yalan, yalan, yalan, yalan, doğru, doğru, yalan, yalan); void setup () {Joystick.setXAxisRange salam); Joystick.setYAxisRange (bax, salam); Joystick.setThrottleRange (bax, salam); Joystick.setRudderRange (bax, salam); Joystick.begin (); Serial.begin (9600); pinMode (girişPin, GİRİŞ); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= kanallar-1; i ++) {kanal = pulseIn (inputPin, HIGH); } üçün (int i = 0; i <= kanallar-1; i ++) {əgər ((kanal > 2000) || (kanal <500)) {kanal = əvvəlkiValue ; } başqa {kanal = (əvvəlkiValue +kanal )/2; sayğac ++; }} Joystick.setXAxis (kanal [0]); Joystick.setYAxis (kanal [1]); Joystick.setThrottle (kanal [2]); Joystick.setRudder (kanal [3]); } if (sayğac> filtr) {üçün (int i = 0; i <= kanallar-1; i ++) {Serial.print ("kanal"); Serial.çap (i+1); Serial.print (":"); Serial.println (kanal ); əvvəlkiValue = kanal ; } sayğac = 0; }}
Unutmayın ki, R/C siqnalı ilə təqlid edilmiş USB HID arasında körpü olan kod ən sadə formada gəlir. Burada istifadə olunan funksiya - pulseIn - bloklama funksiyasıdır. Burada və burada fasilələrdən istifadə edərək bloklanmayan bir yanaşmanın necə tətbiq ediləcəyini oxuyun.
Addım 4: Kabel çəkin
Keçid telini / DuPont kabellərini Bit və RX arasına bağlayın. Bu kabellərin ucundakı bağlayıcıların dişi olması lazımdır. RX -in PPM portundan GND (mavi), VCC (qəhvəyi) və siqnalı (narıncı) Arduino üzərindəki GND, VCC və d16 -ya bağlayırıq.
Addım 5: Alıcını bağlayın
Arduino'yu gücdən ayırın. Bağlayıcı kəməri RX -də BIND işarələnmiş bağlayıcı yerinə qoyun. Radio ötürücünüzü yandırın və bağlama rejiminə keçirin. Sonra Arduinoya güc tətbiq edin. Alıcıdakı LED yandıqda bağlama prosesi uğurlu oldu.
Addım 6: Kodu şəraitə uyğunlaşdırın
Arduino eskizindəki hi və lo sabitləri, istifadə etdiyiniz alıcının faktiki çıxışını əks etdirmək üçün dəyişdirilməlidir.
#800 təyin edin
#salam 1600
PPM nəbzinin içindəki siqnallar ideal olaraq 1000μs -dən 2000μs -ə qədərdir. Bu Təlimatlandırılan çıxışlarda istifadə olunan RX təxminən 800 ilə 1600 arasında dəyişir və hər kanalda bir qədər fərqlidir. Alıcınızın hansı diapazonda olduğunu öyrənmək üçün RX -in çıxışını görmək üçün Arduino IDE -də Serial Monitoru açın. Buna bənzər görünəcək:
kanal 1: 728
kanal 2: 729 kanal 3: 703 kanal 4: 726 kanal 1: 1681 kanal 2: 1639 kanal 3: 1613 kanal 4: 1676
RX -in çıxdığı diapazon haqqında daha aydın təsəvvür əldə etdikdən sonra hi və lo üçün yaxşı yaxınlaşmaları seçin və sabitləri buna uyğun olaraq dəyişdirin. Sonra eskizi yenidən Arduino -ya yükləyin.
Addım 7: Emulated Joystick'i kalibr edin
Cihazı kompüterinizə bağlayın və təqlid olunan joysticki kalibr etmək üçün OS -nin kalibrləmə funksiyasından istifadə edin. Linux üçün yaxşı bir vasitə jstest-gtk-dir.
Əlavə təkmilləşdirmələr
- Bloklamayan kod yazın (3-cü addıma baxın)
- Qlobal olaraq deyil, hər kanal üçün diapazon təyin edin (bax: Adım 6)
Əlavə oxu
- Redcon CM703
- PPM
Tövsiyə:
Ucuz NMEA/AIS Hub - Gəmidə istifadə üçün Wifi Körpüsünə RS232: 6 addım
Ucuz NMEA /AIS Hub - Yerli İstifadə üçün Wifi Körpüsünə RS232: 9 Yanvar 2021 -ni Yeniləyin - Əlavə TCP bağlantısı əlavə edildi və daha çox müştəri əlaqə qurarsa son əlaqəni yenidən istifadə edin 13 Dekabr 2020 -ci ili yeniləyin - Mövcud marşrutlaşdırıcıları olan gəmilər üçün kodun konfiqurasiya versiyası əlavə edilmədi. Giriş Bu NMEA / AIS RS232 -dən WiFi körpüsünə
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)
Arduino Accelerometer Dərsliyi: Servo Motoru istifadə edərək Gəmi Körpüsünə Nəzarət: 5 Addım
Arduino Accelerometer Təlimatı: Servo Motordan istifadə edərək Gəmi Körpüsünə Nəzarət Edin: Günümüzdə istifadə etdiyimiz genişləndirilmiş istifadə və qabiliyyətləri təmin etmək üçün sürətləndirici sensorlar indi əksər smartfonlarımızdadır və buna cavabdeh olanın akselerometr olduğunu bilmədən də istifadə edə bilərsiniz. Bu qabiliyyətlərdən biri də nəzarət planıdır
Wifi Körpüsünə Raspberry Pi Ethernet: 7 addım
Wifi Körpüsünə Raspberry Pi Ethernet: Müxtəlif Raspberry Pies, cihazları, digər kompüterləri və şəbəkə avadanlıqlarını sınaqdan keçirən bir şəbəkəm var, hamısı Ubiquity firewall/router tərəfindən idarə olunur və internetə qoşulmasını istəyirəm. yeniləmələri, proqramı və s. çəkin Unfortuna
BLE (Bluetooth Az Enerji) Körpüsünə sadə WiFi: 9 Addım (Şəkillərlə birlikdə)
BLE (Bluetooth Aşağı Enerji) Körpüsünə sadə WiFi: 4 Dekabr 2017 -ni yeniləyin - Yenilənmiş Feather nRF52 eskizləri və ayıklama məsləhətləri. Qutuda quraşdırılmış körpünün şəkilləri əlavə edildi.Bu sadə layihə, TX Notify ilə İskandinav UART -ı tətbiq edən hər hansı bir Bluetooth Aşağı Enerji (BLE) moduluna WiFi girişi təmin edir. Th