Πίνακας περιεχομένων:
- Βήμα 1: Κολλήστε κεφαλίδες καρφιτσών στις πρόσθετες θύρες εισόδου/εξόδου του Arduino
- Βήμα 2: Προσθέστε τη Arduino Joystick Library στο IDE σας
- Βήμα 3: Μετακινήστε τον κωδικό στο Arduino
- Βήμα 4: Κάντε την καλωδίωση
- Βήμα 5: Συνδέστε τον δέκτη
- Βήμα 6: Προσαρμόστε τον κώδικα στις περιστάσεις σας
- Βήμα 7: Βαθμονομήστε το Emulated Joystick
Βίντεο: R/C σε USB Bridge: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Μετατρέπει σήματα PPM από δέκτη ραδιοφώνου σε θέσεις χειριστηρίου
Χρησιμοποιήστε το για να παίξετε τα αγαπημένα σας παιχνίδια και προσομοιωτές πτήσης με τον ραδιοφωνικό σας πομπό R/C. Αυτό το Instructable χρησιμοποιεί ένα Arduino από το littleBits και έναν δέκτη DSMX καθώς και ένα απλό απόσπασμα κώδικα για να πραγματοποιήσει αυτήν τη μετατροπή.
Θα χρειαστείτε
- Εξουσία
- Arduino
- Καλώδια USB
- κεφαλίδες καρφιτσών
- καλώδιο βραχυκυκλωτήρα
- ραδιοφωνικός δέκτης με έξοδο PPM.
Βήμα 1: Κολλήστε κεφαλίδες καρφιτσών στις πρόσθετες θύρες εισόδου/εξόδου του 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 σας
Μπορείτε να βρείτε τη βιβλιοθήκη στο 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
Συνιστάται:
Μικροσκοπικά προγράμματα οδήγησης H-Bridge - Βασικά: 6 βήματα (με εικόνες)
Μικροσκοπικά προγράμματα οδήγησης H-Bridge | Βασικά: Γεια σας και καλώς ήρθατε ξανά σε ένα άλλο εκπαιδευτικό! Στο προηγούμενο, σας έδειξα πώς δημιούργησα πηνία στο KiCad χρησιμοποιώντας ένα σενάριο python. Στη συνέχεια δημιούργησα και δοκίμασα μερικές παραλλαγές πηνίων για να δω ποια λειτουργεί καλύτερα. Στόχος μου είναι να αντικαταστήσω το τεράστιο
Φτηνός διανομέας NMEA/AIS - RS232 to Wifi Bridge για ενσωματωμένη χρήση: 6 βήματα
Φτηνός διανομέας NMEA /AIS - RS232 στο Wifi Bridge για ενσωματωμένη χρήση: Ενημέρωση 9 Ιανουαρίου 2021 - Προστέθηκε επιπλέον σύνδεση TCP και επαναχρησιμοποίηση της τελευταίας σύνδεσης εάν συνδεθούν περισσότεροι πελάτες Ενημέρωση 13 Δεκεμβρίου 2020 - Δεν προστέθηκε καμία έκδοση διαμόρφωσης του κώδικα για σκάφη με υπάρχοντα δρομολογητές Εισαγωγή Αυτό το NMEA / Η γέφυρα AIS RS232 to WiFi είναι
Κατασκευάστε το Rainbow Interactive Bridge χρησιμοποιώντας το Minecraft Raspberry Pi Edition: 11 βήματα
Build Rainbow Interactive Bridge Using Minecraft Raspberry Pi Edition: Χθες, είδα τον 8χρονο ανιψιό μου να παίζει Minecraft με το Raspberry Pi που του έδωσα πριν, τότε πήρα μια ιδέα, ότι χρησιμοποιώ κώδικα για να φτιάξω ένα προσαρμοσμένο και συναρπαστικό Minecraft- pi έργο μπλοκ LED. Το Minecraft Pi είναι ένας πολύ καλός τρόπος για να ξεκινήσετε με
Full Wave-Bridge Rectifier (JL): 5 Βήματα
Full Wave-Bridge Rectifier (JL): Εισαγωγή Αυτή η δυσεπίλυτη σελίδα θα σας καθοδηγήσει σε όλα τα βήματα που είναι απαραίτητα για την κατασκευή ενός ανορθωτή γεφυρών πλήρους κύματος. Είναι χρήσιμο για τη μετατροπή ρεύματος εναλλασσόμενου ρεύματος σε ρεύμα συνεχούς ρεύματος. Μέρη (με συνδέσμους αγοράς) (Οι εικόνες των εξαρτημάτων περιλαμβάνονται με corresp
Full Wave Bridge Rectifier (Αρχάριος): 6 Βήματα
Full Wave Bridge Rectifier (Αρχάριος): Ένας ανορθωτής γεφυρών πλήρους κύματος είναι ένα ηλεκτρονικό κύκλωμα που μετατρέπει ένα ρεύμα AC σε ρεύμα DC. Ο ηλεκτρισμός που βγαίνει από μια πρίζα τοίχου είναι ρεύμα AC, ενώ οι περισσότερες σύγχρονες ηλεκτρονικές συσκευές τροφοδοτούνται από ρεύμα DC. Αυτό σημαίνει ότι η στ