Tabla de contenido:
- Paso 1: preparación del hardware
- Paso 2: preparación del software
- Paso 3: Impresión 3D
- Paso 4: soporte LCD
- Paso 5: Prepare la placa PETG
- Paso 6: arregla la placa de desarrollo ESP32
- Paso 7: arregla la batería Lipo
- Paso 8: conecte la batería y la placa de desarrollo
- Paso 9: Prepare los pines de la pantalla
- Paso 10: Conecte los pines GND
- Paso 11: Conecte los pines Vcc
- Paso 12: Conecte la pantalla LCD y el soporte de la placa de desarrollo
- Paso 13: Conecte los pines SPI
- Paso 14: Programa Flash
- Paso 15: Conector I2C
- Paso 16: Montaje, parte 1
- Paso 17: Prototipo de gamepad I2C
- Paso 18: compila el gamepad I2C
- Paso 19: Montaje, parte 2
- Paso 20: Opcional: clavijas de conexión de audio
- Paso 21: ¿Qué sigue?
Video: Consola de juegos portátil ESP32: 21 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Estos instructivos muestran cómo usar un ESP32 y ATtiny861 para construir una consola de juegos de emulador de NES.
Paso 1: preparación del hardware
Tablero de desarrollo ESP32
Esta vez estoy usando una placa de desarrollo TTGO T8 ESP32. Esta placa tiene un circuito de regulación y carga Lipo incorporado, puede ayudar a reducir los componentes adicionales.
Monitor
Esta vez estoy usando una pantalla LCD IPS de 2.4 . El controlador del controlador es ST7789V y la resolución es de 320 x 240. Esta resolución es la más adecuada para la resolución del emulador NES de 252 x 224.
Batería
Esta vez estoy usando una batería Lipo 454261. 4,5 mm es el grosor de la placa de desarrollo ESP32 y 61 mm es el ancho de la placa.
Encabezado de pin
Un encabezado de clavija redonda macho de 4 pines y un encabezado de clavija redonda hembra de 4 pines para conectar el gamepad I2C.
Placa de PETG
Una pequeña placa PET / PETG para soportar la placa de desarrollo y la batería Lipo, puede encontrarla fácilmente en el embalaje del producto.
PCB de usos múltiples
Se requieren 2 PCB, 1 de 0.4 mm de grosor para soportar la pantalla, 1 de 1.2 mm de grosor para un gamepad I2C.
Botones
Un botón de 5 direcciones, 2 botones pequeños para Seleccionar e Iniciar y 2 para el botón A y B.
Controlador de gamepad I2C
Esta vez utilizo un microcontrolador ATtiny861 como controlador de gamepad I2C.
Otros
1 resistencia SMD de 12 ohmios, un programador ISP (por ejemplo, TinyISP)
Paso 2: preparación del software
IDE de Arduino
Descargue e instale Arduino IDE si aún no lo ha hecho:
Soporte ATTinyCore
Siga los pasos de instalación para agregar soporte ATTinyCore si aún no lo ha hecho:
ESP-IDF
Siga la guía de introducción de ESP-IDF para configurar el entorno de desarrollo si aún no lo ha hecho:
Paso 3: Impresión 3D
Descarga e imprime el estuche:
Paso 4: soporte LCD
Corte un PCB de 0,4 mm de 24 x 27 orificios para el soporte de la pantalla LCD. Recuerde reservar algo de espacio para plegar LCD FPC. Luego, use cinta adhesiva de doble cara para fijar la pantalla LCD en la PCB.
Paso 5: Prepare la placa PETG
Recorte una placa PETG de 62 mm x 69 mm para la placa de desarrollo y el soporte de la batería Lipo.
Paso 6: arregla la placa de desarrollo ESP32
Utilice cinta adhesiva de doble cara para fijar la placa de desarrollo en la placa PETG.
Paso 7: arregla la batería Lipo
Use cinta adhesiva de doble cara para fijar la batería Lipo además de la placa de desarrollo.
Paso 8: conecte la batería y la placa de desarrollo
Paso 9: Prepare los pines de la pantalla
La pantalla LCD tiene muchas variaciones de diferentes proveedores. Obtenga la hoja de datos correcta y léala antes de cualquier parche y conexión.
Algunos pines están reservados para el panel táctil. Dado que esta pantalla LCD no tiene panel táctil, simplemente cortar esos pines puede reducir la perturbación.
Paso 10: Conecte los pines GND
En la mayoría de los casos, hay pocos pines que requieren conectarse a GND. Para reducir el esfuerzo de soldadura, corto una forma de cinta de cobre para alcanzar todos los pines GND y luego sueldo por completo.
Paso 11: Conecte los pines Vcc
Se requieren 2 pines para conectar a Vcc, alimentación de LCD y alimentación de LED. De acuerdo con la hoja de datos, la alimentación del LCD se puede conectar directamente al pin de la placa de desarrollo de 3,3 V, pero la alimentación del LED funciona un poco por debajo de los 3,3 V. Por lo tanto, es mejor agregar una resistencia SMD en el medio, p. Resistencia de 12 ohmios.
Paso 12: Conecte la pantalla LCD y el soporte de la placa de desarrollo
use el soporte LCD de conexión de cinta y el soporte de la placa de desarrollo juntos. Ambos soportes deben reservar alrededor de 5 mm de espacio para plegar.
Paso 13: Conecte los pines SPI
Aquí está el resumen de la conexión:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> no conectado Vcc -> 3.3 V LED + -> Resistencia de 12 Ohm -> 3.3 V LED - -> GND
Paso 14: Programa Flash
- Descargue el código fuente en GitHub:
- En la carpeta del código fuente, ejecute "make menuconfig"
- Seleccione "Configuración específica de Nofrendo ESP32"
- Seleccione "Hardware para ejecutar" -> "Hardware personalizado"
- Seleccione "Tipo de LCD" -> "ST7789V LCD"
- Configuración de pin de relleno: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Retroiluminación -> -1, IPS -> Y
- Salir y guardar
- Ejecute "make -j5 flash"
- Ejecute "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Paso 15: Conector I2C
Romper los pines I2C, los pines I2C predeterminados de ESP32 son:
Pin 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (sin alimentación de 5 V mientras se alimenta con batería Lipo) Pin 4 (GND) -> GND
Paso 16: Montaje, parte 1
Siga los pasos del video para doblar y apretar todas las partes en el estuche.
Paso 17: Prototipo de gamepad I2C
El programa para el I2C Gamepad es muy simple, solo 15 líneas de código. Pero es un poco difícil reprogramar el ATtiny861 después de soldar, por lo que es mejor probarlo primero en la placa de pruebas.
Descargue, compile y actualice el programa desde GitHub:
Paso 18: compila el gamepad I2C
Aquí está el resumen de la conexión:
Botón ATtiny861
GND -> Todos los botones un pin Pin 20 (PA0) -> Botón arriba Pin 19 (PA1) -> Botón abajo Pin 18 (PA2) -> Botón izquierdo Pin 17 (PA3) -> Botón derecho Pin 14 (PA4) -> Botón de selección Pin 13 (PA5) -> Botón de inicio Pin 12 (PA6) -> Botón A Pin 11 (PA7) -> Botón B Pin 6 (GND) -> Pin de cabecera de pin macho I2C Pin 4 Pin 5 (Vcc) -> I2C clavija de cabecera de clavija macho 3 clavija 3 (SCL) -> clavija de encabezado de clavija macho I2C 1 (SDA) -> clavija de cabecera de clavija macho I2C 2
Paso 19: Montaje, parte 2
Siga los pasos del video para instalar la cubierta y el gamepad I2C en el cuerpo principal.
Paso 20: Opcional: clavijas de conexión de audio
Los pines 25 y 26 de la placa de desarrollo ESP32 emiten la señal de audio analógica, es muy fácil romper estos 2 pines y también los pines de alimentación (3.3 V y GND) en la parte superior. Luego, puede parchear un auricular para enchufarlo. O incluso puede agregar un módulo amplificador de audio con altavoz para reproducirlo alto.
Paso 21: ¿Qué sigue?
El emulador de NES no es lo único interesante que puedes hacer con ESP32. P.ej. puedes construir una consola de micro python con él. El único componente que necesita cambiar es del gamepad I2C al teclado I2C. Creo que no es tan difícil hacerlo con un controlador ATtiny88. Puede seguir mi twitter para ver el estado.
Recomendado:
Consola de juegos portátil Lego con Space Invaders: 4 pasos
Consola de juegos portátil Lego con Space Invaders: ¿Alguna vez has pensado en ser un desarrollador de juegos y construir tu propia consola de juegos que puedas jugar sobre la marcha? Todo lo que necesita es un poco de tiempo, hardwareLego bricksa Mini-Calliope (se puede pedir en este sitio web https://calliope.cc/en) y algo de habilidad
¡Crea tu propia consola de juegos retro portátil! ¡que también es una tableta Win10 !: 6 pasos (con imágenes)
¡Haga su propia consola de juegos retro portátil! …… ¡que también es una tableta Win10 !: En este proyecto, le mostraré cómo crear una consola de juegos retro portátil que también se puede usar como una tableta con Windows 10. Constará de un 7 " LCD HDMI con pantalla táctil, un LattePanda SBC, un PCB de alimentación USB tipo C PD y algunos más complementarios
Consola de juegos portátil DIY Raspberry Pi Zero: 6 pasos (con imágenes)
Consola de juegos portátil DIY Raspberry Pi Zero: En este proyecto, les mostraré cómo utilicé una Raspberry Pi Zero, baterías NiMH, un circuito de protección de sobredescarga casero, una pantalla LCD retrovisora y un amplificador de audio para crear una consola de juegos portátil que puede jugar. juegos retro. ¡Empecemos
Consola de juegos portátil - Clon de Arduboy: 6 pasos (con imágenes)
Consola de juegos portátil | Arduboy Clone: Hace unos meses me encontré con Arduboy que, según su sitio web oficial, es una plataforma de juegos en miniatura de 8 bits que facilita aprender, compartir y jugar juegos en línea. Es una plataforma de código abierto. Los juegos para Arduboy los crea el usuario
Mini consola de juegos Ardubaby con 500 juegos: 10 pasos
Ardubaby Mini Game Console Con 500 juegos: Créditos para el creador (Kevin Bates), Arduboy es una consola de juegos de 8 bits muy exitosa. Hubo miles de juegos escritos por el aficionado que los compartió libremente en el foro de la comunidad de Arduboy para que más personas puedan aprender a codificar