Taula de continguts:

Consola de joc de mà ESP32: 21 passos (amb imatges)
Consola de joc de mà ESP32: 21 passos (amb imatges)

Vídeo: Consola de joc de mà ESP32: 21 passos (amb imatges)

Vídeo: Consola de joc de mà ESP32: 21 passos (amb imatges)
Vídeo: Real PSP vs Fake PSP #shorts 2024, De novembre
Anonim
Image
Image
Preparació del maquinari
Preparació del maquinari

Aquest instructable mostra com utilitzar un ESP32 i ATtiny861 per construir una consola de jocs d'emulador NES.

Pas 1: Preparació del maquinari

Preparació del maquinari
Preparació del maquinari
Preparació del maquinari
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

Preparació de programari
Preparació de programari
Preparació de programari
Preparació de programari
Preparació de programari
Preparació de 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

Impressió 3D
Impressió 3D

Descarregueu i imprimiu el cas:

Pas 4: suport LCD

Suport LCD
Suport LCD
Suport LCD
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

Prepareu la placa PETG
Prepareu la placa PETG
Prepareu la placa PETG
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

Corregiu el tauler de desenvolupament ESP32
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

Corregiu la bateria Lipo
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

Connecteu la bateria i la placa de desenvolupament
Connecteu la bateria i la placa de desenvolupament

Pas 9: prepareu els pins de la pantalla

Prepareu els pins de la pantalla
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

Connecteu els pins GND
Connecteu els pins GND
Connecteu els pins GND
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

Connecteu els pins Vcc
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

Connecteu LCD i suport per a taules de desenvolupament
Connecteu LCD i suport per a taules 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

Connecteu els pins SPI
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

Programa Flash
Programa Flash
Programa Flash
Programa Flash
Programa Flash
Programa Flash
Programa Flash
Programa Flash
  1. Baixeu-vos el codi font a GitHub:
  2. A la carpeta de codi font, executeu "make menuconfig"
  3. Seleccioneu "Configuració específica de Nofrendo ESP32"
  4. Seleccioneu "Maquinari per executar" -> "Maquinari personalitzat"
  5. Seleccioneu "Tipus de LCD" -> "ST7789V LCD"
  6. Configuració del pin d'emplenament: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Retroil·luminació -> -1, IPS -> Y
  7. Sortiu i deseu
  8. Executeu "make -j5 flash"
  9. Executeu "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

Pas 15: Connector I2C

Connector I2C
Connector I2C
Connector I2C
Connector I2C
Connector I2C
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

Image
Image

Seguiu els passos del vídeo per plegar i prémer totes les parts a la caixa.

Pas 17: prototip I2C Gamepad

Prototip I2C Gamepad
Prototip I2C Gamepad
Prototip I2C Gamepad
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

Construeix el Gamepad I2C
Construeix el Gamepad I2C
Construeix el Gamepad I2C
Construeix el Gamepad I2C
Construeix el Gamepad I2C
Construeix 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

Image
Image
Opcional: pins d'àudio
Opcional: pins d'àudio

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

Image
Image
Opcional: pins d'àudio
Opcional: pins 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?

Que segueix?
Que segueix?

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: