Πίνακας περιεχομένων:

R/C σε USB Bridge: 7 βήματα
R/C σε USB Bridge: 7 βήματα

Βίντεο: R/C σε USB Bridge: 7 βήματα

Βίντεο: R/C σε USB Bridge: 7 βήματα
Βίντεο: Мухоморный 🍄Трип Фиксирую на камеру. Очутился между двух миров🌍 Реальным и Мухоморным🙏 2024, Νοέμβριος
Anonim
R/C σε USB Bridge
R/C σε USB Bridge

Μετατρέπει σήματα PPM από δέκτη ραδιοφώνου σε θέσεις χειριστηρίου

Χρησιμοποιήστε το για να παίξετε τα αγαπημένα σας παιχνίδια και προσομοιωτές πτήσης με τον ραδιοφωνικό σας πομπό R/C. Αυτό το Instructable χρησιμοποιεί ένα Arduino από το littleBits και έναν δέκτη DSMX καθώς και ένα απλό απόσπασμα κώδικα για να πραγματοποιήσει αυτήν τη μετατροπή.

Θα χρειαστείτε

  • Εξουσία
  • Arduino
  • Καλώδια USB
  • κεφαλίδες καρφιτσών
  • καλώδιο βραχυκυκλωτήρα
  • ραδιοφωνικός δέκτης με έξοδο PPM.

Βήμα 1: Κολλήστε κεφαλίδες καρφιτσών στις πρόσθετες θύρες εισόδου/εξόδου του Arduino

Solder Pin Headers στις πρόσθετες θύρες εισόδου/εξόδου του Arduino
Solder Pin Headers στις πρόσθετες θύρες εισόδου/εξόδου του Arduino

Για να τροφοδοτήσετε τον δέκτη (RX), πρέπει να προστεθούν κεφαλίδες pin στο Arduino. Αυτό θα διευκολύνει επίσης την καλωδίωση μεταξύ του Bit και του RX. Ανατρέξτε στη διεύθυνση https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit για περισσότερες πληροφορίες.

Βήμα 2: Προσθέστε τη Arduino Joystick Library στο IDE σας

Προσθέστε τη βιβλιοθήκη Arduino Joystick στο IDE σας
Προσθέστε τη βιβλιοθήκη Arduino Joystick στο IDE σας

Μπορείτε να βρείτε τη βιβλιοθήκη στο GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Σας ευχαριστώ, Matthew Heironimus, που τη γράψατε.

Μόνο ορισμένοι Arduinos μπορούν να μιμηθούν ένα HID σαν χειριστήριο. Καθώς ο μικροελεγκτής littleBits είναι ένας Arduino Leonardo στην καρδιά, είστε έτοιμοι.

Βήμα 3: Μετακινήστε τον κωδικό στο Arduino

#include #define inputPin 16#define channel 4 #define lo 800 // προσαρμογή στην έξοδο του RX#define 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, true, true, false, false, false); void setup () {Joystis.setXA γεια); Joystick.setYAxisRange (εδώ, γεια); Joystick.setThrottleRange (εδώ, γεια); Joystick.setRudderRange (εδώ, γεια); Joystick.begin (); Serial.begin (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= κανάλια-1; i ++) {channel = pulseIn (inputPin, HIGH); } για (int i = 0; i <= κανάλια-1; i ++) {if ((κανάλι > 2000) || (κανάλι <500)) {κανάλι = previousValue ; } else {κανάλι = (previousValue +κανάλι )/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 ("channel"); Serial.print (i+1); Serial.print (":"); Serial.println (κανάλι ); previousValue = κανάλι ; } μετρητής = 0; }}

Λάβετε υπόψη ότι ο κώδικας που γεφυρώνει το σήμα R/C και το εξομοιωμένο USB HID έρχεται στην απλούστερη μορφή του. Η συνάρτηση που χρησιμοποιείται εδώ - το pulseIn - είναι μια λειτουργία αποκλεισμού. Διαβάστε εδώ, και εδώ, πώς να εφαρμόσετε μια προσέγγιση χωρίς αποκλεισμούς χρησιμοποιώντας διακοπές.

Βήμα 4: Κάντε την καλωδίωση

Κάντε την καλωδίωση
Κάντε την καλωδίωση
Κάντε την καλωδίωση
Κάντε την καλωδίωση

Συνδέστε καλώδια βραχυκυκλωτήρα / DuPont μεταξύ του Bit και του RX. Οι σύνδεσμοι στο τέλος αυτών των καλωδίων πρέπει να είναι θηλυκοί. Συνδέουμε GND (μπλε), VCC (καφέ) και σήμα (πορτοκαλί) από τη θύρα PPM του RX σε GND, VCC και d16 στο Arduino.

Βήμα 5: Συνδέστε τον δέκτη

Αποσυνδέστε το Arduino από την τροφοδοσία. Τοποθετήστε την πλεξούδα σύνδεσης στη θέση σύνδεσης με την ένδειξη BIND στο RX. Ενεργοποιήστε τον πομπό ραδιοφώνου και μετατρέψτε τον σε κατάσταση σύνδεσης. Στη συνέχεια εφαρμόστε ισχύ στο Arduino. Η διαδικασία δέσμευσης ήταν επιτυχής όταν ανάβει η λυχνία LED του δέκτη.

Βήμα 6: Προσαρμόστε τον κώδικα στις περιστάσεις σας

Οι σταθερές hi και lo στο σκίτσο Arduino πρέπει να αλλάξουν για να αντικατοπτρίζουν την πραγματική έξοδο του δέκτη που χρησιμοποιείτε.

#ορίστε το 800

#define γεια 1600

Τα σήματα μέσα στον παλμό PPM κυμαίνονται ιδανικά από 1000μs έως 2000μs. Το RX που χρησιμοποιείται σε αυτό το Instructable έξοδο έχει περίπου 800 έως 1600 και είναι ελαφρώς διαφορετικό σε κάθε κανάλι. Για να μάθετε ποια περιοχή έχει ο δέκτης σας, ανοίξτε τη Σειριακή οθόνη στο Arduino IDE για να δείτε την έξοδο του RX σας. Θα μοιάζει με αυτό:

κανάλι 1: 728

κανάλι 2: 729 κανάλι 3: 703 κανάλι 4: 726 κανάλι 1: 1681 κανάλι 2: 1639 κανάλι 3: 1613 κανάλι 4: 1676

Μόλις έχετε μια σαφέστερη ιδέα για το εύρος που εξάγει το RX σας, επιλέξτε καλές προσεγγίσεις για το hi and lo και αλλάξτε ανάλογα τις σταθερές. Στη συνέχεια, ανεβάστε ξανά το σκίτσο στο Arduino.

Βήμα 7: Βαθμονομήστε το Emulated Joystick

Συνδέστε τη συσκευή στον υπολογιστή σας και χρησιμοποιήστε τη λειτουργία βαθμονόμησης του λειτουργικού σας συστήματος για να βαθμονομήσετε το εξομοιωμένο χειριστήριο. Ένα καλό εργαλείο για Linux είναι το jstest-gtk.

Περαιτέρω βελτιώσεις

  • Γράψτε κώδικα χωρίς αποκλεισμό (δείτε Βήμα 3)
  • Ορίστε εύρη ανά κανάλι, όχι καθολικά (δείτε Βήμα 6)

Περαιτέρω ανάγνωση

  • Redcon CM703
  • PPM

Συνιστάται: