Tabla de contenido:

Consola de juegos portátil ESP32: 21 pasos (con imágenes)
Consola de juegos portátil ESP32: 21 pasos (con imágenes)

Video: Consola de juegos portátil ESP32: 21 pasos (con imágenes)

Video: Consola de juegos portátil ESP32: 21 pasos (con imágenes)
Video: CONSOLA CON 20.000 JUEGOS !! 2024, Mes de julio
Anonim
Image
Image
Preparación del hardware
Preparación del hardware

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

Preparación del hardware
Preparación del hardware
Preparación del hardware
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

Preparación del software
Preparación del software
Preparación del software
Preparación del software
Preparación del software
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

Impresión 3d
Impresión 3d

Descarga e imprime el estuche:

Paso 4: soporte LCD

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

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

Arreglar la placa de desarrollo ESP32
Arreglar 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

Arreglar la batería de Lipo
Arreglar la batería de 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

Conecte la batería y la placa de desarrollo
Conecte la batería y la placa de desarrollo

Paso 9: Prepare los pines de la pantalla

Prepare los pines de exhibición
Prepare los pines de exhibición

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

Conecte los pines GND
Conecte los pines GND
Conecte los pines GND
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

Conecte los pines Vcc
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

Conectar el soporte de LCD y placa de desarrollo
Conectar el soporte de LCD y 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

Conecte los pines SPI
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

Programa Flash
Programa Flash
Programa Flash
Programa Flash
Programa Flash
Programa Flash
Programa Flash
Programa Flash
  1. Descargue el código fuente en GitHub:
  2. En la carpeta del código fuente, ejecute "make menuconfig"
  3. Seleccione "Configuración específica de Nofrendo ESP32"
  4. Seleccione "Hardware para ejecutar" -> "Hardware personalizado"
  5. Seleccione "Tipo de LCD" -> "ST7789V LCD"
  6. Configuración de pin de relleno: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Retroiluminación -> -1, IPS -> Y
  7. Salir y guardar
  8. Ejecute "make -j5 flash"
  9. Ejecute "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

Paso 15: Conector I2C

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

Image
Image

Siga los pasos del video para doblar y apretar todas las partes en el estuche.

Paso 17: Prototipo de gamepad I2C

Prototipo I2C Gamepad
Prototipo I2C Gamepad
Mando prototipo I2C
Mando prototipo 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

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

Image
Image
Opcional: pines de salida de audio
Opcional: pines de salida de audio

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

Image
Image
Opcional: pines de salida de audio
Opcional: pines de salida 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?

¿Que sigue?
¿Que 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: