Tabla de contenido:
- Paso 1: Lista de materiales
- Paso 2: Biblioteca y carga de bocetos
- Paso 3: Conexión de las piezas: el conector VGA
- Paso 4: Conexión de las piezas: los potenciómetros y el botón
- Paso 5: Conclusión y agradecimientos
Video: ESP8266 VGA Pong: 5 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
En este Instructables mostraré cómo construir una reproducción del clásico juego Pong para un monitor VGA, usando un ESP8266 y algunos otros componentes.
Este juego es posible gracias a la biblioteca EspVGAx publicada recientemente en GitHub por Sandro Maffiodo (también conocido como Smaffer) y, hasta donde yo sé, este es el primer juego que lo explota.
La biblioteca implementa una resolución de 512 x 480 píxeles, almacenada en un framebuffer dentro de la RAM, que requiere 30720 bytes. La resolución es enorme en comparación con las de Arduino TVout o VGAx (128 x 96 y 120 x 60 píxeles respectivamente). Espero que este juego inspire a otros programadores a desarrollar o reproducir juegos más complejos.
Paso 1: Lista de materiales
La biblioteca EspVGAx requiere un ESP8266 con todos los GPIO expuestos, como ESP-12E, placa NodeMCU-12E o cualquier placa que exponga GPIO5 (D1), GPIO4 (D2) y GPIO13 (D7)
En particular, utilicé:
- un ESP8266 NodeMCU-12E (enlace aquí)
- un conector DSUB15 (es decir, un conector hembra VGA)
- una resistencia de 330 ohmios
- otra resistencia (alrededor de 1 a 3 kOhmios)
- dos potenciómetros de 10 kOhmios
- un botón pulsador (n.o.)
- dos diodos (como 1N4007s)
- una placa de pruebas
- alambres
Conseguí el conector DSUB15 de una vieja placa de circuito impreso VGA. Alternativamente, también puede cortar un cable VGA viejo y conectar los cables directamente a la placa de pruebas.
Paso 2: Biblioteca y carga de bocetos
Hay diferentes métodos para programar y ESP8266; Usé el IDE de Arduino para escribir Pong y cargar el código.
Tenga en cuenta que la biblioteca EspVGAx funciona para Arduino IDE 1.8.1. Si tiene otras versiones, lo mejor es descargar los archivos.zip y descomprimirlos en una carpeta dedicada. La versión de Windows está aquí. Las versiones para otros sistemas operativos están aquí.
Después de eso, debe descargar la biblioteca EspVGAx de la página de GithHub aquí (enlace directo para la versión zip aquí) y descomprimirla en las bibliotecas de carpetas en el software Arduino.
NB Hay un pequeño error en el archivo espvgax_draw.h. Para corregirlo, simplemente reemplace la línea 17:
while (x0% 32) {con while (x0% 32 && sw> 32) {
Finalmente, puede descargar ESP8266_Pong.rar al final de este paso.
Una vez descomprimido, para cargarlo en su ESP8266, debe configurar el IDE de Arduino.
Si nunca lo ha hecho, puede encontrar todas las instrucciones necesarias en este Instructables, en particular en el Paso 2.
Una vez que todo esté configurado, los ajustes de ESP8266 deberían verse como los que se muestran en la imagen de arriba.
Si puede cargar el código sin errores, puede comenzar a ensamblar las piezas.
Paso 3: Conexión de las piezas: el conector VGA
Recomiendo conectar primero el puerto VGA, como se muestra en las imágenes de arriba. Tenga en cuenta que al conectar los tres pines rojo, verde y azul juntos (es decir, pines 1, 2 y 3 en el conector DSUB15), tendrá una imagen en blanco y negro en su pantalla. También puedes tener diferentes combinaciones de colores. Consulte los detalles en la página de la biblioteca de GitHub.
Además, debe conectar una resistencia de 330 ohmios entre los pines RGB y el D7 (GPIO13) en el ESP8266. Esto me dio una imagen un poco grisácea en mi monitor, por lo que, después de algunos intentos, decidí eliminarla del todo.
En este punto, si todo funciona correctamente, ya puedes conectar el monitor y ver la pantalla de inicio del juego, con el banner "ESP8266 VGAx Pong".
Paso 4: Conexión de las piezas: los potenciómetros y el botón
El botón debe estar conectado entre 3.3V y el pin D0 (GPIO16). Conecte también la resistencia de 1 a 3 kOhmios de D0 a tierra. Esto evita que D0 se encuentre en un estado indeterminado cuando el botón está abierto.
La conexión de los dos potenciómetros es menos trivial, de hecho, el ESP8266 solo tiene un puerto de entrada analógica A0 (ADC0). El truco consiste en conectar ambas salidas pot.s al mismo puerto y 'multiplexarlas'. Multiplexar simplemente significa que encenderá un potenciómetro, lo leerá, luego lo apagará y pasará al segundo.
Si desea obtener más información sobre este método, puede leer este Instructable.
Conecte un extremo del potenciómetro a GND, el otro extremo a D5 para el potenciómetro del jugador izquierdo y D6 para el del jugador derecho.
Cada pin central del potenciómetro debe conectarse a un diodo individual, y los otros lados de los diodos deben conectarse a A0 (ADC0), con la polaridad que se muestra en la imagen de arriba.
Paso 5: Conclusión y agradecimientos
Agradezco a Sandro Maffiodo - SMAFFER - la biblioteca ESPVGAX. Este juego no sería posible sin él.
Espero que este Instructable sirva de inspiración para que otros programadores realicen reproducciones de juegos arcade clásicos más complejos con el ESP8266, que tiene muchas menos limitaciones que el Arduino.
Finalmente, escribí este Instructable para enviarlo al Concurso de Juguetes: si te gusta o lo reproduces, ¡tómate un momento para votarlo!
Recomendado:
VGA / GPU externa para computadoras portátiles con EXP GDC Beast: 15 pasos (con imágenes)
VGA / GPU externa para portátiles con EXP GDC Beast: Hola chicos … Este es mi primer tutorial sobre instructables. El inglés no es mi primer idioma, así que perdonen mis errores gramaticales. Hice esto basándome en mi experiencia en la actualización de mi computadora portátil. Y no te aburriré con una larga presentación ya que no sé
Pong Tennis con matriz LED, Arduino y joysticks: 5 pasos (con imágenes)
Pong Tennis con LED Matrix, Arduino y Joysticks: este proyecto está destinado tanto a principiantes como a experimentados. En un nivel básico, se puede hacer con una placa de pruebas, cables de puente y pegarlos a un trozo de material de desecho (yo usé madera) con Blu-Tack y sin soldadura. Sin embargo, en un avance más
Arduino Basic PC con salida VGA: 5 pasos (con imágenes)
Arduino Basic PC con salida VGA: En mi Instructable anterior, he mostrado cómo construir una computadora retro de 8 bits que ejecute BASIC, por medio de dos Arduino, y con una señal de salida en B & W para una pantalla de TV. Ahora mostraré cómo construir la misma computadora, pero con la señal de salida en
Cómo desmontar una computadora con sencillos pasos e imágenes: 13 pasos (con imágenes)
Cómo desmontar una computadora con sencillos pasos e imágenes: esta es una instrucción sobre cómo desmontar una PC. La mayoría de los componentes básicos son modulares y se quitan fácilmente. Sin embargo, es importante que se organice al respecto. Esto ayudará a evitar que pierda piezas y también a que el reensamblaje sea más fácil
Pantalla LED de sombrero con Pong: 12 pasos (con imágenes)
Pantalla LED de sombrero con Pong: Hace un tiempo, como mi primer proyecto de microcontrolador, hice un juego de Pong en una pantalla LED de 5x7, pero luego no pasó nada. Recientemente me dieron un casco como parte de un uniforme (para una competencia de ingeniería) y me dijeron que lo personalizara, y recordé