Πίνακας περιεχομένων:
- Βήμα 1: Σύνδεση MPU6050 και κουμπιών ώθησης στον πίνακα Arduino Leonardo
- Βήμα 2: Χτίζοντας τη βάση Joystick
- Βήμα 3: Εγκατάσταση του Arduino IDE
- Βήμα 4: Πρόγραμμα Arduino
- Βήμα 5: Δοκιμάζοντας το Joystick
Βίντεο: DIY MPU-6050 USB Joystick: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Με το Microsoft Flight Simulator 2020, συνειδητοποίησα γρήγορα πόσο δύσκολο είναι να χρησιμοποιήσετε το πληκτρολόγιο για να εκτελέσετε ένα σχέδιο. Onlineάχνοντας στο διαδίκτυο, δεν κατάφερα να βρω ένα joystick σε λογικές τιμές για αγορά. Οι περισσότεροι διαδικτυακοί λιανοπωλητές τα είχαν εκτός αποθέματος. Η δημοτικότητα του MS Flight Simulator και της πανδημίας COVID 19 εξάλειψε όλα τα υπάρχοντα αποθέματα joystick. Η μόνη μου επιλογή ήταν να φτιάξω μόνος μου.
Τα περισσότερα από τα joystick εκεί χρησιμοποιούν ποτενσιόμετρα στη βάση για να καθορίσουν τις γωνίες του χειριστηρίου και να στείλουν πληροφορίες άξονα x και y πίσω στον υπολογιστή. Αυτό λειτουργεί καλά αλλά περιπλέκει την κατασκευή του χειριστηρίου. και με την πάροδο του χρόνου τα ποτενσιόμετρα μπορεί να φθαρούν. Αντί να χρησιμοποιώ ποτενσιόμετρα, αποφάσισα να πάω με επιταχυνσιόμετρο/αισθητήρα γυροσκοπίου για να στείλω πληροφορίες στον υπολογιστή στις γωνίες του ραβδιού.
Με τη δημοτικότητα διαφόρων μικροεπεξεργαστών Arduino και διάφορων αισθητήρων, το κόστος κατασκευής ενός έργου Arduino γίνεται πολύ πιο προσιτό. Ένας από τους συνηθισμένους πίνακες αισθητήρων επιταχυνσιόμετρου/γυροσκοπίου είναι ο MPU-6050. Στον Καναδά, κοστίζει περίπου $ 7CAN στον Αμαζόνιο. Πήρα το δικό μου από το eBay που στάλθηκε από την Κίνα για πολύ λιγότερο, αλλά ο χρόνος αποστολής ήταν περίπου 3 μήνες ή περισσότερο.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Οποιοσδήποτε πίνακας Arduino θα λειτουργούσε, αλλά η χρήση πλακέτας που βασίζεται σε ATmega32u4 θα είναι πολύ απλούστερη, επειδή το ATmega32u4 διαθέτει εγγενή υποστήριξη HID (Human Interface Device). Μόλις προγραμματιστεί ο πίνακας, μπορείτε να τον χρησιμοποιήσετε σε οποιονδήποτε υπολογιστή Windows 10 και δεν απαιτείται πρόσθετο λογισμικό. Τα Windows 10 θα το αναγνωρίσουν αυτόματα ως joystick όταν είναι συνδεδεμένο το USB. (Η χρήση πλακέτας Arduino άλλου τύπου είναι πολύ περίπλοκη για αυτό το απλό έργο κατασκευής).
Επιλέγω τον πίνακα Arduino Leonardo. $ 17CAN από την Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Αυτές οι 2 συσκευές είναι οι κύριες απαιτήσεις για αυτό το έργο. Άλλα μικρότερα αντικείμενα όπως καλωδιώσεις και κουμπιά είναι επίσης απαραίτητα. Σε αυτό το έργο, χρησιμοποίησα μόνο 2 κουμπιά για απλότητα.
Η λαβή του χειριστηρίου είναι κατασκευασμένη από θραύσματα σωλήνων νερού από PVC. Αυτό μπορεί εύκολα να αντικατασταθεί με οποιονδήποτε βραχύ άκαμπτο σωλήνα.
Η βάση του χειριστηρίου είναι ένα ελατήριο στοπ πόρτας στερεωμένο σε ένα κομμάτι ξύλο.
Η ανοιγόμενη στάση πόρτας είναι διαθέσιμη από το Home Depot για $ 2,83CAN.
www.homedepot.ca/product/everbilt-spring-d…
Βήμα 1: Σύνδεση MPU6050 και κουμπιών ώθησης στον πίνακα Arduino Leonardo
Μόνο 4 συνδέσεις χρησιμοποιούνται στο MPU 6050. Έχουν την ένδειξη VCC, GND, SCL και SDA.
Συνδέστε το VCC σε 5v ή 3.3v στο Arduino Leonardo. (Το MPU 6050 μπορεί να χρησιμοποιήσει 5v ή 3.3v. Δεν έχει σημασία)
Συνδέστε το GND σε οποιοδήποτε GND στο Arduino Leonardo.
Συνδέστε το SCL στο SCL στο Arduino Leonardo.
Συνδέστε το SDA με το SDA στο Arduino Leonardo.
Χρησιμοποιώ μόνο 2 κουμπιά για αυτόν τον σκοπό επίδειξης.
Το πρώτο κουμπί ώθησης χρησιμοποιείται για την επαναφορά του κέντρου του joystick. Σε αυτό το παράδειγμα, το ένα άκρο του κουμπιού είναι συνδεδεμένο στο GND και το ένα άκρο στο PIN 13.
Το δεύτερο κουμπί χρησιμοποιείται ως κουμπί χειριστηρίου. Σε αυτό το παράδειγμα, συνδέεται με το PIN 9 και το GND.
Μπορείτε να προσθέσετε επιπλέον κουμπιά όπως απαιτείται στο έργο σας.
Βήμα 2: Χτίζοντας τη βάση Joystick
Βρείτε ένα κομμάτι ξύλινο μπλοκ. Όσο πιο βαρύ τόσο το καλύτερο. Θα κάνει τη βάση του χειριστηρίου πιο σταθερή.
Βιδώστε το πώμα της πόρτας ελατηρίου στο κέντρο του ξύλινου μπλοκ, όπως φαίνεται στην εικόνα.
Χρησιμοποιήστε ένα κομμάτι κοντού σωλήνα ως λαβή χειριστηρίου. Χρησιμοποίησα ξύσιμο σωλήνα PVC. Περάστε το καλώδιο έτσι ώστε ο αισθητήρας επιταχυνσιόμετρου/γυροσκοπίου να κάθεται στην κορυφή του σωλήνα.
Στη συνέχεια, βάλτε το σωλήνα πάνω από το πώμα της πόρτας του ελατηρίου. Χρησιμοποίησα ηλεκτρική ταινία για να κολλήσω τον αισθητήρα στην κορυφή.
Βήμα 3: Εγκατάσταση του Arduino IDE
Λήψη και εγκατάσταση του Arduino IDE.https://www.arduino.cc/en/Main/Software
Χρησιμοποίησα το Arduino 1.8.13 για αυτό το έργο. Το Arduino Web Editor μπορεί να χρησιμοποιηθεί και για αυτό το έργο.
Χρησιμοποιούνται 2 βιβλιοθήκες.
1. MPU6050_tockn by tockn
github.com/Tockn/MPU6050_tockn
ή μπορείτε να το βρείτε στο μενού "Διαχείριση βιβλιοθήκης".
2. Βιβλιοθήκη Joystick από τον Matthew Heironimus
github.com/MHeironimus/ArduinoJoystickLibr…
Αυτό είναι προς το παρόν διαθέσιμο μόνο από τον ιστότοπο του GitHub.
Κάντε κλικ στην επιλογή Λήψη κώδικα και Λήψη ZIP. Εξαγάγετε το αρχείο ZIP στον κατάλογο βιβλιοθηκών Arduino.
Στην περίπτωσή μου, είναι οι βιβλιοθήκες E: / PinChung / Documents / Arduino
Βήμα 4: Πρόγραμμα Arduino
Φορτώστε το Pin_Joystick.ino στο Arduino IDE και μεταγλωττίστε και ανεβάστε στον πίνακα Leonardo.
Βεβαιωθείτε ότι ο πίνακας Arduino Leonardo είναι επιλεγμένος και ο αριθμός θύρας είναι επιλεγμένος στα δεξιά COM: στο μενού Εργαλεία.
Παρατήρησα κάποια στιγμή, το πρόγραμμα δεν μπορούσε να μεταφορτωθεί με κωδικό σφάλματος της θύρας COM που δεν είναι διαθέσιμος. Πατώντας το κουμπί επαναφοράς στον πίνακα Leonardo μερικές φορές κατά τη μεταγλώττιση μπορεί να βοηθήσει. Επίσης, η επανεκκίνηση των Windows 10 μπορεί επίσης να βοηθήσει στην απελευθέρωση της θύρας COM.
Μόλις μεταφορτωθεί το πρόγραμμα στον πίνακα Leonardo, τα Windows 10 θα πρέπει να εντοπίσουν αυτόματα το Leonardo Joystick. Στη γραμμή αναζήτησης των Windows 10, πληκτρολογήστε Game Controllers, εκτελέστε το Set up USB Game Controllers.
επιλέξτε Leonardo Joystick και κάντε κλικ στην επιλογή Ιδιότητες. Η κίνηση του joystick και το κουμπί joystick #1 θα πρέπει να παραληφθούν από τα Windows 10.
Εάν το joystick δεν είναι στο κέντρο, όταν το αφήσετε, κάντε κλικ στο κουμπί επαναφοράς του κεντρικού joystick που μόλις φτιάξαμε. Οι ελεγκτές παιχνιδιών USB πρέπει να δείχνουν την κουκκίδα του χειριστηρίου στο κέντρο. Δεν υπάρχει ανάγκη βαθμονόμησης του χειριστηρίου στο πρόγραμμα USB Game Controller..
Πλευρική σημείωση: Για όσους δεν είναι εξοικειωμένοι με το Arduino Leonardo, όταν η συσκευή έχει διαμορφωθεί ως χειριστήριο, ποντίκι ή πληκτρολόγιο, η σειριακή θύρα δεν θα λειτουργεί. Έτσι, το "Serial.print ()" δεν θα λειτουργήσει. Επίσης, το MPU6050 χρησιμοποιεί βιβλιοθήκη καλωδίων i2c και χρησιμοποιεί καρφίτσες SDA και SLC. Στο Leonardo, το SDA και το SCL καταλαμβάνουν και το PIN 2 και το PIN 3, οπότε μην χρησιμοποιείτε αυτά τα 2 pins για οτιδήποτε άλλο.
Βήμα 5: Δοκιμάζοντας το Joystick
Το δοκίμασα στο Microsoft Flight Simulator 2020 και λειτουργεί πολύ καλά. Πρέπει να πατήσω μερικές φορές το κεντρικό πλήκτρο για να μηδενίσω το χειριστήριο. Η τιμή του αισθητήρα MPU6050 μπορεί να μετατοπιστεί λίγο με την πάροδο του χρόνου.
Υπάρχουν πολλές ευκαιρίες για δαπάνες για το έργο, όπως η προσθήκη περισσότερων κουμπιών και η προσθήκη χειριστηρίων γκαζιού. Ας ελπίσουμε ότι αυτό θα εμπνεύσει άλλους τεχνίτες να εξερευνήσουν νέους τρόπους κατασκευής.
Συνιστάται:
Παρακολούθηση κίνησης χρησιμοποιώντας MPU-6000 και Parton Photon: 4 βήματα
Παρακολούθηση κίνησης με χρήση MPU-6000 και σωματιδίου φωτονίου: Το MPU-6000 είναι ένας αισθητήρας παρακολούθησης κίνησης 6 αξόνων που έχει ενσωματωμένο επιταχυνσιόμετρο 3 αξόνων και γυροσκόπιο 3 αξόνων. Αυτός ο αισθητήρας είναι ικανός για αποτελεσματική παρακολούθηση της ακριβούς θέσης και θέσης ενός αντικειμένου στο τρισδιάστατο επίπεδο. Μπορεί να χρησιμοποιηθεί σε
Παρακολούθηση κίνησης χρησιμοποιώντας MPU-6000 και Arduino Nano: 4 βήματα
Παρακολούθηση κίνησης χρησιμοποιώντας MPU-6000 και Arduino Nano: Το MPU-6000 είναι ένας αισθητήρας παρακολούθησης κίνησης 6 αξόνων, ο οποίος διαθέτει επιταχυνσιόμετρο 3 αξόνων και γυροσκόπιο 3 αξόνων. Αυτός ο αισθητήρας είναι ικανός για αποτελεσματική παρακολούθηση της ακριβούς θέσης και θέσης ενός αντικειμένου στο τρισδιάστατο επίπεδο. Μπορεί να χρησιμοποιηθεί σε
Ενότητα RC Tx ως USB Joystick: 6 βήματα
RC Tx Module As USB Joystick: Αυτό το διδάξιμο αφορά την κατασκευή μιας μονάδας πομπού που λειτουργεί με τυπικούς πομπούς RC και λειτουργεί ως χειριστήριο USB. Η ενότητα χρησιμοποιεί έναν πίνακα επεξεργασίας Digispark που λειτουργεί ως HID USB. Ερμηνεύει το σήμα PPM που στέλνει και μετατρέπει ο πομπός
Hall Effect USB Joystick: 7 βήματα (με εικόνες)
Hall Effect USB Joystick: Αυτές οι οδηγίες δείχνουν πώς να χρησιμοποιείτε ένα βιομηχανικό joystick Hall Effect για να φτιάξετε ένα joystick USB υψηλής ευκρίνειας. Υπάρχουν και άλλα σχετικά εκπαιδευτικά Tiny USB Joystick που μπορούν να παρέχουν λύση χαμηλού κόστους. ≫
Παρακολούθηση κίνησης χρησιμοποιώντας MPU-6000 και Raspberry Pi: 4 βήματα
Παρακολούθηση κίνησης με χρήση MPU-6000 και Raspberry Pi: Το MPU-6000 είναι ένας αισθητήρας παρακολούθησης κίνησης 6 αξόνων που έχει ενσωματωμένο επιταχυνσιόμετρο 3 αξόνων και γυροσκόπιο 3 αξόνων. Αυτός ο αισθητήρας είναι ικανός για αποτελεσματική παρακολούθηση της ακριβούς θέσης και θέσης ενός αντικειμένου στο τρισδιάστατο επίπεδο. Μπορεί να χρησιμοποιηθεί σε