Πίνακας περιεχομένων:
- Βήμα 1: Τι είναι το Arduino Esplora;
- Βήμα 2: Τι είναι το M5Stack;
- Βήμα 3: Γιατί να παίξετε ρετρό παιχνίδι με ESP32;
- Βήμα 4: Προετοιμασία υλικού
- Βήμα 5: Προετοιμασία λογισμικού
- Βήμα 6: Πρόγραμμα I2C Gamepad
- Βήμα 7: Breakout Esplora I2C
- Βήμα 8: Χρησιμοποιήστε κεφαλίδες καρφιτσών για να διορθώσετε το M5Stack στο Esplora
- Βήμα 9: Συνδέστε τις ακίδες I2C
- Βήμα 10: Πρόγραμμα M5Stack
- Βήμα 11: Απολαύστε
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Αυτές οι οδηγίες δείχνουν πώς να συνδυάσετε το Arduino Esplora και το M5Stack για να δημιουργήσετε μια κονσόλα παιχνιδιών NES.
Βήμα 1: Τι είναι το Arduino Esplora;
Το Arduino Esplora είναι ένας πίνακας μικροελεγκτών AVM Atmega32U4.
Είναι μοναδικοί πίνακες Arduino, επειδή ενσωματώνει διάφορους αισθητήρες εισόδου εκτός συσκευής, συμπεριλαμβανομένου ενός χειριστηρίου, 4 κουμπιών, ενός ρυθμιστικού, ενός αισθητήρα θερμοκρασίας, ενός επιταχυνσιόμετρου, ενός μικροφώνου, ενός αισθητήρα φωτός κ.λπ.
Και επίσης το Arduino IDE έδωσε διάφορα παραδείγματα για τη χρήση όλων αυτών.
Αυτή τη φορά θα προγραμματίσω το Esplora ως συσκευή I2C slave για να λειτουργεί ως gamepad I2C.
Ref.:
Βήμα 2: Τι είναι το M5Stack;
Το M5Stack ξεκινά από ένα πρόγραμμα kickstarter το 2017, πυρήνα ESP32, ενσωματωμένη έγχρωμη LCD 2.0 ιντσών, μικροσκοπικός παράγοντας μορφής 5 cm, υποστηρίζει στοιβαζόμενες μονάδες και ενότητες I2C Grove.
Τώρα έχει ήδη διάφορα βασικά μοντέλα, δεκάδες στοιβαζόμενες μονάδες και επίσης υποστηρίζει τόνους μονάδων I2C Grove.
Αναφορά.:
www.kickstarter.com/projects/179167367/m5s…
m5stack.com/
Βήμα 3: Γιατί να παίξετε ρετρό παιχνίδι με ESP32;
Είναι ένα πολύ δημοφιλές θέμα χρησιμοποιώντας το Raspberry Pi για να δημιουργήσετε μια ρετρό κονσόλα παιχνιδιών με διανομή Retropie.
Κάνει τη δουλειά πολύ καλά, αλλά το πιο αξιοσημείωτο πρόβλημα είναι ο χρόνος εκκίνησης.
Δεν θέλω να περιμένω πάνω από μισό λεπτό για να μπω σε ένα ρετρό παιχνίδι, μια πραγματική κονσόλα παιχνιδιών δεν χρειάζεται να περιμένω για αυτό!
Στη συνέχεια, διαπίστωσα ότι το esp32-nesemu δεν χρειάζεται να περιμένει την εκκίνηση, οπότε προσπαθώ να χρησιμοποιήσω το M5Stack για να δημιουργήσω μια κονσόλα παιχνιδιών NES.
Βήμα 4: Προετοιμασία υλικού
Arduino Esplora
Το επίσημο προϊόν είναι παρωχημένο, αλλά είναι ακόμα πολύ εύκολο να βρείτε έναν κλώνο στον ιστό.
M5Stack
Οποιοσδήποτε πυρήνας M5Stack με οθόνη LCD 2.0 ιντσών πρέπει να είναι εντάξει.
Κεφαλίδες καρφιτσών
2 καρφίτσες κεφαλίδα καρφίτσα αρσενικό-αρσενικό και κεφαλίδα καρφίτσας 6 καρφίτσες αρσενικό-θηλυκό.
Καλώδιο μετατροπής Grove
Προτιμάται το κανονικό καλώδιο μετατροπής αρσενικού άλτη 4 ακίδων στο Grove 4 ακίδων. Δεν είχα αυτό το καλώδιο στο χέρι, οπότε απλώς επιδιορθώνω το 1 για να συνδέσω μόνοι μου τις ακίδες SCL και SDA.
Βήμα 5: Προετοιμασία λογισμικού
Arduino IDE
Κατεβάστε και εγκαταστήστε το Arduino IDE εάν όχι ακόμα:
www.arduino.cc/en/Main/Software
ESP-IDF
Ακολουθήστε τον οδηγό εγκατάστασης για να εγκαταστήσετε το ESP-IDF εάν όχι ακόμα:
docs.espressif.com/projects/esp-idf/en/sta…
Βήμα 6: Πρόγραμμα I2C Gamepad
Έχω γράψει ένα απλό πρόγραμμα για να διαβάσω το χειριστήριο και τα κουμπιά που εισάγονται και να το μεταφράσω σε μήνυμα I2C.
Ακολουθούν τα βήματα του προγράμματος:
- Κατεβάστε το esplora-i2c-gamepad.ino στο GitHub:
- Συνδέστε το Esplora στον υπολογιστή
- Ανοίξτε το Arduino
- Μεταφόρτωση προγράμματος
Βήμα 7: Breakout Esplora I2C
Το Arduino Esplora διαθέτει τις περισσότερες διεπαφές εισόδου/εξόδου και χρήστη, αλλά κατά ειρωνικό τρόπο είναι η έλλειψη ακίδων I2C (Grove System).
Ευτυχώς, οι ακίδες I2C στο ATMega32U4 δεν χρησιμοποιούνται ακόμη για άλλο σκοπό. Επίσης, η κεφαλίδα της αριστερής πλευράς του πείρου στο Esplora δεν είναι "προς το παρόν συνδεδεμένη", μπορούμε να χρησιμοποιήσουμε αυτήν την κεφαλίδα καρφιτσών για να σπάσουμε τις ακίδες I2C.
Απλώς χρησιμοποιήστε 2 καλώδια και μερικές εργασίες συγκόλλησης για να συνδέσετε το ATMega32U4 pin 18 (SCL) και το pin 19 (SDA) στην αριστερή κεφαλίδα καρφιτσών.
Αναφ.:
Βήμα 8: Χρησιμοποιήστε κεφαλίδες καρφιτσών για να διορθώσετε το M5Stack στο Esplora
Οι περισσότερες 2 ακίδες στο κάτω μέρος της κεφαλίδας του Esplora στη δεξιά πλευρά είναι GND και 5V, μπορούν να ταιριάζουν με το pinout βασικής βάσης M5Stack. Έτσι μπορούμε να λυγίσουμε μια κεφαλίδα καρφίτσα αρσενικού-αρσενικού 2 ακίδων για να συνδεθούμε μεταξύ τους.
Η κεφαλίδα της αριστερής πλευρικής καρφίτσας Esplora δεν συνέδεσε τίποτα, τα προηγούμενα βήματα χρησιμοποίησαν 2 κορυφαίες καρφίτσες καθώς εμφανίστηκε το I2C. Παραμένουν 6 ακίδες, μπορούμε να λυγίσουμε μια κεφαλίδα καρφίτσας ανδρών-γυναικών 6 ακίδων για να διορθώσουμε το M5Stack στο Esplora.
Βήμα 9: Συνδέστε τις ακίδες I2C
Το Esplora και το M5Stack επικοινωνούν με το πρωτόκολλο I2C, το M5Stack λειτουργεί ως κύριος I2C και το Esplora είναι σκλάβος του I2C.
Δεδομένου ότι το GND και το 5V ήταν ήδη συνδεδεμένα στα προηγούμενα βήματα, μόνο το SCL και το SDA απαιτούσαν περαιτέρω σύνδεση.
Βήμα 10: Πρόγραμμα M5Stack
- Λήψη αναθεωρημένης έκδοσης του esp32-nesemu από το GitHub:
- Στην περιοχή esp32-nesemu, εκτελέστε "make menuconfig"
- Εισαγάγετε το υπομενού "Nofrendo ESP32-specific configuration"
- Επιλέξτε "Υλικό για εκτέλεση" στο "M5Stack"
- Ενεργοποίηση "Αναλογικός ήχος στο GPIO26"
- Επιλέξτε "Τύπος ελεγκτή" σε "I2C Gamepad"
- Έξοδος menuconfig
- Εκτελέστε "make -j5 all" για να μεταγλωττίσετε το πρόγραμμα
- Συνδέστε το M5Stack στον υπολογιστή
- Εκτελέστε "make flash" για να αναβοσβήνει το μεταγλωττισμένο δυαδικό στο M5Stack
- Εκτέλεση "sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME"
Βήμα 11: Απολαύστε
It'sρθε η ώρα να παίξετε το παιχνίδι που προτιμάτε!