Tabla de contenido:
- Paso 1: placas ESP32, instalación de Arduino IDE y configuración de la biblioteca VGA
- Paso 2: carga de un pequeño código básico en el ESP32
- Paso 3: Conexión del puerto VGA
- Paso 4: Conexión del puerto PS2
- Paso 5: Programación con Tiny Basic
- Paso 6: Conexión de una tarjeta de memoria SD
- Paso 7: Agradecimientos
Video: PC básica ESP32 con salida VGA: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
En este Instructable, voy a mostrar cómo construir una PC de estilo retro simple hecha con un solo ESP32 y algunos otros componentes.
Esta PC ejecuta Tiny Basic, un dialecto simplificado de BASIC, y genera la salida para un monitor VGA.
La resolución es de 640x350 píxeles, lo que permite 80x25 caracteres asci en 8 colores. Se pueden conectar teclados PS2 y usarlos para escribir el código, lo que permite hasta 14059 bytes de memoria.
Los pines de E / S del ESP32 se pueden controlar directamente mediante comandos BASIC dedicados.
Este proyecto es posible gracias a la impresionante biblioteca ESP32 VGA escrita por Fabrizio Di Vittorio. Consulte aquí para obtener más detalles.
Paso 1: placas ESP32, instalación de Arduino IDE y configuración de la biblioteca VGA
En primer lugar, debe comprar un ESP32 revisión 1 o superior. Hay muchas versiones disponibles, pero recomiendo elegir una con muchos pines. Estoy usando esta versión, pero creo que muchas otras también están bien. Por ejemplo, en la descripción de este video, puede encontrar otros tres modelos que están por debajo de 5 dólares.
Una vez que obtenga la placa, debe continuar con los siguientes tres subpasos:
- Instale el último IDE de Arduino
- Configure el ESP32 en el IDE y
- Instale la biblioteca VGA
Subpaso 1.
Hay diferentes métodos para programar el ESP32, pero aquí debe usar el último IDE de Arduino (estoy usando la versión 1.8.9). Para instalarlo, puede ir a la página IDE de Arduino y seguir las instrucciones.
Subpaso 2
Una vez que se realiza la operación anterior, debe configurar su ESP32 dentro del IDE de Arduino. Esto no es trivial, ya que el ESP32 no es (¿todavía?) Nativo en él. Puede seguir este tutorial o los siguientes pasos.
1) abre el IDE de Arduino
2) abra la ventana de preferencias, Archivo / Preferencia, alternativamente presione "Ctrl + coma"
3) vaya a las "URL adicionales del administrador del tablero", copie y pegue el siguiente texto:
https://dl.espressif.com/dl/package_esp32_index.json
y haga clic en el botón Aceptar.
4) Administrador de tableros abiertos. Vaya a Herramientas / Tablero / Administrador de tableros…
5) Busque ESP32 y presione el botón de instalación para "ESP32 by Espressif Systems":
6) En este punto, cuando conecte por primera vez su ESP32, debe elegir el modelo correcto en la larga lista de placas ESP32 disponibles (vea la imagen en este paso). En caso de dudas sobre el modelo, simplemente elija el genérico, es decir, el primero. Esto funciona para mi.
7) el sistema también debe elegir el puerto USB correcto y la velocidad de carga (normalmente 921600). En este punto, debe establecerse la conexión entre su PC y la placa ESP32.
Subpaso 3
Finalmente, debe instalar la biblioteca FabGL VGA. [actualización de julio de 2019] Necesita una versión anterior de esta biblioteca: puede descargar el archivo zip src.old.zip al final de este paso, descomprimir y renombrar la carpeta como "src" en su
Carpeta "… / arduino-1.8.9 / libraries".
Una vez que haya realizado estas operaciones, puede ir al siguiente paso y cargar el TinyBasic modificado siguiendo el siguiente paso.
Paso 2: carga de un pequeño código básico en el ESP32
Descargue ESP32_TinyBasicPlus_PS2_FabLab_beta.ino al final de este paso.
Ábralo con el IDE de Arduino y cárguelo en su ESP32 sin procesar.
Si no tiene mensajes de error, el código ya debería estar ejecutándose.
Paso facultativo: si quieres probar TinyBasic antes de conectar el teclado VGA y PS2, ya puedes hacerlo con un cliente SSH y telnet. Yo uso PuTTY.
Puede ver cómo se ve en las imágenes en este paso.
Paso 3: Conexión del puerto VGA
Necesita las siguientes piezas:
- un conector DSUB15, es decir, un conector VGA hembra o un cable VGA a cortar.
- tres resistencias de 270 ohmios.
Conecte los pines 2, 15 y 21 de GPIO ESP32 a VGA Red, Green y Blue respectivamente, a través de las resistencias de 270 Ohm.
Conecte el VGA Hsync y Vsync a los pines 17 y 4 de ESP32 GPIO respectivamente.
Conecte los pines 5, 6, 7, 8 y 10 de los conectores DSUB15 al ESP32 GND.
Para la definición de clavijas del conector VGA DSUB15, consulte la imagen de este paso. NB, este es el lado de soldadura del conector hembra.
Paso 4: Conexión del puerto PS2
Necesita un conector hembra de teclado PS2.
Puede obtener uno de una placa base de PC vieja, simplemente deshágalo de la venta con una pistola de calor. En la imagen que se muestra en este paso, puede encontrar la función de los pines necesarios del conector PS2.
Las conexiones son:
- Datos del teclado a ESP32 GPIO pin 32
- IRQ del teclado (reloj) a ESP32 GPIO pin 33
- También necesita conectar el pin de 5V y el de GND.
Paso 5: Programación con Tiny Basic
En este punto, si puede conectar el monitor VGA y el teclado PS2 y el ESP32 a la fuente de alimentación.
La imagen que se muestra aquí debería aparecer en el monitor. Ahora puedes jugar un poco con los comandos de Tiny Basic.
Pruebe, por ejemplo, el obligatorio Hello, Word! Bucle infinito:
10 imprimir "¡Hola, mundo!"
20 ir a 10
correr
Puede cambiar en cuatro colores diferentes presionando el botón esc y detener el bucle con ctrl + c
Tenga en cuenta que si comete un error tipográfico, ¡no podrá cancelarlo! O mejor, puede cancelar pero luego no se reconoce la corrección del error tipográfico. Necesita reescribir toda la línea de comandos.
Ahora puede probar algo más complejo, como controlar el parpadeo de un LED con un programa básico. Conecte, por ejemplo, el ánodo LED (la pata larga) al pin 13 de ESP32 GPIO y el cátodo a GND.
A continuación, escribir:
nuevo
10 i = 1000
20 imprimir i
30 retraso i
40 dwrite 13, alto
50 retraso i
60 dwrite 13, bajo
70 yo = yo * 9/10
80 si i> 0 goto 20
90 final
correr
Puede ver el resultado en el video incrustado en este Instructable.
Paso 6: Conexión de una tarjeta de memoria SD
Una PC antigua, por pequeña y débil que sea, no puede estar completa si no puede almacenar sus programas de forma permanente.
En este paso, mostraré cómo conectar una tarjeta de memoria SD, pero desafortunadamente, por el momento (espero solo por el momento), ¡el almacenamiento de programas no funciona!
Por cierto, utilicé un adaptador de tarjeta microSD a SD y soldé 8 pines en forma de L como se muestra en la imagen de este paso.
Luego conecté los pines del adaptador SD al ESP32 de acuerdo con la segunda imagen, es decir, conecté los pines 5, 18, 19, 23 de GPIO del ESP32 a SC, reloj, MISO, MOSO respectivamente, más 3.3V y dos GND.
También seguí las instrucciones y ejemplos que se encuentran aquí, y con el código de ejemplo SD_test.ino, puedo escribir en mi tarjeta microSD de 2 GBytes.
Por lo tanto, si alguien encuentra una solución, infórmeme lo antes posible a mi correo electrónico [email protected] y completaré este Instructable.
Paso 7: Agradecimientos
Deseo expresar mis tanques a Fabrizio Di Vittorio por su increíble biblioteca ESP32 VGA. Para obtener más detalles, ejemplos y… Space Invaders, visite su sitio aquí.
muchas gracias también a los autores de Tiny Basic:
- Mike Field
- Scott Lawrence
- Brian O'Dell
Por último, si te gusta este proyecto, escribe un comentario o comparte una imagen del dispositivo que construyes… y, sobre todo, ¡vota por él en el concurso Arduino!
Recomendado:
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
PropVario, un variómetro / altímetro de bricolaje con salida de voz para planeadores RC: 7 pasos (con imágenes)
PropVario, un variómetro / altímetro de bricolaje con salida de voz para planeadores RC: este instructivo le mostrará cómo construir un Vario económico, que podría hablar la altitud y, por supuesto, enviar varios tonos al cambiar la altura de su planeador. Algunas características: - voz y tono - use sus propias muestras (de onda) en su la
Arduino Basic PC con salida de TV: 5 pasos (con imágenes)
Arduino Basic PC con salida de TV: En este Instructables, mostraré cómo construir una computadora retro de 8 bits que ejecute BASIC, por medio de dos Arduino y algunos otros componentes. Puede ingresar las variables y el programa BASIC con un teclado PS2, y la salida se muestra en un monitor con un
Controle hasta 4 servos con un teléfono inteligente o cualquier dispositivo con salida de audio: 3 pasos
Controle hasta 4 servos usando un teléfono inteligente o cualquier dispositivo con salida de audio: ¡Aquí les presento un sencillo montaje electrónico para controlar hasta cuatro servos con cualquier dispositivo capaz de leer un archivo de audio
Plantillas integrales de varios colores con salida variable: 12 pasos (con imágenes)
Plantillas multicolores integrales con salida variable: la creación de plantillas realistas en colores multicapa no es tan fácil y rápido. Claro, puede poner uno en una hora, pero se necesita tiempo y práctica para poder repetir el proceso y saber cómo modificarlo para cada plantilla diferente. En este instructable, yo w