Tabla de contenido:

Arduino Basic PC con salida VGA: 5 pasos (con imágenes)
Arduino Basic PC con salida VGA: 5 pasos (con imágenes)

Video: Arduino Basic PC con salida VGA: 5 pasos (con imágenes)

Video: Arduino Basic PC con salida VGA: 5 pasos (con imágenes)
Video: Arduino desde cero en Español - Capítulo 2 - Primer programa e Instalación del IDE de Arduino 2024, Mes de julio
Anonim
Image
Image
Arduino Basic PC con salida VGA
Arduino Basic PC con salida VGA
Arduino Basic PC con salida VGA
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 blanco y negro para una pantalla de TV.

¡Ahora mostraré cómo construir la misma computadora, pero con la señal de salida en color para un monitor VGA!

Puede ingresar las variables y el programa BASIC con un teclado PS2, y genera la salida para un monitor VGA con una resolución de texto de 24 columnas x 10 filas de caracteres de 5x6 píxeles, en cuatro colores. Puedes verlo en acción en el video superior. Luego, el programa se puede guardar en la EEPROM de Arduino, y aún puede controlar los pines de E / S directamente a través de comandos dedicados básicos.

Este proyecto también se puede utilizar para imprimir mensajes de texto simples en el monitor, como se muestra en la tercera imagen de esta página.

Un Arduino es el "maestro" y ejecuta Tiny Basic Plus, una implementación en C de Tiny Basic, con un enfoque en el soporte para Arduino. También controla un teclado PS2. Luego, la salida se envía a través del puerto serie al segundo Arduino que genera la salida VGA gracias a la biblioteca VGAx.

La idea de usar uno o más Arduino para crear una PC de estilo antiguo con un dialecto de Basic no es nueva pero, hasta donde yo sé, ninguno de ellos tiene salida de color. En algunos proyectos disponibles en la red, la gente utilizó pantallas LCD, mientras que en otros, para permitir el uso de monitores, se ha utilizado la biblioteca TVout, que es B&W. Además, en muchos de estos proyectos se deben construir escudos o hardware especiales. Aquí solo necesita dos Arduino, algunas resistencias y el conector para el teclado PS2 y el monitor, como se muestra en las imágenes de arriba.

Paso 1: construye el Arduino Master con TinyBasic y el teclado PS2

TinyBasic Plus y la biblioteca VGAx funcionan para Arduino IDE 1.6.4.

Primero descárguelo de la página web oficial de Arduino. Si tiene una versión más reciente en su PC, lo mejor es descargarla en formato.zip y descomprimirla en su PC. Haga clic en este enlace para descargar la versión de Windows.

Entonces necesitas la biblioteca de teclados de PS2. Puede encontrarlo al final de esta página. Simplemente descomprímalo y copie la carpeta PS2keyboard en: arduino-1.6.4 / libraries

Finalmente, en esta página, descargue el archivo: TinyBasicPlus_PS2_VGAx.ino, descomprímalo y cárguelo en su Arduino.

Esta es una variación del TinyBasic Plus estándar donde agregué la biblioteca PS2 y modifiqué el código para aceptar las variables de la misma.

Puede encontrar más detalles sobre TiniBasic Plus y tutoriales en este enlace.

Si no hay problemas y problemas de compatibilidad, Tiny Basic ya se está ejecutando. Puede probarlo a través de un monitor en serie en su PC. Para este propósito utilizo PuTTY, pero hay muchos otros programas disponibles.

Debe configurar el puerto COM correcto (es el mismo que encuentra en el IDE de Arduino) y la velocidad en baudios = 4800

Aquí ya puede probar algunos programas en Basic simplemente escribiéndolos con el teclado de su PC (NB más adelante mostraré cómo conectar el teclado PS2 directamente al Arduino).

Pruebe, por ejemplo:

10 IMPRIMIR "¡Hola, mundo!"

20 GOTO 10

CORRER

A continuación, puede detener el bucle infinito simplemente escribiendo ctrl + c.

Tenga en cuenta que esta combinación no funcionará para el teclado de PS2.

En el siguiente paso, mostraré cómo conectar el teclado PS2 a Arduino.

Paso 2: conecta el teclado PS2 al maestro Arduino

Conecte el teclado PS2 al Master Arduino
Conecte el teclado PS2 al Master Arduino

Obtuve toda la información y la biblioteca de este Instructable.

Esencialmente necesita conectar los siguientes cuatro pines:

  • Datos del teclado al pin 8 de Arduino,
  • IRQ del teclado (reloj) al pin 3 de Arduino;
  • también necesita conectar GND y + 5V.

Tengo un conector hembra PS2 antiguo de una placa base de PC rota. Simplemente puede deshacerse de él 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.

Paso 3: cargue la biblioteca y el código VGAx en el segundo Arduino y junte todo

Cargue la biblioteca y el código VGAx en el segundo Arduino y junte todo
Cargue la biblioteca y el código VGAx en el segundo Arduino y junte todo

Primero descargue el código VGAx-PC.ino en la parte inferior de esta página y cópielo en su PC en un directorio con el mismo nombre.

Descargue la biblioteca VGAx desde este enlace en GitHub. La forma más sencilla es copiarlo en la subcarpeta del software Arduino llamada "bibliotecas", para que se reconozca de inmediato.

IMPORTANTE: esta biblioteca funciona para Arduno IDE 1.6.4 pero no es totalmente compatible con versiones anteriores o más recientes.

Cargue el VGAx-PC.ino en su segunda placa Arduino (lo probé para la versión Nano, pero el Uno también debería funcionar).

Una advertencia de poca memoria disponible es normal. Si no tiene otros errores, todo está bien y puede comenzar inmediatamente a construir su propia PC de 8 bits.

Para esto necesitas:

  • dos Arduino Uno Rev.3 o dos Arduino Nano 3.x (ATmega328)
  • un conector DSUB15, es decir, un conector VGA hembra o un cable VGA a cortar.
  • resistencias: 2 x 68 Ohm y 2 x 470 Ohm
  • un conector hembra PS2
  • alambres
  • facultativo: una placa de pruebas o una placa de tiras

El esquema se muestra en la parte superior de este paso. En el paso introductorio se muestra un ejemplo de una "consola" terminada.

El mismo esquema, con una resolución más alta, se informa en un archivo comprimido al final de este paso.

Paso 4: Opcional: uso de una PCB

Opcional: usar una placa de circuito impreso
Opcional: usar una placa de circuito impreso
Opcional: usar una placa de circuito impreso
Opcional: usar una placa de circuito impreso
Opcional: usar una placa de circuito impreso
Opcional: usar una placa de circuito impreso
Opcional: usar una placa de circuito impreso
Opcional: usar una placa de circuito impreso

También puede construir esta PC VGA básica usando una pequeña placa de circuito impreso. Puede inspirarse en las imágenes de este paso o incluso puede imprimir su propia pizarra.

Usé dos tiras de cabezal hembra con 15 orificios para la salida de video Arduino, mientras que para el maestro usé dos tiras con doble orificio. De esta manera puedo usar los externos para insertar los contactos de otros componentes del proyecto, que se pueden manejar directamente con código básico. También agregué en el centro las tiras sobrantes, una conectada a 5 V y la otra para GND.

Paso 5: Comentarios finales y agradecimientos

Mi principal reconocimiento es para Sandro Maffiodo, también conocido como Smaffer, el creador de la impresionante biblioteca VGAx.

Muchas gracias también a los autores de TinyBasic Plus:

  • Tiny Basic 68k - Gordon Brandly
  • Arduino Basic / Tiny Basic C - Michael Field
  • Tiny Basic Plus - Scott Lawrence

Gracias también a "djsadeepa", el autor del Instructable por la conexión del teclado PS2.

A todas las personas interesadas en este proyecto: si tienen problemas, no duden en pedir sugerencias en los comentarios.

Si tiene éxito, escriba un comentario también o comparta una imagen del dispositivo que construyó.

Recomendado: