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

Ασύρματο PC Joystick/Wheel Buttons: 4 βήματα (με εικόνες)
Ασύρματο PC Joystick/Wheel Buttons: 4 βήματα (με εικόνες)

Βίντεο: Ασύρματο PC Joystick/Wheel Buttons: 4 βήματα (με εικόνες)

Βίντεο: Ασύρματο PC Joystick/Wheel Buttons: 4 βήματα (με εικόνες)
Βίντεο: Slidis beef με Κογια 2024, Ιούλιος
Anonim
Ασύρματο PC Joystick/Wheel Buttons
Ασύρματο PC Joystick/Wheel Buttons

Δημιουργώ μια νέα αγωνιστική sim τα τελευταία χρόνια και αποφάσισα να πάω με ένα DIY Direct Drive τιμόνι. Ενώ αυτό το έργο από μόνο του θα μπορούσε να είναι αρκετά εκπαιδευτικό από μόνο του, αυτό είναι ένα διδακτικό για να κάνετε ασύρματα όλα τα κουμπιά στον τροχό.

Γιατί;

  • Ο τροχός DD έχει απεριόριστες περιστροφές, οπότε το να πηγαίνεις καλώδια σε αυτό θα ήταν ενοχλητικό.
  • Δεν υπάρχει δυνατότητα δρομολόγησης καλωδίων μέσω του άξονα του τροχού όπως στους εμπορικούς τροχούς
  • Wantedθελα να μπορώ να αλλάζω εύκολα τροχούς με διαφορετικές διαμορφώσεις κουμπιών
  • Γιατί θα μπορούσα:)

Για να επιτευχθεί ο στόχος των ασύρματων κουμπιών πρέπει να λάβουμε υπόψη:

  • Παράδοση ισχύος
  • Ασύρματη συνδεσιμότητα
  • Χρόνος αντίδρασης/καθυστέρηση
  • Αξιοπιστία

Επιλέχθηκαν τα ακόλουθα στοιχεία για να ταιριάζουν με αυτά τα κριτήρια: Tx - Arduino Nano με ενσωματωμένη μονάδα NRF24 εδώ ή χρησιμοποιήστε ένα Generic Nano ή Pro Mini + NRF24 ModuleRx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + NRF24 moduleUSB 'Battery Bank' - Any Η γενική ενιαία τράπεζα μπαταριών 18650 πρέπει να λειτουργεί. Αυτό θα διαρκέσει περίπου 20 ώρες! Ωστόσο, μπορεί να θέλετε να ελέγξετε εάν μπορεί να φορτίσει και να παράγει ισχύ ταυτόχρονα. Αυτό είναι βολικό εάν λειτουργεί σταθερά και θέλετε να φορτίσετε και να χρησιμοποιήσετε ταυτόχρονα.

Επιπλέον, θα χρειαστείτε τα κουμπιά και ένα διακόπτη τροφοδοσίας της επιλογής σας, λίγο καλώδιο σύνδεσης και πιθανώς κάποιο σωλήνα συρρίκνωσης θερμότητας.

Αυτό μπορεί επίσης να χρησιμοποιηθεί σε ένα "κουμπί κουμπιού" αντί για έναν τροχό, αλλά σκέφτηκα ότι θα υπάρχει λιγότερη ζήτηση για αυτό, καθώς δεν υπάρχει μεγάλο πλεονέκτημα εάν δεν κινείται.

Απαιτούμενα εργαλεία:

Ένα πιστόλι θερμής κόλλας είναι χρήσιμο για την τοποθέτηση και των εξαρτημάτων. Το Arduino IDE είναι εγκατεστημένο στον υπολογιστή σας.

Βήμα 1: Η καλωδίωση πομπού

Η καλωδίωση πομπού
Η καλωδίωση πομπού
Η καλωδίωση πομπού
Η καλωδίωση πομπού
Η καλωδίωση πομπού
Η καλωδίωση πομπού

Ξεκινήστε τοποθετώντας όσα διακόπτες χρειάζεστε στον τροχό σας και λάβετε υπόψη τη θέση του Arduino. Συνδέστε όλα τα καλώδια στους διακόπτες σύμφωνα με το διάγραμμα. Κάθε κουμπί θα είναι ενσύρματο με τη μία πλευρά στο GND και την άλλη στο σχετικό pin arduino. Ο κωδικός επιτρέπει 14 διακόπτες/κουμπιά τα οποία θα πρέπει να είναι αρκετά για τους περισσότερους τροχούς.

Εάν χρησιμοποιείτε το Nano με την ενσωματωμένη μονάδα NRF, τότε προφανώς δεν χρειάζεται να προσθέσετε τη σχετική καλωδίωση για αυτό, απλά συνδέστε τα κουμπιά.

Τα κουμπιά είναι σε αυτή τη σειρά (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Αλλά γιατί μόνο 14 κουμπιά; Ο λόγος για αυτό είναι ότι μπορούμε να διαβάσουμε μια πλήρη τράπεζα καρφιτσών γρήγορα και μόνο η μετάδοση 2 byte δεδομένων δεν διαρκεί πολύ - οπότε αν και αυτό θα μπορούσε να τροποποιηθεί ώστε να περιλαμβάνει περισσότερα κουμπιά (μέσω μήτρας) και/ ή αναλογικές εισόδους, αυτό θα επιβραδύνει λίγο τα πράγματα. Η ανάγνωση μήτρας και η αναλογική ανάγνωση/μετατροπή απαιτούν χρόνο επεξεργαστή. Χρειάστηκα μόνο 12 κουμπιά στον τροχό μου, οπότε πήγα με αυτό, αλλά θα σκεφτόμουν να προσθέσω περισσότερα.

Για την ισχύ, έχετε δύο επιλογές - Μπορείτε είτε να αφήσετε την τράπεζα μπαταριών σε τακτ και να την ασφαλίσετε με κάποιο τρόπο στον τροχό. Αυτό σας δίνει το πρόσθετο πλεονέκτημα ότι μπορείτε να αποσυνδέσετε το ρεύμα από το arduino, αποφεύγοντας να έχετε ενσωματωμένο διακόπτη και κάποια καλωδίωση.

Εάν προτιμάτε μια πιο προσαρμοσμένη λύση, μπορεί να χρειαστεί να ανοίξετε την τράπεζα μπαταριών και να επαναπροσδιορίσετε τα εσωτερικά στην προσαρμοσμένη διαμόρφωσή σας.

Δεν είχα το δωμάτιο στον τροχό μου για να το αφήσω σε τακτ, οπότε απογυμνώθηκε. Αφαίρεσα την τυπική υποδοχή USB από την πλακέτα φόρτισης και κόλλησα τα καλώδια +5 και Gnd από τα μαξιλάρια θύρας USB στο Arduino μέσω ενός διακόπτη. Είναι λίγο δύσκολο να το περιγράψω αυτό λόγω των πολλών διαθέσιμων επιλογών…

Το κύκλωμα στη συνέχεια τοποθετήθηκε στο εσωτερικό του τροχού, εκθέτοντας τη θύρα φόρτισης micro USB.

Ο πίνακας φόρτισης θα έχει μία ή περισσότερες λυχνίες LED για την εμφάνιση της κατάστασης φόρτισης - Είναι βολικό να τα κάνετε ορατά με κάποιο τρόπο ή να χρησιμοποιήσετε κάποιο πλαστικό για να τα «μεταφέρετε» σε κάπου ορατά, ώστε να γνωρίζετε πότε έχει τελειώσει η φόρτιση.

Τι Wheel είναι αυτό; Για όσους ενδιαφέρονται, ο σχεδιασμός των τροχών μου είναι της Amstudio - Μερικά υπέροχα DIY αγωνιστικά σχέδια εξαρτημάτων διατίθενται σε λογικές τιμές.

Βήμα 2: Ο Αποδέκτης

Ο Αποδέκτης
Ο Αποδέκτης
Ο Αποδέκτης
Ο Αποδέκτης
Ο Αποδέκτης
Ο Αποδέκτης

Απλώς ακολουθήστε το διάγραμμα καλωδίωσης όπως επισυνάπτεται. Εάν δεν χρησιμοποιείτε Leonardo, θα χρειαστείτε έναν εξωτερικό ρυθμιστή 3.3v, όπως το AMS1117. Ο ρυθμιστής Pro Micro δεν μπορεί να παρέχει αρκετό ρεύμα για τη μονάδα NRF24 και το σκαθάρι δεν έχει καθόλου.

Έχω κωδικοποιήσει χρώματα τις συνδέσεις με τη μονάδα NRF το ίδιο για το Pro Micro και το σκαθάρι.

Το Arduino 'Beetle' το οποίο είναι αρκετά εύκολο να βρεθεί στους κοινούς χώρους αλλά για άλλη μια φορά, θα πρέπει να χρησιμοποιηθεί ρυθμιστής 3.3v καθώς δεν έχει καθόλου. Το έχω δοκιμάσει και δουλεύει πολύ καλά. Οι συνδέσεις είναι ίδιες

Βήμα 3: Προγραμματισμός των συσκευών

Προγραμματισμός συσκευών
Προγραμματισμός συσκευών
Προγραμματισμός συσκευών
Προγραμματισμός συσκευών
Προγραμματισμός συσκευών
Προγραμματισμός συσκευών

Εάν δεν έχετε ήδη εγκατεστημένο το Arduino IDE, μεταβείτε στη διεύθυνση https://www.arduino.cc και κατεβάστε την έκδοση που είναι κατάλληλη για το λειτουργικό σας σύστημα για αυτό το παράδειγμα, είμαι στα Windows.

Μόλις ρυθμιστεί, θα χρειαστείτε δύο διαφορετικές βιβλιοθήκες -Η πρώτη είναι εύκολη μέσω του Sketch -> Include Library -> Manage Libraries (ή CTRL+SHIFT+I)

NRFLite από τον Dave Parson (έκδοση 2.2.2 από τη δημοσίευση)

Το δεύτερο θα πρέπει να εγκατασταθεί χειροκίνητα από τη διεύθυνση

Κάντε κλικ στο "Κλωνοποίηση ή Λήψη" και στη συνέχεια "Λήψη ZIP και ανοίξτε το ληφθέν αρχείο. Στη συνέχεια, θα πρέπει να κάνετε κλικ στους φακέλους μέχρι να δείτε έναν φάκελο "Joystick" -Αντιγράψτε τον στο φάκελο Βιβλιοθήκες Arduino (Στα παράθυρα, αυτό είναι συνήθως Κάτω από Έγγραφα -> Arduino -> Βιβλιοθήκες.

Επανεκκινήστε το Arduino IDE

Εάν χρησιμοποιείτε το Pro Micro για τον δέκτη, θα πρέπει επίσης να προσθέσετε αυτόν τον πίνακα στο IDE. Αρχείο -> Προτιμήσεις -> Διευθύνσεις URL πρόσθετων διαχειριστών πινάκων:

εισαγάγετε:

Στη συνέχεια, μεταβείτε στο Εργαλεία -> Διαχειριστής πινάκων, αναζητήστε το Sparkfun και εγκαταστήστε το "Sparkfun AVR Boards"

Τώρα είμαστε έτοιμοι! Ας ξεκινήσουμε με τον πομπό - Συνδέστε τον στον υπολογιστή σας

Στην περιοχή Εργαλεία -> Πίνακας, επιλέξτε 'Arduino Nano' (ή οποιαδήποτε παραλλαγή αποφασίσατε να χρησιμοποιήσετε). Επιβεβαιώστε επίσης τη θύρα COM στο μενού εργαλείων.

Ανοίξτε το συνημμένο αρχείο Wireless_Wheel_Tx.

Υπάρχει μόνο μία γραμμή που μπορεί να θέλετε να αλλάξετε σε αυτόν τον κώδικα και αυτή είναι:

int nrfChannel = 22;

Έχετε έως και 126 κανάλια που μπορείτε να χρησιμοποιήσετε πάνω από το φάσμα των 2.4Ghz. Θα ήταν καλό να φύγετε όπως είναι, αλλά αν διαπιστώσετε ότι έχετε προβλήματα με την αξιοπιστία, ίσως αλλάξτε αυτό σε διαφορετικό αριθμό.

Στη συνέχεια, απλώς πατήστε το κουμπί "μεταφόρτωση" και περιμένετε να τελειώσει.

Το ίδιο ισχύει και για το Leonardo/Pro Micro/Beetle - Επιλέξτε τον πίνακα που θέλετε - Για τον Leonardo και τον Beetle, επιλέξτε τον πίνακα Arduino leonardo. Για το Pro Micro, επιλέξτε αυτό και επίσης επιλέξτε την παραλλαγή/επεξεργαστή Atmega32u4 (5v, 16Mhz), ανοίξτε το αρχείο Wireless_Wheel_Rx, αλλάξτε τη ρύθμιση nrfChannel (αν το αλλάξατε στο Tx) και προγραμματίστε μακριά.

Μόλις η συσκευή επανεκκινηθεί κατά τον προγραμματισμό, ο υπολογιστής σας θα πρέπει να εντοπίσει μια συσκευή χειριστηρίου. Εάν ενεργοποιήσετε επίσης τον πομπό σας, θα πρέπει να μπορείτε να πατήσετε τα κουμπιά και να εμφανιστεί στην κατάσταση της συσκευής!

Ένα δροσερό τυχαίο χαρακτηριστικό είναι ότι θα λάβετε μια λυχνία κατάστασης στα Leonardo και Pro Micro - Το LED TX LED θα ανάψει όταν έχει σύνδεση με τα κουμπιά. Αυτό όμως δεν υπάρχει στο σκαθάρι.

ΕΝΗΜΕΡΩΘΗΚΕ 13/2/2021

Έχω προσθέσει 2 επιπλέον αρχεία (Tx και Rx) στο εκπαιδευτικό εδώ για μια έκδοση με 4 αναλογικές εισόδους, καθώς και έναν πίνακα κουμπιών 3X8. Κυρίως μη δοκιμασμένο, μπορεί να έχει καθυστέρηση. Παρακαλώ δοκιμάστε και σχολιάστε.

Βήμα 4: Βελτιώσεις

Βελτιώσεις
Βελτιώσεις

Λειτουργία LED Αφού χρησιμοποίησα αυτήν τη λύση για λίγο, είχα τη συνήθεια να αφήνω κατά λάθος τον τροχό ενεργοποιημένο. Για να το αντιμετωπίσω, πρόσθεσα ένα LED στο μπροστινό μέρος για να δω ότι ο τροχός ήταν αναμμένος. Αυτό είναι μόνο ένα απλό τρέξιμο 3mm από το 5v στο arduino μέσω αντίστασης. Η κορυφή τρίβεται για να διαχέεται λίγο το φως και να αποφεύγεται η λάμψη.

Αγόρασα μετρητές στάθμης μπαταρίας από την BG ή την Ali, αλλά όταν έφτασαν ήταν πολύ μεγαλύτεροι από ό, τι περίμενα, αλλά αυτό είναι κάτι που θέλω ακόμα να προσθέσω. Υπάρχουν πολλές διαθέσιμες επιλογές για αυτό, αλλά επειδή η μπαταρία διαρκεί τόσο πολύ, τείνω να επαναφορτίζω μετά από λίγες ώρες χρήσης.

Επιπλέον κουμπιά/κωδικοποιητές/αναλογικές εισόδους Σκεφτείτε ακόμα αυτό. Για μένα, δεν είναι τόσο σημαντικό για τους αγώνες που κάνω, αλλά για πράγματα όπως η F1 είναι πιθανώς πιο χρήσιμο. Θα εξετάσω δύο εκδόσεις ή θα το προσθέσω αν υπάρχει αρκετή ζήτηση, αλλά αυτό μπορεί να επηρεάσει τον χρόνο απόκρισης στα κουμπιά.

Συνιστάται: