Tabla de contenido:

PC básica ESP32 con salida VGA: 7 pasos
PC básica ESP32 con salida VGA: 7 pasos

Video: PC básica ESP32 con salida VGA: 7 pasos

Video: PC básica ESP32 con salida VGA: 7 pasos
Video: ✅ ESP32 es el mejor? Por Qué yo no lo uso? 2024, Mes de julio
Anonim
Image
Image
Placas ESP32, instalación de Arduino IDE y configuración de biblioteca VGA
Placas ESP32, instalación de Arduino IDE y configuración de biblioteca VGA

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

Placas ESP32, instalación de Arduino IDE y configuración de biblioteca VGA
Placas ESP32, instalación de Arduino IDE y configuración de biblioteca VGA
Placas ESP32, instalación de Arduino IDE y configuración de biblioteca VGA
Placas ESP32, instalación de Arduino IDE y configuración de 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:

  1. Instale el último IDE de Arduino
  2. Configure el ESP32 en el IDE y
  3. 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

Carga de código básico minúsculo en el ESP32
Carga de código básico minúsculo en el ESP32
Carga de código básico minúsculo en el ESP32
Carga de código básico minúsculo 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

Conexión del puerto VGA
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

Conexión del puerto PS2
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

Programación con Tiny Basic
Programación con Tiny Basic
Programación con Tiny Basic
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

Conexión de una tarjeta de memoria SD
Conexión de una tarjeta de memoria SD
Conexión de una tarjeta de memoria SD
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

Expresiones de gratitud
Expresiones de gratitud

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: