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

Εργαλείο άσκησης USB Game Controller: 8 βήματα (με εικόνες)
Εργαλείο άσκησης USB Game Controller: 8 βήματα (με εικόνες)

Βίντεο: Εργαλείο άσκησης USB Game Controller: 8 βήματα (με εικόνες)

Βίντεο: Εργαλείο άσκησης USB Game Controller: 8 βήματα (με εικόνες)
Βίντεο: Πάει για καφέ και ακούει TSOURALE! 2024, Ιούλιος
Anonim
Εργαλείο άσκησης USB Game Controller
Εργαλείο άσκησης USB Game Controller
Εργαλείο άσκησης USB Game Controller
Εργαλείο άσκησης USB Game Controller
Εργαλείο άσκησης USB Game Controller
Εργαλείο άσκησης USB Game Controller
Εργαλείο άσκησης USB Game Controller
Εργαλείο άσκησης USB Game Controller

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

Το κύριο υλικό είναι ένας πίνακας ανάπτυξης STM32F103C8 "μαύρου χαπιού" αξίας 2 $ με τον πυρήνα stm32duino Arduino και μια βιβλιοθήκη USB HID που ανέπτυξα βάσει του πυρήνα του libarra111. Το STM32F1 είναι γρήγορο και φθηνό και διαθέτει υποστήριξη USB πλήρους ταχύτητας, επομένως είναι ιδανικό για το έργο.

Για να το χρησιμοποιήσετε, πρέπει να αγγίξετε τον αισθητήρα περιστροφής στο ελλειπτικό ή στο ποδήλατο άσκησης (εάν ο αισθητήρας περιστροφής σας λειτουργεί διαφορετικά από αυτούς που διαθέτουμε στα μηχανήματά μας-περίπου 3v, ενεργό χαμηλό-ίσως χρειαστεί να τροποποιήσετε το κύκλωμα ή/και τον κωδικό).

Η ταχύτητα περιστροφής ελλειπτικού/ποδηλάτου ελέγχει το ρυθμιστικό χειριστηρίου. Επιπλέον, συνδέετε ένα τυπικό χειριστήριο Wii Nunchuck ή Gamecube στον προσαρμογέα για κίνηση χειριστηρίου, κουμπιά κλπ. Υπάρχουν πολλές διαφορετικές λειτουργίες ελέγχου. Για παράδειγμα, τα μικρότερα παιδιά μπορεί να χρειαστεί να αυξήσουν λίγο την ταχύτητά τους και ορισμένα παιχνίδια μπορεί να χρησιμοποιούν διαφορετικό σχήμα ελέγχου. Υπάρχουν πολλά ενσωματωμένα σχήματα ελέγχου στο λογισμικό και άλλα μπορούν εύκολα να προστεθούν στον κώδικα. Η συσκευή μπορεί να μιμηθεί ένα χειριστήριο παιχνιδιών USB, πληκτρολόγιο, ποντίκι, χειριστήριο XBox 360 ή κάποιο συνδυασμό των τριών πρώτων.

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

Ο προσαρμογέας λειτουργεί ως τυπικός ελεγκτής USB, ώστε να μπορείτε να τον χρησιμοποιήσετε με Windows, Linux, OS X, Android κ.λπ.

Ως μπόνους, ο προσαρμογέας έχει όλες τις λειτουργίες αυτού του έργου, λειτουργεί ως προσαρμογέας πλήρους λειτουργίας Gamecube, επιτρέποντάς σας να χρησιμοποιείτε χειριστήρια Gamecube σε έναν υπολογιστή, συμπεριλαμβανομένου του ελέγχου παιχνιδιών με πατάκια χορού Dance Dance Revolution συμβατά με Gamecube/Wii.

Το κόστος είναι κάτω από περίπου $ 10, συν θήκη (έχω τρισδιάστατο εκτυπώσιμο σχέδιο), σύρματα και συγκόλληση. Μέρη:

  • Πίνακας ανάπτυξης "Black Pill" stm32f103c8 (2 $ στο Aliexpress)
  • Υποδοχή Gamecube (1,60 $ στο Aliexpress, για ένα καλώδιο επέκτασης Gamecube που μπορεί να κοπεί)
  • Nunchuck socket breakout board ($ 0,51 στο Aliexpress, αναζητήστε Wiichuck)
  • Μικρός διακόπτης εναλλαγής δύο θέσεων (κάτω από $ 1 στο Aliexpress)
  • Η επιλογή των αρσενικών και θηλυκών συνδέσμων δύο αγωγών (περίπου $ 1 στο Aliexpress εάν χρησιμοποιείτε συνδετήρες κάννης ισχύος 5,5 mm). χρειάζεστε έναν θηλυκό σύνδεσμο ανά μηχάνημα άσκησης
  • 2 απτικοί διακόπτες (κάτω από $ 0,50 στο Aliexpress)
  • 4 κόκκινες λυχνίες LED (κάτω από $ 0,50 στο Aliexpress, μπορείτε επίσης να χρησιμοποιήσετε μια μικρή οθόνη LCD Nokia)
  • πυκνωτές: ηλεκτρολυτικοί 10uF και προαιρετικοί 100nF
  • αντιστάσεις: 1 x 100K, 2 x 10K, 1 x 1K, 4 x 220ohm
  • μικρή πλακέτα πρωτο (κάτω από $ 1 στο Aliexpress).

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

Χρειάζεστε επίσης έναν υπολογιστή, ένα συγκολλητικό σίδερο και ένα πολύμετρο. Θα χρειαστείτε επίσης μια γέφυρα UART-USB Περιβάλλον Arduino, αλλιώς μπορείτε να ξοδέψετε μερικά ακόμη δολάρια και να λάβετε τον πίνακα ανάπτυξης του RobotDyn με προεγκατεστημένο bootloader Arduino.

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

Βήμα 1: Πατήστε Αισθητήρας περιστροφής

Πατήστε Into Rotation Sensor
Πατήστε Into Rotation Sensor
Πατήστε Into Rotation Sensor
Πατήστε Into Rotation Sensor
Πατήστε Into Rotation Sensor
Πατήστε Into Rotation Sensor
Πατήστε Into Rotation Sensor
Πατήστε Into Rotation Sensor

Και τα δύο μηχανήματα άσκησης που έσπασα έχουν μια κονσόλα που εμφανίζει την ταχύτητα. Υπάρχουν καλώδια που τρέχουν μεταξύ της κονσόλας και του σώματος του μηχανήματος. Πρέπει να πατήσετε σε αυτά τα καλώδια για πρόσβαση στα δεδομένα. Αν τα μηχανήματά σας είναι σαν τα δικά μου, η κονσόλα μπορεί να αφαιρεθεί και εκεί θα βρείτε είτε ένα καλώδιο κορδέλας (ελλειπτικό) είτε δύο καλώδια (ποδήλατο). Τα άγγιξα αποσυνδέοντας τα καλώδια και γεφυρώνοντάς τα με μεμονωμένους βραχυκυκλωτήρες από άνδρες σε γυναίκες στους οποίους μπορούσα να πατήσω.

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

Βασικά, το τρυπάνι είναι αυτό: συνδέστε το πολύμετρο σε ένα ζεύγος καλωδίων (προσέξτε να μην βραχυκυκλώσετε τίποτα) με το μηχάνημα να λειτουργεί και περιστρέψτε πολύ αργά τα πεντάλ. Και στα δύο μας μηχανήματα, υπάρχει ένα ζεύγος καλωδίων μεταξύ των οποίων κανονικά η τάση είναι περίπου +3V, αλλά κατά τη διάρκεια ενός μικρού μέρους της περιστροφής πέφτει στη γείωση: αυτό είναι ένα σχήμα ενεργού-χαμηλού. Μπορεί να διαπιστώσετε ότι το μηχάνημά σας έχει ένα ενεργό-υψηλό σχήμα όπου το μεγαλύτερο μέρος της περιστροφής είναι γειωμένο και ο παλμός είναι θετικός και, στη συνέχεια, θα χρειαστεί να επεξεργαστείτε το σκίτσο του Arduino.

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

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

Το ελλειπτικό είχε πολύ περισσότερα καλώδια, και έτσι ήταν περισσότερη δουλειά. Η μέθοδος της ωμής βίας είναι αυτή. Συνδέστε ένα πολύμετρο σε ένα ζεύγος καλωδίων. Κάντε αργά μια πλήρη περιστροφή (ή λίγο περισσότερο για κάθε περίπτωση) στα πεντάλ και δείτε αν υπάρχει πτώση ή άλμα τάσης. Αν ναι, το έχεις. Εάν όχι, επαναλάβετε για ένα άλλο ζευγάρι. Αυτό είναι πολλή δοκιμή και λάθος: για 13 καλώδια, είναι 78 περιστροφές.

Εδώ είναι ένα τέχνασμα που μπορεί να σας βοηθήσει να επιταχύνετε την αναζήτηση για το σωστό ζεύγος καλωδίων. Μπορεί να ελπίζετε ότι το μηχάνημά σας, όπως και το δικό μου, έχει κανονικά υψηλή τάση ανιχνευτή με χαμηλό παλμό. Αν ναι, τότε αν αφήσετε τα πεντάλ σε μια τυχαία τοποθεσία, έχετε μια καλή πιθανότητα τα δύο καλώδια ανιχνευτή να έχουν περίπου +3V ή +5V μεταξύ τους. Οπότε κάντε μόνο τον έλεγχο περιστροφής του πεντάλ για εκείνα τα ζεύγη καλωδίων που έχουν +3V ή +5V μεταξύ τους.

Άλλο κόλπο. Mightσως μπορείτε να προσδιορίσετε πού ενεργοποιεί ο αισθητήρας περιστροφής την περιστροφή του πεντάλ. Για παράδειγμα, το μηχάνημά σας μπορεί να αναβοσβήνει κάτι στην οθόνη τότε, ή να ενημερώσει την οθόνη ταχύτητας, ή να ενεργοποιηθεί από την κατάσταση αναστολής λειτουργίας ή να ακούσει μπιπ. Αν ναι, τότε μετακινήστε τα πεντάλ περίπου 1/3 της περιστροφής μακριά και, στη συνέχεια, αναζητήστε ζεύγη καλωδίων που έχουν 3-5V μεταξύ τους και δοκιμάστε τα μετακινώντας τα πεντάλ στη θέση όπου ενεργοποιείται ο αισθητήρας.

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

Μόλις εντοπίσετε τα καλώδια, σημειώστε τα. Βεβαιωθείτε ότι έχετε σημειώσει:

  • το επίπεδο υψηλής τάσης: εάν είναι πάνω από περίπου 3.3V αλλά όχι περισσότερο από 5V, θα θέλετε να αλλάξετε το κύκλωμα για να χρησιμοποιήσετε τον πείρο A9 αντί του A7 για ανίχνευση περιστροφής, καθώς ο πείρος A9 είναι 5V-ανοχής και ο A7 δεν είναι, και επεξεργαστείτε μια γραμμή στο σκίτσο μου. εάν είναι πάνω από 5V, θα πρέπει να προσθέσετε ένα διαχωριστή τάσης
  • αν ο παλμός ανίχνευσης περιστροφής είναι χαμηλός ή υψηλός: εάν ο παλμός είναι υψηλός, θα πρέπει να επεξεργαστείτε μια γραμμή στο σκίτσο μου στο Arduino.

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

Βήμα 2: Προετοιμασία Συμβουλίου Ανάπτυξης

Προετοιμασία Συμβουλίου Ανάπτυξης
Προετοιμασία Συμβουλίου Ανάπτυξης
Προετοιμασία Συμβουλίου Ανάπτυξης
Προετοιμασία Συμβουλίου Ανάπτυξης
Προετοιμασία Συμβουλίου Ανάπτυξης
Προετοιμασία Συμβουλίου Ανάπτυξης

Κολλήστε τις έξι καρφίτσες του κεντρικού άλτη στο μαύρο σας χάπι.

Εάν έχετε μια πλακέτα RobotDyn με το πρόγραμμα εκκίνησης Arduino, συνδέστε τα Β0 και Β1 με τις κεντρικές ακίδες και τελειώσατε με το βήμα.

Διαφορετικά, τώρα πρέπει να εγκαταστήσετε το πρόγραμμα εκκίνησης. Θα χρειαστείτε είτε μια αυτόνομη γέφυρα UART σε USB είτε μπορείτε να χρησιμοποιήσετε ένα Arduino Uno ή Mega για αυτόν τον σκοπό. Παρόλο που το μαύρο χάπι λειτουργεί στα 3.3V, οι καρφίτσες UART είναι ανεκτικές στα 5V, οπότε μην ανησυχείτε αν ο σύνδεσμός σας λειτουργεί στα 3.3V ή 5V.

Αν έχετε Uno ή Mega, βάλτε ένα καλώδιο βραχυκυκλωτήρα μεταξύ RESET και GROUND. Αυτό μετατρέπει το Arduino σε μια ειδική γέφυρα UART σε USB, εκτός από το ότι οι ακίδες TX/RX είναι το αντίθετο από το πώς συνήθως βρίσκονται σε μια υποδοχή.

Κατεβάστε το δυαδικό του bootloader. Θέλετε generic_boot20_pb12.bin. Στα Windows, εγκαταστήστε το πρόγραμμα επίδειξης Flash Loader του ST. Σε Linux (και ίσως OS X και ακόμη και Windows αν προτιμάτε εργαλεία γραμμής εντολών), χρησιμοποιήστε αυτό το σενάριο python, αλλά οι οδηγίες μου θα είναι για Windows.

Κάντε τις ακόλουθες συνδέσεις:

  • PA9 to UART bridge RX ("TX" αν χρησιμοποιείτε το τέχνασμα Arduino)
  • PA10 to UART bridge TX ("RX" εάν χρησιμοποιείτε το τέχνασμα Arduino)
  • Έδαφος γέφυρας G to UART

Μου αρέσει να χρησιμοποιώ λογικές συμβουλές ανιχνευτή για να πραγματοποιήσω τις συνδέσεις στην πλευρά του STM32, αλλά θα μπορούσατε επίσης να κολλήσετε σε μερικά καλώδια που μπορείτε αργότερα να τα κόψετε (ή να αποκολλήσετε εάν θέλετε να είστε τακτοποιημένοι).

Συνδέστε τη γέφυρα UART στον υπολογιστή σας. Ενεργοποιήστε το Black Pill μέσω της θύρας USB του (το καλύτερο αν το συνδέσετε σε φορτιστή και όχι στον υπολογιστή, καθώς ο υπολογιστής πιθανότατα θα παραπονεθεί για μια μη αναγνωρισμένη συσκευή USB). Ξεκινήστε το Flash Loader Demonstrator. Επιλέξτε τη θύρα COM για τη γέφυρα UART. Επιλέξτε "Κατάργηση προστασίας" εάν υπάρχει. Επιλέξτε μια έκδοση flash 64kb και όχι 128kb. Και ανεβάστε το δυαδικό του bootloader.

Απενεργοποιήστε τα πάντα και, στη συνέχεια, μετακινήστε το βραχυκυκλωτήρα από το B0+/κέντρο στο B0-/κέντρο. Τώρα έχετε ένα πρόγραμμα εκκίνησης που μπορείτε να χρησιμοποιήσετε με το Arduino IDE.

Βήμα 3: Προετοιμάστε το Stm32duino στο Arduino IDE

Προετοιμάστε το Stm32duino στο Arduino IDE
Προετοιμάστε το Stm32duino στο Arduino IDE
Προετοιμάστε το Stm32duino στο Arduino IDE
Προετοιμάστε το Stm32duino στο Arduino IDE

Υποθέτω ότι έχετε εγκαταστήσει το πιο πρόσφατο Arduino IDE.

Στα Εργαλεία | Πίνακες | Διαχείριση πινάκων, εγκαταστήστε υποστήριξη για το Arduino Zero (απλώς βάλτε το μηδέν στην αναζήτηση, κάντε κλικ στην καταχωρηθείσα εντολή και, στη συνέχεια, εγκαταστήστε). Ναι, δεν εργάζεστε με μηδενικό, αλλά αυτό θα εγκαταστήσει τον σωστό μεταγλωττιστή gcc.

Στη συνέχεια, κάντε λήψη του πυρήνα stm32duino. Στα Windows, προτείνω τη λήψη του αρχείου zip, καθώς όταν έλεγξα τα αρχεία (ομολογουμένως, με svn), αντιμετώπισα ορισμένα προβλήματα δικαιωμάτων με αρχεία στον κατάλογο εργαλείων των Windows που χρειάζονταν διόρθωση. Τοποθετήστε το υποκατάστημα στο Arduino/Hardware/Arduino_STM32 (έτσι θα έχετε φακέλους όπως Arduino/Hardware/Arduino_STM32/STM32F1 κ.λπ.) Στα Windows, εγκαταστήστε προγράμματα οδήγησης εκτελώντας προγράμματα οδήγησης / win / install_drivers.bat.

Εγκατάσταση της βιβλιοθήκης μου USBHID: Μεταβείτε στο Sketch | Συμπεριλάβετε τη Βιβλιοθήκη | Διαχειριστείτε βιβλιοθήκες και αναζητήστε USBHID. Κάντε κλικ σε αυτό και κάντε κλικ στο Εγκατάσταση.

Εγκατάσταση της βιβλιοθήκης GameControllersSTM32: Μεταβείτε στο Sketch | Συμπεριλάβετε τη Βιβλιοθήκη | Διαχειριστείτε Βιβλιοθήκες και αναζητήστε GameControllers. Κάντε κλικ σε αυτό και κάντε κλικ στο Εγκατάσταση.

Βήμα 4: Κύκλωμα

Κύκλωμα
Κύκλωμα
Κύκλωμα
Κύκλωμα
Κύκλωμα
Κύκλωμα
Κύκλωμα
Κύκλωμα

Η ρύθμισή μου χρησιμοποιεί τέσσερις λυχνίες LED για να υποδείξει την τρέχουσα λειτουργία εξομοίωσης σε δυαδική μορφή (ναι, κάποιος θα μπορούσε να χρησιμοποιήσει μια οθόνη LCD, αλλά είχα LEDs που βρίσκονταν γύρω όταν το έχτισα αυτό), δύο κουμπιά για εναλλαγή της λειτουργίας πάνω και κάτω (και κάντε κάποια άλλα κόλπα) και έναν διακόπτη εναλλαγής για αλλαγή κατεύθυνσης κίνησης.

Επιπλέον, υπάρχει μια είσοδος I2C από το Nunchuck και μια σύνδεση με το χειριστήριο Gamecube. Εάν θέλετε να υποστηρίξετε μόνο ένα από αυτά τα δύο, μπορείτε απλώς να επεξεργαστείτε το gamecube.h στο σκίτσο και να εξοικονομήσετε λίγη συγκόλληση.

Χρησιμοποίησα ένα μικρό κομμάτι protoboard για να τοποθετήσω τις τέσσερις λυχνίες LED λειτουργίας και δύο κουμπιά εναλλαγής λειτουργίας (πάνω και κάτω), καθώς και τη μία αντίσταση έλξης για δεδομένα Gamecube. Έβγαλα 3.3V στο protoboard, αλλά δεν χρειάστηκε να βάλω έδαφος σε αυτό, αν και μπορείτε αν θέλετε. Χρησιμοποίησα ένα άλλο μικρό κομμάτι protoboard για να τοποθετήσω την υποδοχή Nunchuck.

Κόψτε το καλώδιο Gamecube. Θέλετε να εργαστείτε με την πλευρά της πρίζας, αυτήν που θα συνδέσει ο ελεγκτής σας. Καλώδια λωρίδων για σύνδεση.

Τώρα πραγματοποιήστε αυτές τις συνδέσεις σύμφωνα με το διάγραμμα κυκλώματος:

  • Πυκνωτής 10uF μεταξύ 3,3v και γείωσης (με την πλην πλευρά των ηλεκτρολυτικών στο έδαφος). Αυτό θα πρέπει να είναι όσο το δυνατόν πιο κοντά στο τσιπ, οπότε το κόλλησα ακριβώς στον πίνακα ανάπτυξης και όχι στο πρωτόκολλο. Για καλό μέτρο, μπορείτε να προσθέσετε 100nF όπως και εγώ, αλλά δεν είμαι σίγουρος ότι χρειάζεται.
  • Υποδοχή Gamecube #2 - A6 στον πίνακα stm32
  • Αντίσταση 1Kohm μεταξύ πρίζας Gamecube #2 και 3.3V στον πίνακα stm32 (ή στο protoboard)
  • Υποδοχή Gamecube #3 και #4 - γείωση στον πίνακα stm32
  • Gamecube socket #6 - 3.3V στον πίνακα stm32 (ή στο protoboard)
  • Σειρά LED με αντίσταση 220ohm (ή μεγαλύτερη) μεταξύ A0 στον πίνακα stm32 και 3,3V (αρνητικό άκρο (επίπεδο) έως PA0, θετικό άκρο έως 3,3V)
  • Επαναλάβετε με αντίσταση LED+μεταξύ A1 και 3.3V, A2 και 3.3V και A3 και 3.3V
  • Στιγμιαία εναλλαγή μεταξύ A5 στον πίνακα stm32 (λειτουργία αύξησης) και 3.3V και άλλη μεταξύ A4 και 3.3V (λειτουργία μείωσης). αυτός ο διακόπτης αυξάνει τον αριθμό λειτουργίας
  • Εναλλαγή διακόπτη μεταξύ A8 και 3.3V
  • γη μηχανη ασκησης - γη stm32
  • θετικό σήμα μηχανής άσκησης - πίνακας stm32 A7 (σημειώστε ότι το A7 είναι καλό μόνο για 3.3V. εάν η μηχανή άσκησής σας είναι 5V, χρησιμοποιήστε το A9 και επεξεργαστείτε το gamecube.h)
  • Γείωση Nunchuck (με ετικέτα - στον πίνακα προσαρμογέα μου) - γείωση stm32
  • Nunchuck +3.3V (με ετικέτα +) - stm32 3.3V
  • Nunchuck SDA (με ετικέτα D) - stm32 B7
  • Nunchuck SCL (με ετικέτα C) - stm32 B6
  • Αντίσταση 10Kohm μεταξύ Nunchuck SDA και 3.3V στον πίνακα stm32
  • Αντίσταση 10Kohm μεταξύ Nunchuck SCL και 3.3V στον πίνακα stm32.

Βήμα 5: Εγκαταστήστε το Sketch

Εγκαταστήστε το Sketch
Εγκαταστήστε το Sketch
Εγκαταστήστε το Sketch
Εγκαταστήστε το Sketch

Κατεβάστε το σκίτσο του Gamecube USB Adapter και φορτώστε το στο Arduino IDE. Υπάρχουν μερικές επιλογές για έλεγχο στο gamecubecontroller.h:

  • αφαίρεση // μπροστά από #define ENABLE_EXERCISE_MACHINE (όλοι πρέπει να το κάνουν αυτό)
  • αν χρειαζόταν να μετακινήσετε τη σύνδεση του μηχανήματος άσκησης στο Α9, αλλάξτε το PA7 σε PA9 στη συνεχή uint32_t rotationDetector = PA7 γραμμή
  • αν ο παλμός ανίχνευσης περιστροφής της μηχανής γυμναστικής σας είναι υψηλός, αλλάξτε #define ROTATION_DETECTOR_CHANGE_TO_MONITOR FALLING σε #define ROTATION_DETECTOR_CHANGE_TO_MONITOR RISING
  • αν δεν θέλετε να χρησιμοποιήσετε ένα Nunchuck, βάλτε το // μπροστά από το #define ENABLE_NUNCHUCK
  • αν δεν θέλετε να χρησιμοποιήσετε ελεγκτή Gamecube, βάλτε το // μπροστά από το #define ENABLE_GAMECUBE.

Στο Arduino IDE, επιλέξτε Εργαλεία | Σανίδα | Γενική σειρά STM32F103C.

Πατήστε το κουμπί μεταφόρτωσης με το δεξί βέλος. Σημειώστε ότι μπορεί να χρειαστεί να πατήσετε το κουμπί επαναφοράς (ή να αποσυνδέσετε/συνδέσετε) την πλακέτα την κατάλληλη στιγμή εάν λάβετε ένα μήνυμα ότι ο πίνακας δεν αναγνωρίζεται.

Βήμα 6: Σύνδεση ασκήσεων

Σύνδεση μηχανών άσκησης
Σύνδεση μηχανών άσκησης
Σύνδεση μηχανών άσκησης
Σύνδεση μηχανών άσκησης
Σύνδεση μηχανών άσκησης
Σύνδεση μηχανών άσκησης
Σύνδεση μηχανών άσκησης
Σύνδεση μηχανών άσκησης

Συνδέστε σε ένα γρύλο για τη σύνδεση της μηχανής γυμναστικής σας. Στο ελλειπτικό μας μηχάνημα, το κόλλησα, ενώ στο ποδήλατο άσκησης, μπόρεσα να χρησιμοποιήσω αρσενικούς και θηλυκούς συνδετήρες dupont. Στην ελλειπτική, έκανα μια τρύπα στο πλάι της κονσόλας για να ταιριάζει στη σύνδεση. Στο μηχάνημα γυμναστικής, απλώς έχω καλώδια που βγαίνουν από αυτό και ένα μικρό τρισδιάστατο τυπωμένο κουτί (αρχείο OpenSCAD) στο εξωτερικό.

Βήμα 7: Υπόθεση έργου

Υπόθεση έργου
Υπόθεση έργου
Υπόθεση έργου
Υπόθεση έργου
Υπόθεση έργου
Υπόθεση έργου
Υπόθεση έργου
Υπόθεση έργου

Κάποιος μπορεί να περικλείσει το έργο σε ένα μικρό κουτί από χαρτόνι, ένα δοχείο με σκεύη ή ένα προσαρμοσμένο περίβλημα με 3D εκτύπωση. Δεδομένου ότι έχω έναν εκτυπωτή 3D, πήγα για το προσαρμοσμένο περίβλημα. Τα αρχεία OpenSCAD και STL είναι εδώ.

Τα πόδια έχουν σχεδιαστεί για να κολλάνε (οι υπερκολλήσεις) στο κάτω μέρος και να έχουν κολλημένα πόδια από καουτσούκ.

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

Βήμα 8: Χρήση

Χρήση
Χρήση
Χρήση
Χρήση
Χρήση
Χρήση
Χρήση
Χρήση

Τα δύο κουμπιά μπορούν να εναλλάσσουν έως και 16 διαφορετικές λειτουργίες εξομοίωσης (μπορείτε να έχετε περισσότερες, στην πραγματικότητα, αλλά υπάρχουν μόνο τέσσερις λυχνίες LED στο έργο για την εμφάνιση του αριθμού λειτουργίας). Οι τρόποι εξομοίωσης ορίζονται στο gamecubecontroller.h στο σκίτσο. Για τα περισσότερα παιχνίδια, μπορείτε να χρησιμοποιήσετε τη λειτουργία 1, ενοποιημένο χειριστήριο ολίσθησης με ταχύτητα 100%. Το εξομοιωμένο χειριστήριο έχει ένα ρυθμιστικό (στην πραγματικότητα δύο ρυθμιστικά, αλλά και τα δύο κάνουν το ίδιο πράγμα) που ελέγχεται από την περιστροφή της μηχανής άσκησης. Τα κουμπιά και το ίδιο το χειριστήριο ελέγχονται από το χειριστήριο Gamecube ή το Nunchuck. Στα Windows, ορισμένα παιχνίδια υποστηρίζουν ελεγκτή XBox 360 αλλά όχι USB Joystick. Για αυτούς, χρησιμοποιήστε τη λειτουργία 13 (πατήστε το κουμπί κάτω από τη λειτουργία 1).

Οι λειτουργίες 9 και 10 σάς επιτρέπουν να πετάτε πιο αργά και να έχετε ακόμα πλήρη κατάθλιψη του ρυθμιστή, η οποία είναι ωραία για παιδιά ή για μηχανήματα άσκησης που έχουν υψηλότερη αντίσταση. Μπορείτε επίσης να ρυθμίσετε τις ταχύτητες στο exerciseisemachine.ino.

Υπάρχουν πολλές άλλες λειτουργίες εξομοίωσης. Μια εκτυπώσιμη αναφορά περιλαμβάνεται στο modelist.pdf με το σκίτσο.

Όταν κάνετε πεντάλ στο μηχάνημα άσκησης, οι λυχνίες LED στο έργο αλλάζουν από την εμφάνιση του τρέχοντος αριθμού λειτουργίας στην ταχύτητα. Όταν ανάβουν και τα τέσσερα φώτα, η ταχύτητά σας είναι στο μέγιστο (το εξομοιωμένο ρυθμιστικό έχει τη μέγιστη επέκταση)-σε εκείνο το σημείο, δεν έχετε κανένα πλεονέκτημα στο παιχνίδι αν προχωρήσετε γρηγορότερα. Επιπλέον, το μπλε LED στην πλακέτα STM32F1 είναι αναμμένο όταν λειτουργούν όλα, αλλά αναβοσβήνει όταν ενεργοποιηθεί ο αισθητήρας περιστροφής.

Για να αντιστρέψετε την κίνηση, γυρίστε το διακόπτη εναλλαγής κατεύθυνσης στο πλαίσιο προσαρμογέα.

Στα Windows, εκτελέστε το joy.cpl για βαθμονόμηση και δείτε πώς λειτουργούν τα πράγματα. Επειδή είναι ενοχλητικό να πρέπει να πετάτε πολύ γρήγορα για να βαθμονομήσετε το εξομοιωμένο χειριστήριο, υπάρχει ένας τρόπος εξαπάτησης για βαθμονόμηση. Στο χειριστήριο Gamecube, αν μείνετε ακίνητοι για περίπου 10 δευτερόλεπτα, μπορείτε να αρχίσετε να χρησιμοποιείτε τα κουμπιά ώμου για να ελέγχετε τα εξομοιωμένα ρυθμιστικά χειριστηρίου. Με το Nunchuck, ενώ κρατάτε πατημένο το κουμπί λειτουργίας-μείον, μπορείτε να χρησιμοποιήσετε το joystick πάνω/κάτω για να ελέγξετε αντ 'αυτού τα εξομοιωμένα ρυθμιστικά.

Εάν θέλετε ένα GUI για την αλλαγή των λειτουργιών εξομοίωσης, στα Windows το σκίτσο περιλαμβάνει mode.py, ένα σενάριο python με GUI για εναλλαγή λειτουργιών. Μπορείτε επίσης να επικαλεστείτε το mode.py σε ένα αρχείο δέσμης που ξεκινά ένα παιχνίδι.

Δύο παιχνίδια που διαπίστωσα ότι λειτουργούν πραγματικά υπέροχα με το μηχάνημα γυμναστικής είναι τα Toybox Turbos και SuperTuxCart (δωρεάν).

Ο προσαρμογέας περιλαμβάνει επίσης πολλές άλλες λειτουργίες εξομοίωσης. Για παράδειγμα, μπορείτε να το χρησιμοποιήσετε ως απλό προσαρμογέα Nunchuck ή Gamecube Controller, εξομοιώνοντας χειριστήριο, πληκτρολόγιο (π.χ. βέλη/WASD) και/ή ποντίκι. Υπάρχουν πολλές λειτουργίες που αναφέρονται στο gamecubecontroller.h. Μπορείτε επίσης να συνδέσετε ένα μαξιλάρι συμβατό με Dance Dance Revolution Gamecube/Wii και να το χρησιμοποιήσετε για να παίξετε παιχνίδια που δεν έχουν σχεδιαστεί για αυτό, όπως το Tetris, για επιπλέον διασκέδαση και άσκηση.

Συνιστάται: