Isi kandungan:

R / C ke Jambatan USB: 7 Langkah
R / C ke Jambatan USB: 7 Langkah

Video: R / C ke Jambatan USB: 7 Langkah

Video: R / C ke Jambatan USB: 7 Langkah
Video: DETIK DETIK JEMBATAN KACA PECAH,#shorts 2024, November
Anonim
R / C ke Jambatan USB
R / C ke Jambatan USB

Menukar isyarat PPM dari penerima radio ke kedudukan kayu bedik

Gunakan untuk memainkan permainan kegemaran anda dan simulator penerbangan dengan pemancar radio R / C anda. Instructable ini menggunakan Arduino dari littleBits dan penerima DSMX ditambah coretan kod ringkas untuk membuat penukaran ini.

Anda perlu

  • Kuasa
  • Arduino
  • Kabel USB
  • pengepala pin
  • wayar pelompat
  • penerima radio dengan output PPM.

Langkah 1: Header Pin Solder ke Pelabuhan I / O Tambahan Arduino

Solder Pin Header ke Pelabuhan I / O Tambahan Arduino
Solder Pin Header ke Pelabuhan I / O Tambahan Arduino

Untuk menghidupkan penerima (RX), header pin perlu ditambahkan ke Arduino. Ini juga akan menjadikan pendawaian antara Bit dan RX menjadi lebih mudah. Lihat https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit untuk maklumat lebih lanjut.

Langkah 2: Tambahkan Perpustakaan Joystick Arduino ke IDE Anda

Tambahkan Perpustakaan Joystick Arduino ke IDE Anda
Tambahkan Perpustakaan Joystick Arduino ke IDE Anda

Anda boleh menemui perpustakaan di GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Terima kasih, Matthew Heironimus, kerana menulisnya.

Hanya Arduino tertentu yang dapat meniru HID seperti kayu bedik. Oleh kerana mikrokontroler bitBits adalah Arduino Leonardo, anda boleh pergi.

Langkah 3: Flash Kod Ke Arduino

#include #define inputPin 16 #efinisikan saluran 4 #define lo 800 // sesuaikan dengan output RX #efinisikan hi 1600 // sesuaikan dengan output RX # tentukan filter 10int saluran [saluran]; int sebelumnyaValue [saluran]; int counter = 0; Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, false, true, true, false, false, false); kekosongan persediaan () {Joystick.setXAxisRange (lo, lo hai); Joystick.setYAxisRange (lo, hai); Joystick.setThrottleRange (lo, hai); Joystick.setRudderRange (lo, hai); Joystick.begin (); Serial.begin (9600); pinMode (inputPin, INPUT); } gelung void () {if (pulseIn (inputPin, HIGH)> 3000) {untuk (int i = 0; i <= saluran-1; i ++) {saluran = pulseIn (inputPin, HIGH); } untuk (int i = 0; i <= saluran-1; i ++) {if ((saluran > 2000) || (saluran <500)) {saluran = sebelumnyaValue ; } lain {saluran = (nilai sebelumnya + saluran ) / 2; kaunter ++; }} Joystick.setXAxis (saluran [0]); Joystick.setYAxis (saluran [1]); Joystick.setThrottle (saluran [2]); Joystick.setRudder (saluran [3]); } if (counter> filter) {untuk (int i = 0; i <= saluran-1; i ++) {Serial.print ("saluran"); Cetakan bersiri (i + 1); Cetakan bersiri (":"); Serial.println (saluran ); sebelumnyaValue = saluran ; } kaunter = 0; }}

Perlu diketahui bahawa kod yang menghubungkan antara isyarat R / C dan HID USB yang ditiru hadir dalam bentuk yang paling mudah. Fungsi yang digunakan di sini - pulseIn - adalah fungsi menyekat. Baca di sini, dan di sini, bagaimana melaksanakan pendekatan tanpa penyekat menggunakan gangguan.

Langkah 4: Lakukan Pendawaian

Lakukan Pendawaian
Lakukan Pendawaian
Lakukan Pendawaian
Lakukan Pendawaian

Sambungkan kabel jumper wire / DuPont antara Bit dan RX. Penyambung di hujung kabel ini mestilah perempuan. Kami menyambungkan GND (biru), VCC (coklat) dan isyarat (oren) dari port PPM RX ke GND, VCC dan d16 di Arduino.

Langkah 5: Ikat Penerima

Putuskan sambungan Arduino dari kuasa. Masukkan tali pengikat ke lokasi penyambung bertanda BIND pada RX. Hidupkan pemancar radio anda dan ubah ke mod pengikat. Seterusnya gunakan kuasa untuk Arduino. Proses mengikat berjaya apabila LED di penerima menyala.

Langkah 6: Sesuaikan Kod dengan Keadaan Anda

Pemalar hi dan lo dalam lakaran Arduino perlu diubah untuk mencerminkan output sebenar penerima yang anda gunakan.

#tentukan lo 800

#tentukan hi 1600

Isyarat di dalam nadi PPM idealnya berkisar antara 1000μs hingga 2000μs. RX yang digunakan dalam output Instructable ini bernilai kira-kira antara 800 dan 1600 dan sedikit berbeza pada setiap saluran. Untuk mengetahui jangkauan penerima anda, buka Monitor Serial di Arduino IDE untuk melihat output RX anda. Ia akan serupa dengan ini:

saluran 1: 728

saluran 2: 729 saluran 3: 703 saluran 4: 726 saluran 1: 1681 saluran 2: 1639 saluran 3: 1613 saluran 4: 1676

Setelah anda mempunyai idea yang lebih jelas mengenai julat keluaran RX anda, pilih perkiraan yang baik untuk hi dan lo dan ubah pemalarnya dengan sewajarnya. Kemudian muat naik lakaran ke Arduino sekali lagi.

Langkah 7: Kalibrasi Joystick yang Ditiru

Sambungkan peranti ke komputer anda dan gunakan fungsi penentukuran OS anda untuk menentukur kayu bedik yang ditiru. Alat yang baik untuk Linux ialah jstest-gtk.

Penambahbaikan selanjutnya

  • Tuliskan kod yang tidak menyekat (lihat Langkah 3)
  • Tetapkan julat setiap saluran, bukan secara global (lihat Langkah 6)

Bacaan lanjut

  • Redcon CM703
  • PPM

Disyorkan: