Spisu treści:
- Krok 1: Przylutuj nagłówki pinów do dodatkowych portów we/wy Arduino
- Krok 2: Dodaj bibliotekę Arduino Joystick do swojego IDE
- Krok 3: Flashuj kod na Arduino
- Krok 4: Wykonaj okablowanie
- Krok 5: Powiąż odbiornik
- Krok 6: Dostosuj kod do swoich okoliczności
- Krok 7: Skalibruj emulowany joystick
Wideo: Mostek R/C na USB: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Konwertuje sygnały PPM z odbiornika radiowego na pozycje joysticka
Użyj go, aby grać w swoje ulubione gry i symulatory lotu za pomocą nadajnika radiowego R/C. Ten Instructable używa Arduino firmy littleBits i odbiornika DSMX oraz prostego fragmentu kodu, aby dokonać tej konwersji.
Będziesz potrzebować
- Moc
- Arduino
- Kable USB
- nagłówki pinów
- przewód połączeniowy
- odbiornik radiowy z wyjściem PPM.
Krok 1: Przylutuj nagłówki pinów do dodatkowych portów we/wy Arduino
Aby zasilić odbiornik (RX), należy dodać do Arduino listwy pinowe. Ułatwi to również okablowanie między Bitem a RX. Aby uzyskać więcej informacji, zobacz
Krok 2: Dodaj bibliotekę Arduino Joystick do swojego IDE
Bibliotekę można znaleźć na GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Dziękuję, Matthew Heironimus, za napisanie jej.
Tylko niektóre Arduino mogą emulować HID jak joystick. Ponieważ mikrokontroler littleBits jest Arduino Leonardo w sercu, jesteś gotowy do pracy.
Krok 3: Flashuj kod na Arduino
#include #define inputPin 16#definiuj kanały 4 #define lo 800 //dostosuj do wyjścia RX#define hi 1600 //dostosuj do wyjścia RX#define filter 10int channel[channels]; int poprzedniaWartość[kanały]; int counter = 0;Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, true, true, true, false, false;void setup(){ Joystick.setXAxisRange(lo, Cześć); Joystick.setYAxisRange(lo, hi); Joystick.setThrottleRange(lo, hi); Joystick.setRudderRange(lo, hi); Joystick.początek(); Serial.początek(9600); pinMode(inputPin, INPUT); }void loop(){ if(pulseIn(inputPin, HIGH) > 3000) { for(int i = 0; i <= kanały-1; i++) { kanał=pulseIn(inputPin, HIGH); } for(int i = 0; i <= kanały-1; i++) { if((kanał > 2000) || (kanał <500)) { kanał = poprzedniaWartość; } else { kanał = (poprzedniaWartość+kanał)/2; licznik++; } } Joystick.setXAxis(kanał[0]); Joystick.setYAxis(kanał[1]); Joystick.setThrottle(kanał[2]); Joystick.setRudder(kanał[3]); } if(licznik > filtr) { for(int i = 0; i <= kanały-1; i++) { Serial.print("kanał"); druk.seryjny(i+1); Serial.print(": "); Serial.println(kanał); poprzedniaWartość=kanał; } licznik=0; } }
Należy pamiętać, że kod, który łączy sygnał R/C z emulowanym USB HID, ma najprostszą formę. Użyta tutaj funkcja – pulseIn – jest funkcją blokującą. Przeczytaj tutaj i tutaj, jak zaimplementować podejście nieblokujące przy użyciu przerwań.
Krok 4: Wykonaj okablowanie
Podłącz przewód połączeniowy / kable DuPont między Bit i RX. Złącza na końcach tych kabli muszą być żeńskie. Podłączamy GND (niebieski), VCC (brązowy) i sygnał (pomarańczowy) z portu PPM RX do GND, VCC i d16 na Arduino.
Krok 5: Powiąż odbiornik
Odłącz Arduino od zasilania. Umieść wiązkę wiązania w miejscu złącza oznaczonym BIND na RX. Włącz nadajnik radiowy i przełącz go w tryb wiązania. Następnie podłącz zasilanie do Arduino. Proces wiązania zakończył się pomyślnie, gdy zaświeciła się dioda LED w odbiorniku.
Krok 6: Dostosuj kod do swoich okoliczności
Stałe hi i lo w szkicu Arduino należy zmienić, aby odzwierciedlić rzeczywistą moc odbiornika, którego używasz.
#zdefiniuj lo 800
#definiuj cześć 1600
Sygnały wewnątrz impulsu PPM idealnie mieszczą się w zakresie od 1000 μs do 2000 μs. RX używane w tym instruktażowym wyjściu ma wartości z grubsza od 800 do 1600 i jest nieco inne na każdym kanale. Aby dowiedzieć się, jaki zasięg ma twój odbiornik, otwórz Monitor szeregowy w Arduino IDE, aby zobaczyć wyjście swojego RX. Będzie wyglądać podobnie do tego:
kanał 1: 728
kanał 2: 729 kanał 3: 703 kanał 4: 726 kanał 1: 1681 kanał 2: 1639 kanał 3: 1613 kanał 4: 1676
Kiedy już masz jaśniejsze pojęcie o zakresie, jaki wyprowadza twój RX, wybierz dobre przybliżenia dla hi i lo i odpowiednio zmień stałe. Następnie ponownie prześlij szkic do Arduino.
Krok 7: Skalibruj emulowany joystick
Podłącz urządzenie do komputera i użyj funkcji kalibracji systemu operacyjnego, aby skalibrować emulowany joystick. Dobrym narzędziem dla Linuksa jest jstest-gtk.
Dalsze ulepszenia
- Napisz kod nieblokujący (patrz Krok 3)
- Ustaw zakresy na kanał, a nie globalnie (patrz krok 6)
Dalsza lektura
- Redcon CM703
- PPM
Zalecana:
Tani koncentrator NMEA/AIS - mostek RS232 na Wifi do użytku na pokładzie: 6 kroków
Tani koncentrator NMEA/AIS - RS232 do mostka Wifi do użytku na pokładzie: Aktualizacja 9 stycznia 2021 r. – Dodano dodatkowe połączenie TCP i ponownie użyj ostatniego połączenia, jeśli połączy się więcej klientów.Aktualizacja 13 grudnia 2020 r. – Nie dodano wersji konfiguracyjnej kodu dla łodzi z istniejącymi routeramiWprowadzenieTen NMEA / AIS RS232 do mostka WiFi to
Jak zrobić mostek H: 15 kroków
Jak zrobić mostek H: Mostek H to rodzaj obwodu, którego można użyć, aby odwracalny silnik prądu stałego obracał się zarówno zgodnie z ruchem wskazówek zegara, jak i przeciwnie do ruchu wskazówek zegara. Innymi słowy, ten obwód pozwala szybko odwrócić kierunek, w którym znajduje się silnik wirowanie za pomocą przełącznika lub kontrolera c
Mostek WiFi Raspberry Pi Enterprise Network: 9 kroków
Raspberry Pi Enterprise Network WiFi Bridge: Autorzy: Riley Barrett i Dylan Halland Celem tego projektu jest umożliwienie urządzeniu IoT, takiemu jak Weemo Smart Plug, Amazon Echo, konsola do gier lub dowolne inne urządzenie obsługujące Wi-Fi, łączenie się z WPA_EAP Enterprise Network za pomocą Raspberry Pi Zero
Sterownik silnika wysokoprądowego DIY (mostek h): 5 kroków
DIY High Current Motor Driver (h-bridge): Projekt polega na modernizacji silników i elektroniki w tym czterokołowcu dla dzieci Power Wheels. planowaliśmy uaktualnienie do systemu 24v z 2 nowymi silnikami szczotkowymi traxxis 775 po zbadaniu
Mostek H (293D) z 2 silnikami Hobby i pilotem: 11 kroków
Mostek H (293D) z 2 silnikami hobbystycznymi i pilotem: Ta instrukcja pokaże, jak używać pilota do sterowania mostkiem H (293) z 2 silnikami hobby. Ten obwód może być używany z podstawowym robotem dwukołowym z Pilot zdalnego sterowania. Użyte części to; odbiornik podczerwieni zdalnego sterowania 4; Bateria 1,5 V