Съдържание:
- Стъпка 1: Запоявайте заглавки на щифтове към допълнителните I/O портове на Arduino
- Стъпка 2: Добавете библиотеката с джойстик Arduino към вашата IDE
- Стъпка 3: Прехвърлете кода към Arduino
- Стъпка 4: Направете окабеляване
- Стъпка 5: Обвържете приемника
- Стъпка 6: Приспособете кода към вашите обстоятелства
- Стъпка 7: Калибрирайте емулирания джойстик
Видео: R/C към USB мост: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Преобразува PPM сигнали от радиоприемник в позиции на джойстика
Използвайте го, за да играете любимите си игри и симулатори на полети с вашия R/C радиопредавател. Този Instructable използва Arduino от littleBits и DSMX приемник плюс прост фрагмент от код, за да направи това преобразуване.
Ще имаш нужда
- Мощност
- Arduino
- USB кабели
- пинови заглавки
- джъмпер тел
- радиоприемник с PPM изход.
Стъпка 1: Запоявайте заглавки на щифтове към допълнителните I/O портове на Arduino
За да захранвате приемника (RX), към Arduino трябва да се добавят пинови заглавки. Това също ще улесни окабеляването между Bit и RX. Вижте https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit за повече информация.
Стъпка 2: Добавете библиотеката с джойстик Arduino към вашата IDE
Можете да намерите библиотеката в GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Благодаря ви, Матю Хейронимус, че я написахте.
Само някои Arduinos могат да подражават на HID като джойстик. Тъй като микроконтролерът на littleBits е Arduino Leonardo по сърце, добре е да отидете.
Стъпка 3: Прехвърлете кода към Arduino
#include #define inputPin 16#дефинирайте канали 4#дефинирайте lo 800 // настройте към изхода на RX#определете hi 1600 // настройте към изхода на RX#дефинирайте филтър 10int канал [канали]; int previousValue [канали]; int counter = 0; Джойстик_ Джойстик (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, true, true, false, false, false); void setup () {Joystick.setXAxisRange здравей); Joystick.setYAxisRange (ето, здравей); Joystick.setThrottleRange (ето, здравей); Joystick.setRudderRange (ето, здравей); Joystick.begin (); Serial.begin (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= канали-1; i ++) {канал = pulseIn (inputPin, HIGH); } за (int i = 0; i <= канали-1; i ++) {ако ((канал > 2000) || (канал <500)) {канал = предишна стойност ; } else {канал = (предишна стойност +канал )/2; брояч ++; }} Joystick.setXAxis (канал [0]); Joystick.setYAxis (канал [1]); Joystick.setThrottle (канал [2]); Joystick.setRudder (канал [3]); } if (брояч> филтър) {for (int i = 0; i <= канали-1; i ++) {Serial.print ("канал"); Serial.print (i+1); Serial.print (":"); Serial.println (канал ); previousValue = канал ; } брояч = 0; }}
Моля, имайте предвид, че кодът, който се свързва между R/C сигнала и емулирания USB HID, идва в най -простата си форма. Използваната тук функция - pulseIn - е блокираща функция. Прочетете тук и тук, как да приложите неблокиращ подход, използвайки прекъсвания.
Стъпка 4: Направете окабеляване
Свържете кабела на джъмпера / DuPont кабелите между бита и RX. Съединителите в края на тези кабели трябва да са женски. Свързваме GND (синьо), VCC (кафяво) и сигнал (оранжево) от PPM порта на RX към GND, VCC и d16 на Arduino.
Стъпка 5: Обвържете приемника
Изключете Arduino от захранването. Поставете свързващия сноп в мястото на конектора, означено с BIND на RX. Включете радиопредавателя и го превключете в режим на свързване. След това приложете захранване към Arduino. Процесът на свързване беше успешен, когато светодиодът в приемника се включи.
Стъпка 6: Приспособете кода към вашите обстоятелства
Константите hi и lo в скицата на Arduino трябва да бъдат променени, за да отразяват действителния изход на приемника, който използвате.
#дефинирайте 800
#дефинирайте здравей 1600
В идеалния случай сигналите в PPM импулса варират от 1000μs до 2000μs. RX, използван в тази инструкция, извежда стойности приблизително между 800 и 1600 и е малко по -различен за всеки канал. За да разберете какъв обхват има вашият приемник, отворете Serial Monitor в Arduino IDE, за да видите изхода на вашия RX. Ще изглежда подобно на това:
канал 1: 728
канал 2: 729 канал 3: 703 канал 4: 726 канал 1: 1681 канал 2: 1639 канал 3: 1613 канал 4: 1676
След като имате по -ясна представа за обхвата, който извежда вашият RX, изберете добри приближения за hi и lo и съответно променете константите. След това качете скицата отново в Arduino.
Стъпка 7: Калибрирайте емулирания джойстик
Свържете устройството към компютъра си и използвайте функцията за калибриране на вашата ОС, за да калибрирате емулирания джойстик. Добър инструмент за Linux е jstest-gtk.
Допълнителни подобрения
- Напишете блокиращ код (вижте Стъпка 3)
- Задайте диапазони за канал, не глобално (вижте Стъпка 6)
Допълнителна информация
- Redcon CM703
- PPM
Препоръчано:
Евтин NMEA/AIS хъб - RS232 към Wifi мост за бордова употреба: 6 стъпки
Евтин NMEA /AIS хъб - RS232 към Wifi Bridge за бордова употреба: Актуализиране на 9 януари 2021 г. - Добавена е допълнителна TCP връзка и повторно използване на последната връзка, ако се свържат повече клиенти Актуализация 13 декември 2020 г. - Добавена е версия за конфигуриране на кода за лодки със съществуващи рутери Въведение Тази NMEA / AIS RS232 към WiFi мост е
I2C / IIC LCD дисплей - Използвайте SPI LCD към I2C LCD дисплея, използвайки SPI към IIC модул с Arduino: 5 стъпки
I2C / IIC LCD дисплей | Използвайте SPI LCD към I2C LCD дисплея Използване на SPI към IIC модул с Arduino: Здравейте момчета, тъй като нормалният SPI LCD 1602 има твърде много кабели за свързване, така че е много трудно да го свържете с arduino, но на пазара има един модул, който може конвертирате SPI дисплея в IIC дисплей, така че тогава трябва да свържете само 4 проводника
Flash AT Command Firmware към ESP01 модул (изисква USB към TTL адаптер): 5 стъпки
Flash AT Command Firmware to ESP01 Module (изисква USB към TTL адаптер): От Jay Amiel AjocGensan PHfacebook.com/geeamealyoutube.com/jayamielajoc
Прост WiFi към BLE (Bluetooth Low Energy) мост: 9 стъпки (със снимки)
Прост WiFi към BLE (Bluetooth Low Energy) мост: Актуализация 4 декември 2017 г. - преработени скици на Feather nRF52 и съвети за отстраняване на грешки. Добавени снимки на мост, монтиран в кутия. Този прост проект осигурява WiFi достъп до всеки Bluetooth модул с ниска енергия (BLE), който реализира UART на Nordic с TX Notify. Th
Преобразувател AC към DC = диоден мост: 3 стъпки
Преобразувател AC към DC = диоден мост: Диодният мост е устройство, което променя променливия ток (AC) в постоянен ток (DC). Разликата между тези два вида е, че AC е импулсно електричество, превключващо полярностите 50-60 пъти в секунда. (Ако погледнете електронните устройства, се казва t