Агуулгын хүснэгт:

USB гүүр хүртэлх R/C: 7 алхам
USB гүүр хүртэлх R/C: 7 алхам

Видео: USB гүүр хүртэлх R/C: 7 алхам

Видео: USB гүүр хүртэлх R/C: 7 алхам
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Арваннэгдүгээр
Anonim
R/C -ээс USB гүүр рүү
R/C -ээс USB гүүр рүү

Радио хүлээн авагчаас PPM дохиог джойстикийн байрлал болгон хувиргадаг

R/C радио дамжуулагчаараа дуртай тоглоом, нислэгийн симуляторуудаа тоглуулахын тулд үүнийг ашиглаарай. Энэхүү зааварчилгаа нь энэхүү хөрвүүлэлтийг хийхийн тулд LittleBits -ийн Arduino болон DSMX хүлээн авагч, энгийн кодын хэсгийг ашигладаг.

Танд хэрэгтэй болно

  • Эрчим хүч
  • Ардуино
  • USB кабель
  • зүү толгойнууд
  • холбогч утас
  • PPM гаралттай радио хүлээн авагч.

Алхам 1: Arduino -ийн нэмэлт I/O портууд руу гагнуурын зүү толгой

Arduino -ийн нэмэлт I/O портууд дээр гагнуурын зүү толгой
Arduino -ийн нэмэлт I/O портууд дээр гагнуурын зүү толгой

Хүлээн авагчийг (RX) асаахын тулд зүү толгойг Arduino дээр нэмэх шаардлагатай. Энэ нь Bit болон RX хоорондын холболтыг ихээхэн хөнгөвчлөх болно. Дэлгэрэнгүй мэдээллийг https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit -ээс үзнэ үү.

Алхам 2: Arduino Joystick номын санг IDE дээрээ нэмээрэй

Arduino Joystick номын санг IDE дээрээ нэмээрэй
Arduino Joystick номын санг IDE дээрээ нэмээрэй

Та номын санг GitHub дээрээс олж болно, https://github.com/MHeironimus/ArduinoJoystickLib… Үүнийг бичсэнд баярлалаа, Маттью Хейронимус.

Зөвхөн зарим Arduino нь 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, үнэн, үнэн, худал, худал, хуурамч, хуурамч, үнэн, үнэн, худал, худал, худал); хүчингүй тохиргоо () {Joystick.setXAxisRange сайн уу); Joystick.setYAxisRange (хараарай, сайн уу); Joystick.setThrottleRange (хараарай, сайн уу); Joystick.setRudderRange (хараарай, сайн уу); Joystick.begin (); Цуваа эхлэх (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= channels-1; i ++) {channel = pulseIn (inputPin, HIGH); } for (int i = 0; i <= суваг-1; би ++) {if ((суваг > 2000) || (суваг <500)) {суваг = өмнөхValue ; } өөр {суваг = (өмнөхValue +суваг )/2; тоолуур ++; }} Joystick.setXAxis (суваг [0]); Joystick.setYAxis (суваг [1]); Joystick.setThrottle (суваг [2]); Joystick.setRudder (суваг [3]); } if (counter> filter) {for (int i = 0; i <= суваг-1; i ++) {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 -д хүч хэрэглээрэй. Хүлээн авагч дахь LED асах үед холбох процесс амжилттай болсон.

Алхам 6: Кодыг өөрийн нөхцөл байдалд тохируулна уу

Arduino -ийн ноорог дээрх hi болон lo гэсэн тогтмол байдлыг таны ашиглаж буй хүлээн авагчийн бодит гаралтыг харуулахын тулд өөрчлөх шаардлагатай.

#тодорхойлно уу 800

#Сайн байна уу 1600

PPM импульсийн доторх дохио нь 1000μs -ээс 2000μs хооронд хэлбэлздэг. Энэхүү зааварчилгааны гаралтанд ашигласан RX нь ойролцоогоор 800-1600 хооронд хэлбэлздэг бөгөөд суваг бүрт арай өөр байдаг. Таны хүлээн авагч ямар хүрээтэй болохыг олж мэдэхийн тулд Arduino IDE дээрх Serial Monitor -ийг нээж RX -ийнхээ гаралтыг харах боломжтой. Энэ нь үүнтэй төстэй харагдах болно:

суваг 1: 728

суваг 2: 729 суваг 3: 703 суваг 4: 726 суваг 1: 1681 суваг 2: 1639 суваг 3: 1613 суваг 4: 1676

RX -ийн гаралтын хүрээний талаар илүү тодорхой ойлголттой болсны дараа сайн, сайн гэсэн ойролцоо утгыг сонгоод тогтмолуудыг нь өөрчилнө үү. Дараа нь ноорогоо Arduino дээр дахин байршуулна уу.

Алхам 7: Emulated Joystick -ийг тохируулна уу

Төхөөрөмжийг компьютерт холбож, OS -ийн тохируулгын функцийг ашиглан дууриалган джойстикийг тохируулна уу. Линуксд зориулсан сайн хэрэгсэл бол jstest-gtk юм.

Цаашдын сайжруулалтууд

  • Блоклохгүй код бичих (3-р алхамыг үзнэ үү)
  • Дэлхий даяар биш суваг тус бүрт хүрээ тогтоох (6 -р алхамыг үзнэ үү)

Цаашид унших

  • Redcon CM703
  • PPM

Зөвлөмж болгож буй: