Obsah:

Most R/C na USB: 7 kroků
Most R/C na USB: 7 kroků

Video: Most R/C na USB: 7 kroků

Video: Most R/C na USB: 7 kroků
Video: JAK ZVÝŠIT VÝKON POČÍTAČE / NOTEBOOKU 🔥| 5 tipů a triků | o 100% rychlejší PC | FPS zvýšení | CZ/SK 2024, Listopad
Anonim
Most R/C na USB
Most R/C na USB

Převádí signály PPM z rádiového přijímače do poloh joysticku

Hrajte své oblíbené hry a letové simulátory s rádiovým vysílačem R/C. Tento Instructable používá k provedení této konverze Arduino od LittleBits a přijímač DSMX plus jednoduchý úryvek kódu.

Budete potřebovat

  • Napájení
  • Arduino
  • USB kabely
  • pin záhlaví
  • propojovací drát
  • rádiový přijímač s PPM výstupem.

Krok 1: Pájecí hlavičky pájek na další I/O porty Arduina

Pájecí kolíkové konektory k dalším vstupním/výstupním portům Arduina
Pájecí kolíkové konektory k dalším vstupním/výstupním portům Arduina

Aby bylo možné napájet přijímač (RX), je třeba do Arduina přidat záhlaví pinů. To také výrazně usnadní zapojení mezi bitem a RX. Další informace naleznete na stránce

Krok 2: Přidejte knihovnu Arduino Joystick do svého IDE

Přidejte do svého IDE knihovnu Joystick Arduino
Přidejte do svého IDE knihovnu Joystick Arduino

Knihovnu najdete na GitHubu, https://github.com/MHeironimus/ArduinoJoystickLib… Děkuji, Matthew Heironimus, za její napsání.

Pouze někteří Arduino mohou emulovat HID jako joystick. Protože mikrokontrolér littleBits je srdcem Arduino Leonardo, můžete jít.

Krok 3: Flashujte kód na Arduino

#include #define inputPin 16#definovat kanály 4 #definovat lo 800 // upravit na výstup RX#definovat hi 1600 // upravit na výstup RX#definovat filtr 10int kanál [kanály]; int previousValue [kanály]; int counter = 0; Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, true, true, false, false, false, false); void setup () {Joystick.setXAxisRange (lo, Ahoj); Joystick.setYAxisRange (lo, ahoj); Joystick.setThrottleRange (lo, ahoj); Joystick.setRudderRange (lo, ahoj); 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); } pro (int i = 0; i <= kanály-1; i ++) {if ((kanál > 2000) || (kanál <500)) {kanál = předchozí hodnota ; } else {kanál = (previousValue +kanál )/2; čítač ++; }} Joystick.setXAxis (kanál [0]); Joystick.setYAxis (kanál [1]); Joystick.setThrottle (kanál [2]); Joystick.setRudder (kanál [3]); } if (counter> filter) {for (int i = 0; i <= channels-1; i ++) {Serial.print ("channel"); Serial.print (i+1); Serial.print (":"); Serial.println (kanál ); previousValue = kanál ; } čítač = 0; }}

Uvědomte si prosím, že kód, který překlenuje signál R/C a emulovaný USB HID, je ve své nejjednodušší podobě. Zde použitá funkce - pulseIn - je blokovací funkcí. Přečtěte si zde a zde, jak implementovat neblokující přístup pomocí přerušení.

Krok 4: Proveďte zapojení

Proveďte zapojení
Proveďte zapojení
Proveďte zapojení
Proveďte zapojení

Připojte propojovací kabel / kabely DuPont mezi bit a RX. Konektory na konci těchto kabelů musí být samice. GND (modrá), VCC (hnědá) a signál (oranžová) propojíme z PPM portu RX na GND, VCC a d16 na Arduinu.

Krok 5: Spojte přijímač

Odpojte Arduino od napájení. Vložte svazek vázání do místa konektoru označeného BIND na RX. Zapněte rádiový vysílač a přepněte jej do režimu vazby. Dále připojte napájení k Arduinu. Proces vazby byl úspěšný, když se rozsvítí LED v přijímači.

Krok 6: Upravte kód podle svých okolností

Konstanty hi a lo v náčrtu Arduino je třeba upravit tak, aby odrážely skutečný výstup přijímače, který používáte.

#definovat lo 800

#define ahoj 1600

Signály uvnitř PPM pulsu se ideálně pohybují od 1 000 μs do 2 000 μs. Hodnoty RX použité v tomto Instructable výstupech jsou zhruba mezi 800 a 1600 a na každém kanálu se mírně liší. Chcete -li zjistit, jaký rozsah má váš přijímač, otevřete sériový monitor v Arduino IDE a uvidíte výstup vašeho RX. Bude to vypadat podobně jako toto:

kanál 1: 728

kanál 2: 729 kanál 3: 703 kanál 4: 726 kanál 1: 1681 kanál 2: 1639 kanál 3: 1613 kanál 4: 1676

Jakmile budete mít jasnější představu o rozsahu, který vaše RX výstupy, zvolte dobré aproximace pro hi a lo a podle toho změňte konstanty. Poté skicu znovu nahrajte do Arduina.

Krok 7: Kalibrujte emulovaný joystick

Připojte zařízení k počítači a pomocí kalibrační funkce operačního systému zkalibrujte emulovaný joystick. Dobrým nástrojem pro Linux je jstest-gtk.

Další vylepšení

  • Napište neblokující kód (viz krok 3)
  • Nastavit rozsahy na kanál, nikoli globálně (viz krok 6)

Další čtení

  • Redcon CM703
  • PPM

Doporučuje: