Мазмұны:

USB көпіріне R/C: 7 қадам
USB көпіріне R/C: 7 қадам

Бейне: USB көпіріне R/C: 7 қадам

Бейне: USB көпіріне R/C: 7 қадам
Бейне: Нелогичная жизнь_Рассказ_Слушать 2024, Қараша
Anonim
USB көпіріне R/C
USB көпіріне R/C

Радио қабылдағыштан PPM сигналдарын джойстик позициясына түрлендіреді

Оны R/C радио таратқышымен сүйікті ойындар мен ұшу тренажерлерін ойнау үшін пайдаланыңыз. Бұл нұсқаулықта бұл конверсияны жасау үшін LittleBits Arduino мен DSMX қабылдағышы және қарапайым код үзіндісі қолданылады.

Саған қажет болады

  • Қуат
  • Ардуино
  • USB кабельдері
  • бекітетін тақырыптар
  • секіргіш сым
  • PPM шығысы бар радио қабылдағыш.

1 -қадам: Arduino қосымша енгізу -шығару порттарына дәнекерлеу түйінінің тақырыптары

Ардуиноның қосымша енгізу -шығару порттарына дәнекер түйреуіш тақырыптары
Ардуиноның қосымша енгізу -шығару порттарына дәнекер түйреуіш тақырыптары

Қабылдағышты (RX) қуаттандыру үшін Arduino -ға түйреуіштерді қосу керек. Бұл сонымен қатар бит пен RX арасындағы сымды едәуір жеңілдетеді. Қосымша ақпарат алу үшін https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit қараңыз.

2 -қадам: Arduino Joystick кітапханасын IDE -ге қосыңыз

IDE -ге Arduino Joystick кітапханасын қосыңыз
IDE -ге Arduino Joystick кітапханасын қосыңыз

Сіз кітапхананы GitHub сайтынан таба аласыз, https://github.com/MHeironimus/ArduinoJoystickLib… Рахмет, Мэттью Хейронимус, оны жазғаныңыз үшін.

Тек кейбір Ардуинодар джойстик сияқты 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); жарамсыз орнату () {Joystick.setXAxisRange сәлем); Joystick.setYAxisRange (міне, сәлем); Joystick.setThrottleRange (міне, сәлем); Joystick.setRudderRange (міне, сәлем); Джойстик.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 ++) {if ((арна > 2000) || (арна <500)) {арна = алдыңғыValue ; } else {channel = (алдыңғыValue +арна )/2; есептегіш ++; }} 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 («арна»); Serial.print (i+1); Serial.print («:»); Serial.println ( арнасы); previousValue = арна ; } санауыш = 0; }}

Есіңізде болсын, R/C сигналы мен эмуляцияланған USB HID арасындағы көпір болатын код ең қарапайым түрде келеді. Мұнда қолданылатын функция - pulseIn - бұғаттау функциясы. Бұл жерде оқыңыз және үзіліс арқылы блокировкасыз әдісті қалай жүзеге асыруға болады.

4 -қадам: Сымдарды қосыңыз

Сымдарды жасаңыз
Сымдарды жасаңыз
Сымдарды жасаңыз
Сымдарды жасаңыз

Бит пен RX арасына қосқыш сым / DuPont кабельдерін жалғаңыз. Бұл кабельдердің соңындағы қосқыштар әйел болуы керек. Біз GND (көк), VCC (қоңыр) және сигналды (қызғылт сары) RX PPM портынан Arduino -дағы GND, VCC және d16 -ға қосамыз.

5 -қадам: ресиверді байлаңыз

Arduino -ны қуат көзінен ажыратыңыз. Байланыстыруды RX -те BIND деп белгіленген қосқыш орнына салыңыз. Радио таратқышты қосыңыз және оны байланыстыру режиміне ауыстырыңыз. Содан кейін Arduino -ға қуат қолданыңыз. Байланыс процесі ресивердегі жарық диоды қосылған кезде сәтті болды.

6 -қадам: Кодты сіздің жағдайыңызға қарай реттеңіз

Arduino эскизіндегі hi және lo тұрақтыларын сіз қабылдайтын қабылдағыштың нақты шығысын көрсету үшін өзгерту қажет.

#анықтау 800

#Сәлем 1600

PPM импульсінің ішіндегі сигналдар 1000 мкс -ден 2000 мкс -ге дейін өте қолайлы. Бұл нұсқаулық шығысында қолданылатын RX шамамен 800 мен 1600 аралығында және әр арнада сәл өзгеше. Қабылдағышта қандай диапазон бар екенін білу үшін RX шығысын көру үшін Arduino IDE сериялық мониторын ашыңыз. Бұл келесіге ұқсас болады:

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

Ұсынылған: