Mục lục:

Cầu nối R / C tới USB: 7 bước
Cầu nối R / C tới USB: 7 bước

Video: Cầu nối R / C tới USB: 7 bước

Video: Cầu nối R / C tới USB: 7 bước
Video: Đừng dùng hub Type-C xuất màn hình nữa! 2024, Tháng bảy
Anonim
Cầu nối R / C sang USB
Cầu nối R / C sang USB

Chuyển đổi tín hiệu PPM từ máy thu thanh thành các vị trí cần điều khiển

Sử dụng nó để chơi các trò chơi yêu thích của bạn và trình mô phỏng chuyến bay với bộ phát radio R / C của bạn. Có thể hướng dẫn này sử dụng Arduino từ littleBits và bộ thu DSMX cùng với một đoạn mã đơn giản để thực hiện chuyển đổi này.

Bạn sẽ cần

  • Quyền lực
  • Arduino
  • cáp USB
  • đầu ghim
  • dây nhảy
  • một máy thu vô tuyến với đầu ra PPM.

Bước 1: Hàn đầu ghim vào cổng I / O bổ sung của Arduino

Đầu nối chân hàn với các cổng I / O bổ sung của Arduino
Đầu nối chân hàn với các cổng I / O bổ sung của Arduino

Để cấp nguồn cho bộ thu (RX), đầu cắm chân cần được thêm vào Arduino. Điều này cũng sẽ làm cho việc đấu dây giữa Bit và RX dễ dàng hơn rất nhiều. Xem https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit để biết thêm thông tin.

Bước 2: Thêm Thư viện cần điều khiển Arduino vào IDE của bạn

Thêm Thư viện cần điều khiển Arduino vào IDE của bạn
Thêm Thư viện cần điều khiển Arduino vào IDE của bạn

Bạn có thể tìm thấy thư viện trên GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Cảm ơn bạn, Matthew Heironimus, đã viết nó.

Chỉ một số Arduinos mới có thể mô phỏng HID giống như một cần điều khiển. Vì bộ vi điều khiển littleBits là một Leonardo Arduino thực tâm nên bạn rất nên sử dụng.

Bước 3: Flash mã vào Arduino

#include #define inputPin 16 # xác định các kênh 4 #define lo 800 // điều chỉnh thành đầu ra của RX # xác định hi 1600 // điều chỉnh thành đầu ra của bộ lọc RX # xác định kênh 10int [các kênh]; int beforeValue [các kênh]; 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); void setup () {Joystick.setXAxisRange (lo, Chào); Joystick.setYAxisRange (lo, chào); Joystick.setThrottleRange (lo, chào); Joystick.setRudderRange (lo, chào); Joystick.begin (); Serial.begin (9600); pinMode (inputPin, INPUT); } void loop () {if (xungIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= channel-1; i ++) {channel = pulseIn (inputPin, HIGH); } for (int i = 0; i <= channel-1; i ++) {if ((channel > 2000) || (channel <500)) {channel = beforeValue ; } else {channel = (beforeValue + channel ) / 2; bộ đếm ++; }} Joystick.setXAxis (kênh [0]); Joystick.setYAxis (kênh [1]); Joystick.setThrottle (kênh [2]); Joystick.setRudder (kênh [3]); } if (counter> filter) {for (int i = 0; i <= channel-1; i ++) {Serial.print ("channel"); Serial.print (i + 1); Serial.print (":"); Serial.println (kênh ); beforeValue = channel ; } bộ đếm = 0; }}

Xin lưu ý rằng mã cầu nối giữa tín hiệu R / C và USB HID mô phỏng có dạng đơn giản nhất. Hàm được sử dụng ở đây - xungIn - là một hàm chặn. Đọc ở đây và đây, cách triển khai phương pháp không chặn sử dụng ngắt.

Bước 4: Đi dây

Đấu dây
Đấu dây
Đấu dây
Đấu dây

Kết nối dây jumper / cáp DuPont giữa Bit và RX. Các đầu nối ở cuối các cáp này cần phải là đầu nối. Chúng tôi kết nối GND (xanh lam), VCC (nâu) và tín hiệu (cam) từ cổng PPM của RX với GND, VCC và d16 trên Arduino.

Bước 5: Ràng buộc người nhận

Ngắt kết nối Arduino khỏi nguồn điện. Đặt dây nịt vào vị trí đầu nối được đánh dấu BIND trên RX. Bật bộ phát radio của bạn và chuyển nó sang chế độ liên kết. Tiếp theo cấp nguồn cho Arduino. Quá trình liên kết thành công khi đèn LED trong bộ thu bật sáng.

Bước 6: Điều chỉnh mã phù hợp với hoàn cảnh của bạn

Các hằng số hi và lo trong bản phác thảo Arduino cần được thay đổi để phản ánh đầu ra thực tế của bộ thu mà bạn đang sử dụng.

#define lo 800

#define xin chào 1600

Các tín hiệu bên trong xung PPM lý tưởng nằm trong khoảng từ 1000μs đến 2000μs. RX được sử dụng trong đầu ra có thể hướng dẫn này cho giá trị khoảng từ 800 đến 1600 và hơi khác nhau trên mỗi kênh. Để biết bộ thu của bạn có dải nào, hãy mở Serial Monitor trong Arduino IDE để xem đầu ra của RX của bạn. Nó sẽ trông tương tự như thế này:

kênh 1: 728

kênh 2: 729 kênh 3: 703 kênh 4: 726 kênh 1: 1681 kênh 2: 1639 kênh 3: 1613 kênh 4: 1676

Khi bạn đã có ý tưởng rõ ràng hơn về phạm vi mà RX của bạn xuất ra, hãy chọn các giá trị gần đúng tốt cho hi và lo và thay đổi các hằng số cho phù hợp. Sau đó tải lại bản phác thảo lên Arduino.

Bước 7: Hiệu chỉnh Joystick giả lập

Kết nối thiết bị với máy tính của bạn và sử dụng chức năng hiệu chỉnh của hệ điều hành để hiệu chỉnh cần điều khiển mô phỏng. Một công cụ tốt cho Linux là jstest-gtk.

Cải tiến hơn nữa

  • Viết mã không chặn (xem Bước 3)
  • Đặt phạm vi cho mỗi kênh, không phải trên toàn cầu (xem Bước 6)

đọc thêm

  • Redcon CM703
  • PPM

Đề xuất: