Tabla de contenido:

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

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

Video: Arduino Basic PC con salida de TV: 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, Junio
Anonim
Image
Image
PC básica Arduino con salida de TV
PC básica Arduino con salida de TV
PC básica Arduino con salida de TV
PC básica Arduino con salida de TV
PC básica Arduino con salida de TV
PC básica Arduino 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 texto de 47 columnas x 29 filas de caracteres de 8x8 píxeles (B / N), una resolución similar o mejor que el Commodore 64, igual a 40 x 25 caracteres.

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.

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 de video gracias a la impresionante biblioteca MRETV.

La idea de usar uno o más Arduino para crear una PC de estilo antiguo que ejecute un dialecto de Basic no es nueva, pero hasta ahora existen fuertes limitaciones en la resolución de salida. 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 tiene una resolución mucho menor. Además, en muchos de estos proyectos se deben construir escudos o hardware especiales.

Aquí solo necesita dos Arduino, un par de diodos, algunas resistencias y el conector para el teclado PS2 y el monitor, como se muestra en la imagen de arriba.

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

TinyBasic Plus y MRETV funcionan para personas mayores, y diferentes, Arduino IDE.

Primero descargue IDE 1.6.4 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.ino, descomprímalo y cárguelo en su Arduino.

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

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 = 2400

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;
  • por supuesto, también necesita conectar GND y + 5V.

Obtuve un conector hembra PS2 antiguo de una placa base de PC rota. Simplemente puede deshacerlo 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 MRETV en el segundo Arduino y junte todo

Cargue la biblioteca MRETV en el segundo Arduino y júntelo todo
Cargue la biblioteca MRETV en el segundo Arduino y júntelo todo

El punto clave de este proyecto es la existencia de la impresionante biblioteca MRETV. Hay un Instructable dedicado donde se describe en detalle.

Utiliza solo dos resistencias y dos diodos para generar video de pantalla completa, con una resolución de texto de 47 x 29 de 8x8 caracteres. Como dice en la introducción, "la generación de video se ha hecho antes, pero no así. El serial DÚPLEX COMPLETO todavía está disponible mientras se genera el video". Esto permite obtener los datos del Arduino "maestro" y mostrarlos en el monitor. En la práctica, este segundo Arduino "esclavo" se utiliza como interfaz gráfica.

Dado que MRETV funciona para IDE 1.6.6, descárguelo de la página web oficial de Arduino. Nuevamente, lo mejor es descargarlo en formato.zip y descomprimirlo en tu PC. Haga clic en este enlace para descargar la versión de Windows.

Descargue luego la biblioteca MRETV desde este enlace.

Descomprímalo y guarde la carpeta "MRETV" en: arduino-1.6.6 / libraries

Finalmente descargue TVtext_slave.rar en la parte inferior de esta página, descomprímalo y cárguelo en su esclavo Arduino.

Si no hay ningún mensaje de error, puede conectar el conector RCA. Necesita los dos diodos y las resistencias de 1 kOhm y 300 Ohm, como se muestra en el esquema de esta página.

En este punto, puede conectar todo junto.

La lista completa de materiales es:

  • dos Arduino Uno Rev.3 o dos Arduino Nano 3.x (ATmega328)
  • dos resistencias 1 kOhm
  • una resistencia de 300 ohmios
  • dos diodos 1n4148 (x2) o diodo de conmutación de silicio similar
  • dos conectores RCA hembra (uno para video, uno - facultativo - para audio)
  • un conector hembra PS2
  • una placa de pruebas y cables

El maestro Arduino envía los datos al esclavo a través del cable naranja, es decir, el pin maestro 1 (Tx) al pin esclavo 2 (Rx). Si necesita volver a cargar algún código, primero debe desconectar este cable.

Luego, conecte el arduino esclavo a una fuente de alimentación de 5 V, el cable RCA al televisor y el teclado a la PS2, ¡y ahora debería ver el código en su televisor!

Las funciones de este dialecto básico se describen en detalle en su página de inicio (ver enlace en el paso 2). Con los comandos "esave" y "eload" puede guardar un programa básico en la EEPROM. Este programa se ejecuta de forma predeterminada cada vez que reinicia el Arduino maestro. Para borrarlo puedes usar el comando "eformat".

Una de las características más importantes de este programa es que aún puede conducir la E / S Arduino maestra con comandos básicos dedicados, como

  • PIN DWRITE, valor: establezca el pin con un valor (HIGH, HI, LOW, LO)
  • Pin AWRITE, valor - pin de ajuste con valor analógico (pwm) 0..255
  • DREAD (pin) - obtiene el valor del pin
  • AREAD (analogPin): obtiene el valor del pin analógico

Por lo tanto, puede escribir un programa en Basic que maneje algún hardware, guardarlo en la EEPROM y luego ejecutarlo automáticamente simplemente reiniciando el Arduino.

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

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

Puede usar dos tiras de encabezado hembra con 15 orificios para la salida de video Arduino, mientras que para el maestro sugiero usar cuatro tiras. De esta forma puede utilizar los externos para insertar los contactos de los componentes de su proyecto.

También agregué en el centro las tiras sobrantes, una conectada a 5 V y la otra para GND.

Finalmente, en el archivo.rar, puede encontrar las máscaras para grabar un tablero de cobre.

Paso 5: Comentarios finales y agradecimientos

Este proyecto no podría haberse realizado sin la biblioteca MRETV. Por lo tanto, mi principal reconocimiento es para su autor, que utiliza el acrónimo Mr E.

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: es más fácil de construir de lo que parece a primera vista. Mis principales problemas han sido con las compatibilidades de Arduino IDE. Si tiene problemas, no dude en pedir sugerencias en los comentarios.

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

Recomendado: