Πίνακας περιεχομένων:
- Βήμα 1: Προετοιμασία υλικού
- Βήμα 2: Προετοιμασία λογισμικού
- Βήμα 3: Τρισδιάστατη εκτύπωση
- Βήμα 4: Υποστήριξη LCD
- Βήμα 5: Προετοιμάστε την πλάκα PETG
- Βήμα 6: Διορθώστε την πλακέτα ESP32 Dev
- Βήμα 7: Διορθώστε την μπαταρία Lipo
- Βήμα 8: Συνδέστε το Battery & Devboard
- Βήμα 9: Προετοιμάστε καρφίτσες οθόνης
- Βήμα 10: Συνδέστε τις καρφίτσες GND
- Βήμα 11: Συνδέστε τις καρφίτσες Vcc
- Βήμα 12: Συνδέστε την υποστήριξη της πλακέτας LCD & Dev
- Βήμα 13: Συνδέστε τις καρφίτσες SPI
- Βήμα 14: Πρόγραμμα Flash
- Βήμα 15: Συνδετήρας I2C
- Βήμα 16: Συναρμολόγηση Μέρος 1
- Βήμα 17: Πρωτότυπο I2C Gamepad
- Βήμα 18: Δημιουργήστε το Gamepad I2C
- Βήμα 19: Συναρμολόγηση Μέρος 2
- Βήμα 20: Προαιρετικό: Καρφίτσες Audio Breakout
- Βήμα 21: Τι ακολουθεί;
Βίντεο: ESP32 Handheld Game Console: 21 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Αυτές οι οδηγίες δείχνουν πώς να χρησιμοποιήσετε ένα ESP32 και ATtiny861 για να δημιουργήσετε μια κονσόλα παιχνιδιών εξομοιωτή NES.
Βήμα 1: Προετοιμασία υλικού
ESP32 Πίνακας Dev
Αυτή τη φορά χρησιμοποιώ έναν πίνακα dev TTGO T8 ESP32. Αυτός ο πίνακας έχει ενσωματωμένο κύκλωμα φόρτισης και ρύθμισης Lipo, μπορεί να βοηθήσει στη μείωση των επιπλέον εξαρτημάτων.
Απεικόνιση
Αυτή τη φορά χρησιμοποιώ LCD IPS 2,4 . Ο ελεγκτής προγράμματος οδήγησης είναι ST7789V και η ανάλυση είναι 320 x 240. Αυτή η ανάλυση ταιριάζει καλύτερα για τον εξομοιωτή NES 252 x 224.
Μπαταρία
Αυτή τη φορά χρησιμοποιώ μια μπαταρία 454261 Lipo. Το πάχος της πλακέτας ESP32 dev είναι 4,5 mm και το πλάτος της σανίδας 61 mm.
Κεφαλίδα καρφιτσών
Μια κεφαλίδα στρογγυλής καρφίτσας με 4 καρφίτσες και μια γυναικεία κεφαλίδα με 4 ακίδες για σύνδεση I2C gamepad.
Πιάτο PETG
Μια μικρή πλάκα PET/PETG για υποστήριξη της πλακέτας dev και της μπαταρίας Lipo, μπορείτε εύκολα να τη βρείτε στη συσκευασία προϊόντων.
PCB πολλαπλών χρήσεων
Απαιτείται 2 PCB, 1 πάχος 0,4 mm για τη στήριξη της οθόνης, 1 1,2 mm πάχος για ένα gamepad I2C.
Κουμπιά
Ένα κουμπί 5 κατευθύνσεων, 2 μικρά κουμπιά για επιλογή και έναρξη και 2 για κουμπιά Α και Β.
Ελεγκτής I2C Gamepad
Αυτή τη φορά χρησιμοποιώ έναν μικροελεγκτή ATtiny861 ως ελεγκτή παιχνιδιού I2C.
Οι υπολοιποι
1 αντίσταση SMD 12 Ohm, προγραμματιστής ISP (π.χ. TinyISP)
Βήμα 2: Προετοιμασία λογισμικού
Arduino IDE
Λήψη και εγκατάσταση του Arduino IDE εάν όχι ακόμα:
Υποστήριξη ATTinyCore
Ακολουθήστε τα βήματα εγκατάστασης για να προσθέσετε υποστήριξη ATTinyCore αν όχι ακόμα:
ESP-IDF
Ακολουθήστε τον οδηγό έναρξης ESP-IDF για να ρυθμίσετε το περιβάλλον ανάπτυξης, αν όχι ακόμα:
Βήμα 3: Τρισδιάστατη εκτύπωση
Κατεβάστε και εκτυπώστε τη θήκη:
Βήμα 4: Υποστήριξη LCD
Κόψτε ένα PCB 24 x 27 οπών 0,4 mm για υποστήριξη LCD. Θυμηθείτε κρατήστε λίγο χώρο για πτυσσόμενο LCD FPC. Στη συνέχεια, χρησιμοποιήστε μια κολλητική ταινία διπλής όψης, στερεώστε την οθόνη LCD στο PCB.
Βήμα 5: Προετοιμάστε την πλάκα PETG
Κόψτε μια πλάκα PETG 62 mm x 69 mm για πλακέτα dev και υποστήριξη μπαταρίας Lipo.
Βήμα 6: Διορθώστε την πλακέτα ESP32 Dev
Χρησιμοποιήστε κολλητική ταινία διπλής όψης για να στερεώσετε την πλακέτα dev στην πλάκα PETG.
Βήμα 7: Διορθώστε την μπαταρία Lipo
Χρησιμοποιήστε κολλητική ταινία διπλής όψης για να στερεώσετε την μπαταρία Lipo εκτός από την πλακέτα dev.
Βήμα 8: Συνδέστε το Battery & Devboard
Βήμα 9: Προετοιμάστε καρφίτσες οθόνης
Οι οθόνες LCD έχουν πολλές παραλλαγές από διαφορετικούς προμηθευτές. Αποκτήστε το σωστό φύλλο δεδομένων και διαβάστε το πριν από οποιαδήποτε ενημέρωση κώδικα και σύνδεση.
Ορισμένες καρφίτσες προορίζονται για οθόνη αφής. Δεδομένου ότι αυτή η οθόνη LCD δεν διαθέτει οθόνη αφής, απλά κόψτε αυτές τις ακίδες μπορεί να μειώσει την ενόχληση.
Βήμα 10: Συνδέστε τις καρφίτσες GND
Στις περισσότερες περιπτώσεις, υπάρχουν λίγες ακίδες που απαιτούν σύνδεση με το GND. Για να μειώσω την προσπάθεια συγκόλλησης, έκοψα ένα σχήμα χάλκινης ταινίας για να φτάσω σε όλες τις καρφίτσες GND και στη συνέχεια συγκόλληση εντελώς.
Βήμα 11: Συνδέστε τις καρφίτσες Vcc
Απαιτούνται 2 ακίδες για σύνδεση με Vcc, τροφοδοσία LCD και ισχύ LED. Σύμφωνα με το δελτίο δεδομένων, η τροφοδοσία LCD μπορεί να συνδεθεί απευθείας στην πλακέτα dev 3.3 V, αλλά η ισχύς LED λειτουργεί λίγο χαμηλότερα από τα 3,3 V. Έτσι, είναι καλύτερα να προσθέσετε μια αντίσταση SMD στη μέση, π.χ. Αντίσταση 12 Ohm.
Βήμα 12: Συνδέστε την υποστήριξη της πλακέτας LCD & Dev
χρησιμοποιήστε ταινία σύνδεσης υποστήριξης LCD και υποστήριξης πλακέτας dev μαζί. Και τα δύο στηρίγματα πρέπει να διατηρούν κενό περίπου 5 mm για αναδίπλωση.
Βήμα 13: Συνδέστε τις καρφίτσες SPI
Ακολουθεί η περίληψη της σύνδεσης:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> μη συνδεδεμένο Vcc -> 3,3 V LED+ -> Αντίσταση 12 Ohm -> LED 3,3 V - -> GND
Βήμα 14: Πρόγραμμα Flash
- Κατεβάστε τον πηγαίο κώδικα στο GitHub:
- Κάτω από τον φάκελο πηγαίου κώδικα, εκτελέστε "make menuconfig"
- Επιλέξτε "Διαμόρφωση ειδική για το Nofrendo ESP32"
- Επιλέξτε "Υλικό για εκτέλεση" -> "Προσαρμοσμένο υλικό"
- Επιλέξτε "Τύπος LCD" -> "ST7789V LCD"
- Συμπληρώστε τις ρυθμίσεις καρφιτσών: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, οπίσθιος φωτισμός -> -1, IPS -> Y
- Έξοδος και αποθήκευση
- Εκτέλεση "make -j5 flash"
- Εκτέλεση "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Βήμα 15: Συνδετήρας I2C
Ξεκλείδωμα των ακίδων I2C, οι προεπιλεγμένες ακίδες I2C ESP32 είναι:
Καρφίτσα 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (χωρίς ισχύ 5 V ενώ τροφοδοτείται από μπαταρία Lipo) Pin 4 (GND) -> GND
Βήμα 16: Συναρμολόγηση Μέρος 1
Ακολουθήστε τα βήματα βίντεο για να διπλώσετε και να πιέσετε όλα τα μέρη στη θήκη.
Βήμα 17: Πρωτότυπο I2C Gamepad
Το πρόγραμμα για το I2C Gamepad είναι πολύ απλό, μόνο 15 γραμμές κώδικα. Αλλά είναι λίγο δύσκολο να επαναπρογραμματίσετε το ATtiny861 μετά τη συγκόλληση, οπότε είναι καλύτερα να το δοκιμάσετε πρώτα στο breadboard.
Κατεβάστε, μεταγλωττίστε και αναβοσβήνετε το πρόγραμμα από το GitHub:
Βήμα 18: Δημιουργήστε το Gamepad I2C
Ακολουθεί η περίληψη της σύνδεσης:
Κουμπί ATtiny861
GND -> Όλα τα κουμπιά μία καρφίτσα Pin 20 (PA0) -> Πάνω κουμπί Pin 19 (PA1) -> Πλήκτρο κάτω κουμπιού 18 (PA2) -> Αριστερό κουμπί Pin 17 (PA3) -> Δεξί κουμπί Pin 14 (PA4) -> Επιλέξτε κουμπί Pin 13 (PA5) -> Κουμπί έναρξης Pin 12 (PA6) -> A κουμπί Pin 11 (PA7) -> B κουμπί Pin 6 (GND) -> I2C αρσενικό pin pin header 4 Pin 5 (Vcc) -> I2C αρσενικό pin pin header 3 Pin 3 (SCL) -> I2C αρσενικό pin pin header 1 Pin 1 (SDA) -> I2C αρσενικό pin pin header 2
Βήμα 19: Συναρμολόγηση Μέρος 2
Ακολουθήστε τα βήματα βίντεο για να εγκαταστήσετε το εξώφυλλο και το gamepad I2C στο κύριο σώμα.
Βήμα 20: Προαιρετικό: Καρφίτσες Audio Breakout
Ο πίνακας ESP32 dev Pin 25 και 26 εξάγει το αναλογικό ηχητικό σήμα, είναι πολύ εύκολο να ξεσπάσετε αυτούς τους 2 ακροδέκτες και επίσης ακίδες τροφοδοσίας (3,3 V και GND) στην κορυφή. Στη συνέχεια, μπορείτε να επιδιορθώσετε ένα ακουστικό για να το συνδέσετε. Or ακόμη μπορείτε να προσθέσετε μια μονάδα ενισχυτή ήχου με ηχείο για να την ακούτε δυνατά.
Βήμα 21: Τι ακολουθεί;
Ο εξομοιωτής NES δεν είναι το μόνο ενδιαφέρον πράγμα που μπορείτε να φτιάξετε με το ESP32. Π.χ. μπορείτε να δημιουργήσετε μια κονσόλα micro python με αυτό. Το μόνο στοιχείο που πρέπει να αλλάξετε είναι από το gamepad του I2C στο πληκτρολόγιο I2C. Νομίζω ότι δεν είναι τόσο δύσκολο να το φτιάξεις με έναν ελεγκτή ATtiny88. Μπορείτε να ακολουθήσετε το twitter μου για να δείτε την κατάσταση.
Συνιστάται:
DIY Handheld Game Console χρησιμοποιώντας RetroPie: 7 βήματα
DIY Handheld Game Console Using RetroPie: Δείτε το παραπάνω βίντεο για να καταλάβετε καλύτερα αυτό το έργο. Πρόστιμο. It’sρθε η ώρα να ξεκινήσετε! Πρώτα απ 'όλα, θα χρησιμοποιήσουμε το RetroPie. Αυτό μας αφήνει δύο επιλογές. Εάν έχουμε ήδη εγκαταστήσει το Raspbian στην κάρτα SD μας, τότε μπορούμε να εγκαταστήσουμε το RetroP
DIY Raspberry Pi Zero Handheld Game Console: 6 βήματα (με εικόνες)
DIY Raspberry Pi Zero Handheld Game Console: Σε αυτό το έργο θα σας δείξω πώς χρησιμοποίησα ένα Raspberry Pi Zero, μπαταρίες NiMH, ένα σπιτικό κύκλωμα προστασίας από υπερφόρτιση, ένα LCD οπισθοπορείας και έναν ενισχυτή ήχου για να δημιουργήσω μια χειροκίνητη κονσόλα παιχνιδιών που μπορεί να παίξει ρετρό παιχνίδια. Ας αρχίσουμε
1963 Pi Tourer Game Console: 9 βήματα (με εικόνες)
1963 Pi Tourer Game Console: Αυτό είναι ένα ραδιόφωνο αυτοκινήτου Sky Tourer του 1963 που έχω μετατρέψει σε μια εύχρηστη φορητή ρετρό κονσόλα παιχνιδιών. Διαθέτει ενσωματωμένο Raspberry Pi 3, με 6 κουμπιά arcade και ένα χειριστήριο που ελέγχει αυτά τα vintage σπρέι RetroPie μέσω μιας πλακέτας ελεγκτή Picade. Ο
Handheld Recalbox Game Console Χρησιμοποιώντας 2.2 TFT: 6 βήματα
Handheld Recalbox Game Console Using 2.2 TFT: Οδηγίες για το DIY μιας χειροκίνητης κονσόλας παιχνιδιών recalbox χρησιμοποιώντας 2,2 "TFT LCD και κουμπιά Raspberry Pi 0 W και GPIO. Μπορείτε να δείτε αυτό το βίντεο στο youtube για μια πλήρη επίδειξη των σχετικών βημάτων: A. Πάρτε όλα τα μέρη. Β. Συγκολλήστε τα μέρη μαζί
Handheld Game to Interactive Big Screen: 10 βήματα (με εικόνες)
Handheld Game to Interactive Big Screen: Αυτό το Instructable σάς δείχνει πώς να παίρνετε τα παλιά παιχνίδια χειρός που σας έδινε η μαμά σας όταν ήσασταν μικρά και να τα μετατρέπετε σε ένα παιχνίδι μεγάλης κλίμακας που μπορεί να προβληθεί στην τηλεόραση και να παιχτεί από πολλούς παίκτες ταυτόχρονα. Αυτό το διδακτικό θα περιλαμβάνει: