Мазмуну:
- 1 -кадам: Ардуинонун кошумча I/O портторуна Solder Pin Headers
- 2 -кадам: Arduino джойстик китепканасын IDEге кошуңуз
- 3 -кадам: Кодду Arduinoго жаркылдатыңыз
- 4 -кадам: Зымдарды өткөрүңүз
- 5 -кадам: Алуучуну байлаңыз
- 6 -кадам: Кодексти шарттарыңызга тууралаңыз
- 7 -кадам: Эмуляцияланган джойстикти калибрлеңиз
Video: USB көпүрөсүнө R/C: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
PPM сигналдарын радио кабылдагычтан джойстик позициясына айландырат
Аны R/C радио өткөргүчүңүз менен сүйүктүү оюндарды жана учуу тренажерлерин ойноо үчүн колдонуңуз. Бул Instructable бул конверсияны жасоо үчүн кичине биттерден Arduino жана DSMX ресиверин жана жөнөкөй коддун үзүндүсүн колдонот.
Сага керек болот
- Күч
- Arduino
- USB кабелдери
- пин баштары
- секирүүчү зым
- PPM чыгышы бар радио кабылдагыч.
1 -кадам: Ардуинонун кошумча I/O портторуна Solder Pin Headers
Ресиверди (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 микроконтроллери Ардуино Леонардо болгондуктан, барганыңыз дурус.
3 -кадам: Кодду Arduinoго жаркылдатыңыз
#include #define inputPin 16#каналдарды аныктоо 4 #define lo 800 // RX чыгуусуна тууралоо#аныктоо hi 1600 // RX чыгуусуна тууралоо#филтрди аныктоо 10int канал [каналдар]; int previousValue [каналдар]; int counter = 0; Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, false, false, 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 <= channels-1; i ++) {channel = pulseIn (inputPin, HIGH); } үчүн (int i = 0; i <= каналдар-1; i ++) {эгер ((канал > 2000) || (канал <500)) {канал = мурункуValue ; } else {channel = (previousValue +channel )/2; counter ++; }} Joystick.setXAxis (канал [0]); Joystick.setYAxis (канал [1]); Joystick.setThrottle (канал [2]); Joystick.setRudder (канал [3]); } if (counter> filter) {for (int i = 0; i <= channels-1; i ++) {Serial.print ("channel"); Serial.print (i+1); Serial.print (":"); Serial.println (канал ); previousValue = канал ; } counter = 0; }}
Сураныч, R/C сигналы менен эмуляцияланган USB HIDдин ортосунда көпүрө болгон код эң жөнөкөй түрдө келгенин унутпаңыз. Бул жерде колдонулган функция - pulseIn - бөгөө функциясы. Бул жерде жана үзгүлтүктөрдү колдонуу менен блокировкасыз ыкманы кантип ишке ашыруу керектигин окуңуз.
4 -кадам: Зымдарды өткөрүңүз
Бит менен RXтин ортосуна секирүүчү зым / DuPont кабелин туташтырыңыз. Бул кабелдердин аягындагы бириктиргичтер аял болушу керек. Биз GND (көк), VCC (күрөң) жана сигналды (кызгылт сары) RXтин PPM портунан Arduinoдогу GND, VCC жана d16га туташтырабыз.
5 -кадам: Алуучуну байлаңыз
Ардуинону бийликтен ажыратыңыз. RXте BIND деп белгиленген туташтыргычтын ордуна байлоочу байламтаны коюңуз. Радио өткөргүчтү күйгүзүп, байлоо режимине которуңуз. Кийинки күчтү Arduinoго колдонуңуз. Кабыл алуу LED жарыгы күйгүзүлгөндө ийгиликтүү болгон.
6 -кадам: Кодексти шарттарыңызга тууралаңыз
Arduino эскизиндеги hi жана lo константалары сиз колдонгон ресивердин чыныгы өндүрүшүн чагылдыруу үчүн өзгөртүлүшү керек.
#аныктоо мына 800
#Салам 1600
PPM импульсунун ичиндеги сигналдар идеалдуу түрдө 1000μsден 2000μsке чейин. Бул Instructable жыйынтыктарында колдонулган RX болжол менен 800 менен 1600 ортосунда баалуулуктарга ээ жана ар бир каналда бир аз айырмаланат. Сиздин кабылдагычыңыздын кайсы диапазону бар экенин билүү үчүн, 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 Hub - RS232 бортто колдонуу үчүн Wifi көпүрөсүнө: 6 кадам
Арзан NMEA /AIS Hub - RS232 бортто колдонуу үчүн Wifi көпүрөсүнө: 2021 -жылдын 9 -январына чейин жаңыртуу - Кошумча TCP туташуусу кошулду жана эгерде кардарлар көп болсо, акыркы байланышты кайра колдонуңуз 13 -декабрь 2020 -жыл жаңыртуу - Учурдагы маршрутизаторлор менен кайыктар үчүн коддун конфигурацияланган версиясы кошулган жок Киришүү Бул NMEA / AIS RS232ден WiFi көпүрөсүнө чейин
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)
Wifi көпүрөсүнө Raspberry Pi Ethernet: 7 кадам
Wifi көпүрөсүнө Raspberry Pi Ethernet: Менде Raspberry Pies, түзмөктөр жана башка компьютерлер менен тармактык жабдуулардын сыноо тармагы бар, алардын бардыгы Ubiquity брандмауэр/роутер тарабынан башкарылат жана мен аны интернетке туташтыргым келет жаңыртууларды, программалык камсыздоону ж
NODEMcu USB порт иштебей жатат? USB аркылуу TTL (FTDI) модулуна кодду 2 гана кадам менен жүктөңүз: 3 кадам
NODEMcu USB порт иштебей жатат? Кодду USB аркылуу TTL (FTDI) модулуна жөн эле 2 кадам менен жүктөө: USBден TTL модулуна NODEMcu үчүн көптөгөн зымдарга туташуудан чарчадыңыз, кодду жөн гана 2 кадамда жүктөө үчүн, бул нускаманы аткарыңыз. NODEMcu иштебейт, анда паника кылбаңыз. Бул жөн гана USB драйв чипи же USB туташтыргычы
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө: 9 кадам (Сүрөттөр менен)
Жөнөкөй WiFi BLE (Bluetooth Low Energy) көпүрөсүнө: 2017 -жылдын 4 -декабрында жаңыртылган - Feather nRF52 эскиздери жана мүчүлүштүктөрдү оңдоо кеңештери. Box.This проектисине орнотулган көпүрөнүн сүрөттөрү TX Notify менен скандинавиялык UARTди ишке ашыруучу Bluetooth Low Energy (BLE) модулуна WiFi кирүүсүн камсыздайт. Th