Taula de continguts:
- Pas 1: Preparació del maquinari
- Pas 2: Preparació del programari
- Pas 3: impressió 3D
- Pas 4: suport LCD
- Pas 5: prepareu la placa PETG
- Pas 6: corregiu el tauler de desenvolupament ESP32
- Pas 7: corregiu la bateria Lipo
- Pas 8: connecteu la bateria i la placa de desenvolupament
- Pas 9: prepareu els pins de la pantalla
- Pas 10: connecteu els pins GND
- Pas 11: connecteu els pins Vcc
- Pas 12: connecteu el suport de la placa LCD i el dispositiu de desenvolupament
- Pas 13: connecteu els pins SPI
- Pas 14: programa Flash
- Pas 15: Connector I2C
- Pas 16: Muntatge de la primera part
- Pas 17: prototip I2C Gamepad
- Pas 18: Creeu el Gamepad I2C
- Pas 19: Muntatge 2a part
- Pas 20: opcional: pins de separació d'àudio
- Pas 21: què passa?
Vídeo: Consola de joc de mà ESP32: 21 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Aquest instructable mostra com utilitzar un ESP32 i ATtiny861 per construir una consola de jocs d'emulador NES.
Pas 1: Preparació del maquinari
ESP32 Dev Board
Aquesta vegada estic fent servir una placa de desenvolupament TTGO T8 ESP32. Aquesta placa té un circuit de regulació i càrrega Lipo integrat, que pot ajudar a reduir els components addicionals.
Visualització
Aquesta vegada estic fent servir un LCD IPS de 2,4 . El controlador del controlador és ST7789V i la resolució és de 320 x 240. Aquesta resolució s'adapta millor a la resolució 252 x 224 de l'emulador NES.
Pila
Aquesta vegada estic fent servir una bateria Lipo 454261. 4,5 mm és el gruix del tauler de desenvolupament ESP32 i 61 mm és l’amplada del tauler.
Capçalera del pin
Una capçalera de pas rodó masculí de 4 pins i una capçalera de pas rodó femella de 4 pins per connectar el gamepad I2C.
Placa PETG
Una petita placa PET / PETG per suportar la placa de desenvolupament i la bateria Lipo, la podeu trobar fàcilment a l’embalatge del producte.
PCB multiusos
Es necessiten 2 PCB, 1 0,4 mm de gruix per suportar la pantalla, 1 1,2 mm de gruix per a un gamepad I2C.
Botons
Un botó de 5 direccions, 2 botons petits per seleccionar i iniciar i 2 per al botó A i B.
Controlador de gamepad I2C
Aquesta vegada faig servir un microcontrolador ATtiny861 com a controlador de joc I2C.
Altres
1 resistència SMD de 12 ohms, un programador ISP (per exemple, TinyISP)
Pas 2: Preparació del programari
IDE Arduino
Si encara no ho feu, descarregueu i instal·leu Arduino IDE:
Assistència ATTinyCore
Seguiu els passos d’instal·lació per afegir el suport d’ATTinyCore si encara no:
ESP-IDF
Seguiu la guia d’inici de l’ESP-IDF per configurar l’entorn de desenvolupament si encara no:
Pas 3: impressió 3D
Descarregueu i imprimiu el cas:
Pas 4: suport LCD
Tallar un PCB de 0,4 mm de 24 x 27 forats per a suport LCD. Recordeu que heu de reservar espai per plegar FPC LCD. A continuació, utilitzeu cinta adhesiva de doble cara per fixar la pantalla LCD al PCB.
Pas 5: prepareu la placa PETG
Retalleu una placa PETG de 62 mm x 69 mm per a la placa de desenvolupament i el suport de la bateria Lipo.
Pas 6: corregiu el tauler de desenvolupament ESP32
Utilitzeu cinta adhesiva de doble cara per fixar el tauler de desenvolupament a la placa PETG.
Pas 7: corregiu la bateria Lipo
Utilitzeu cinta adhesiva de doble cara per fixar la bateria Lipo a més del tauler de desenvolupament.
Pas 8: connecteu la bateria i la placa de desenvolupament
Pas 9: prepareu els pins de la pantalla
La pantalla LCD té moltes variacions de diferents proveïdors. Obteniu el full de dades correcte i llegiu-lo abans de qualsevol connexió i pegat.
Alguns pins estan reservats per al panell tàctil. Com que aquesta pantalla LCD no té panell tàctil, només cal que talleu aquests pins per reduir la molèstia.
Pas 10: connecteu els pins GND
En la majoria dels casos, hi ha pocs pins que necessiten connectar-se a GND. Per reduir l'esforç de soldadura, vaig tallar una forma de cinta de coure per arribar a tots els passadors GND i després soldar del tot.
Pas 11: connecteu els pins Vcc
Cal connectar 2 pins a Vcc, alimentació LCD i alimentació LED. Segons el full de dades, l’alimentació LCD es pot connectar directament al pin de 3,3 V, però la potència del LED funciona una mica inferior a 3,3 V. Per tant, és millor afegir una resistència SMD al centre, per exemple. Resistència de 12 Ohm.
Pas 12: connecteu el suport de la placa LCD i el dispositiu de desenvolupament
utilitzeu el suport LCD de cinta connecta i el suport de la placa de desenvolupament junts. Tots dos suports haurien de reservar al voltant de 5 mm d’espai per plegar-se.
Pas 13: connecteu els pins SPI
Aquí teniu el resum de la connexió:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> Vcc no connectat -> LED de 3,3 V + -> Resistència de 12 Ohm -> LED de 3,3 V - -> GND
Pas 14: programa Flash
- Baixeu-vos el codi font a GitHub:
- A la carpeta de codi font, executeu "make menuconfig"
- Seleccioneu "Configuració específica de Nofrendo ESP32"
- Seleccioneu "Maquinari per executar" -> "Maquinari personalitzat"
- Seleccioneu "Tipus de LCD" -> "ST7789V LCD"
- Configuració del pin d'emplenament: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Retroil·luminació -> -1, IPS -> Y
- Sortiu i deseu
- Executeu "make -j5 flash"
- Executeu "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Pas 15: Connector I2C
Es divideixen els pins I2C, els pins I2C predeterminats ESP32 són:
Pin 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (sense alimentació de 5 V mentre funciona amb bateria Lipo) Pin 4 (GND) -> GND
Pas 16: Muntatge de la primera part
Seguiu els passos del vídeo per plegar i prémer totes les parts a la caixa.
Pas 17: prototip I2C Gamepad
El programa per al Gamepad I2C és molt senzill, només té 15 línies de codi. Però és una mica difícil reprogramar l'ATtiny861 després de soldar, de manera que és millor provar-lo primer a la taula.
Descarregueu, compileu i feu flaix el programa des de GitHub:
Pas 18: Creeu el Gamepad I2C
Aquí teniu el resum de connexions:
Botó ATtiny861
GND -> Tots els botons un pin Pin 20 (PA0) -> Botó amunt Pin 19 (PA1) -> Botó avall Pin 18 (PA2) -> Botó esquerre Pin 17 (PA3) -> Botó dret Pin 14 (PA4) -> Seleccioneu el botó Pin 13 (PA5) -> Botó d'inici Pin 12 (PA6) -> Botó A Pin 11 (PA7) -> Botó B Pin 6 (GND) -> Pin de capçalera pin masculí I2C 4 Pin 5 (Vcc) -> I2C pin de capçalera de pin masculí 3 Pin 3 (SCL) -> pin de capçalera de pin masculí I2C 1 Pin 1 (SDA) -> pin de capçalera de pin masculí I2C 2
Pas 19: Muntatge 2a part
Seguiu els passos del vídeo per instal·lar la coberta i el gamepad I2C al cos principal.
Pas 20: opcional: pins de separació d'àudio
El pin 25 i 26 de la placa de desenvolupament ESP32 genera el senyal d'àudio analògic, és molt fàcil separar aquests 2 pins i també els pins d'alimentació (3,3 V i GND) a la part superior. A continuació, podeu fixar un auricular per connectar-lo. O fins i tot podeu afegir un mòdul amplificador d’àudio amb altaveu per reproduir-lo en veu alta.
Pas 21: què passa?
L'emulador NES no és l'única cosa interessant que podeu fer amb ESP32. Per exemple. podeu construir una consola micro python. L'únic component que heu de canviar és del teclat de joc I2C al teclat I2C. Crec que no és tan difícil fer-ho amb un controlador ATtiny88. Podeu seguir el meu twitter per veure l’estat.
Recomanat:
Bricolatge Raspberry Pi Zero Consola de joc de mà: 6 passos (amb imatges)
DIY Raspberry Pi Zero Handheld Game Console: en aquest projecte us mostraré com he utilitzat un Raspberry Pi Zero, bateries NiMH, un circuit casolà de protecció contra descàrregues excessives, un LCD de retrovisió i un amplificador d’àudio per crear una consola de jocs de mà que pugui reproduir jocs retro. Comencem
Feu alguna cosa agradable amb una consola de joc trencada: 6 passos
Feu alguna cosa agradable amb una consola de joc trencada: fa un temps el meu amic em va donar la seva vella PS2 que ja no funciona. Malauradament, com que no sóc enginyer elèctric, no puc arreglar la consola, però puc utilitzar el meu coneixement de RetroPie per crear un sistema de joc completament nou. (Per aquest instructiu jo
Consola de jocs retro (Mod N64) amb KODI: 7 passos (amb imatges)
Retro Gaming Console (N64 Mod) amb KODI: jugar a jocs retro a les consoles de la vella escola és molt divertit, però comprar les consoles individuals i tots els jocs que s’hi combinen és massa feixuc i car. Per no mencionar si ets estudiant universitari o universitari i et mudes apartaments abans
Consola de mà amb controladors i sensors sense fils (Arduino MEGA i UNO): 10 passos (amb imatges)
Consola de mà amb controladors i sensors sense fils (Arduino MEGA i UNO): què he fet servir: - Arduino MEGA- 2x Arduino UNO- Adafruit 3.5 " Pantalla tàctil TFT 320x480 HXD8357D- Buzzer- Altaveu 3Ohm 3W- Il·luminació LED de 5 mm- Impressora Ultimaker 2+ amb filament PLA negre- Disparador amb fusta MDF- Pintura esprai negra (per a la fusta) - 3x nRF24
Fer música amb una consola Atari Punk: 5 passos (amb imatges)
Fer música amb una consola Atari Punk: alguns circuits analògics antics són tan populars avui com quan es van introduir fa dècades. Sovint superen fàcilment els micros i altres solucions de circuits digitals en termes de simplicitat bàsica. Forrest ho ha tornat a fer … el seu exemple preferit és l'Atari