Taula de continguts:

PC bàsic Arduino amb sortida de TV: 5 passos (amb imatges)
PC bàsic Arduino amb sortida de TV: 5 passos (amb imatges)

Vídeo: PC bàsic Arduino amb sortida de TV: 5 passos (amb imatges)

Vídeo: PC bàsic Arduino amb sortida de TV: 5 passos (amb imatges)
Vídeo: Беслан. Помни / Beslan. Remember (english & español subs) 2024, Juny
Anonim
Image
Image
PC bàsic Arduino amb sortida de TV
PC bàsic Arduino amb sortida de TV
PC bàsic Arduino amb sortida de TV
PC bàsic Arduino amb sortida de TV
PC bàsic Arduino amb sortida de TV
PC bàsic Arduino amb sortida de TV

En aquest Instructables mostraré com construir un ordinador retro de 8 bits amb BASIC, mitjançant dos Arduino i pocs components més.

Podeu introduir les variables i el programa BASIC amb un teclat PS2, i la sortida es mostra en un monitor amb un text de 47 columnes x 29 files de caràcters de 8x8 píxels (blanc i negre), una resolució similar o millor que el Commodore 64, igual a 40 x 25 caràcters.

El podeu veure en acció al vídeo superior.

El programa es pot desar a l'Arduino EEPROM i encara podeu controlar els pins d'E / S directament mitjançant ordres dedicades bàsiques.

Un Arduino és el "mestre" i executa Tiny Basic Plus, una implementació C de Tiny Basic, amb un enfocament en el suport per a Arduino. També controla un teclat PS2. La sortida s’envia a través del port sèrie al segon Arduino, que genera la sortida de vídeo gràcies a l’impressionant biblioteca MRETV.

La idea d’utilitzar un o més Arduino per crear un PC d’estil antic que executi un dialecte de Basic no és nova, però fins ara hi ha algunes fortes limitacions en la resolució de sortida. En alguns projectes disponibles a la xarxa, la gent utilitzava pantalles LCD, mentre que en d'altres, per permetre l'ús de monitors, s'ha utilitzat la biblioteca TVout, que té una resolució molt inferior. A més, en molts d'aquests projectes s'ha de construir blindatges especials o maquinari.

Aquí només necessiteu dos Arduino, un parell de díodes, poques resistències i el connector per al teclat PS2 i el monitor, com es mostra a la imatge anterior.

Pas 1: creeu el mestre Arduino amb el teclat TinyBasic i PS2

TinyBasic Plus i MRETV funcionen per a IDE Arduino més vells i diferents.

Primer descarregueu l’IDE 1.6.4 des de la pàgina web oficial d’Arduino. Si teniu versions més noves al vostre PC, el millor és descarregar-les en format.zip i descomprimir-les al vostre PC. Feu clic en aquest enllaç per descarregar la versió de Windows.

Aleshores necessiteu la biblioteca del teclat PS2. El podeu trobar a la part inferior d’aquesta pàgina. Simplement descomprimiu-lo i copieu la carpeta del teclat PS2 a: arduino-1.6.4 / libraries

Finalment, en aquesta pàgina, descarregueu el fitxer: TinyBasicPlus_PS2.ino, descomprimiu-lo i pengeu-lo al vostre Arduino.

Aquesta és una variació de l'estàndard TinyBasic Plus, on he afegit la biblioteca PS2 i he modificat el codi per acceptar-ne la versió.

Podeu trobar més detalls sobre TiniBasic Plus i tutorials en aquest enllaç.

Si no hi ha problemes i problemes de compatibilitat, Tiny Basic ja està en execució. Podeu provar-lo mitjançant un monitor sèrie al vostre PC. Amb aquest propòsit faig servir PuTTY, però hi ha molts altres programes disponibles.

Heu d’establir el port COM correcte (és el mateix que trobeu a l’IDE Arduino) i la velocitat de transmissió = 2400

Aquí ja podeu provar algun programa a Basic només escrivint-los amb el teclat del vostre PC (NB més endavant mostraré com connectar el teclat PS2 directament a l'Arduino).

Proveu per exemple:

10 IMPRIMIR "Hola, món!"

20 GOTO 10

CORRER

A continuació, podeu aturar el bucle infinit només escrivint ctrl + c. Tingueu en compte que aquesta combinació no funcionarà per al teclat PS2.

Al següent pas mostraré com connectar el teclat PS2 a Arduino.

Pas 2: connecteu el teclat PS2 al Master Arduino

Connecteu el teclat PS2 al Master Arduino
Connecteu el teclat PS2 al Master Arduino

Tinc tota la informació i la biblioteca d’aquest instructable.

Essencialment, heu de connectar els següents quatre pins:

  • teclat Dades al pin 8 d'Arduino,
  • teclat IRQ (rellotge) al pin 3 d'Arduino;
  • per descomptat, també heu de connectar GND i + 5V.

Tinc un connector femella PS2 vell d’una placa base de PC trencada, simplement es pot vendre amb una pistola de calor.

A la imatge que es mostra en aquest pas, podeu trobar la funció dels pins necessaris del connector PS2.

Pas 3: pengeu la biblioteca MRETV al segon Arduino i poseu-ho tot junt

Pengeu la biblioteca MRETV al segon Arduino i poseu-ho tot junt
Pengeu la biblioteca MRETV al segon Arduino i poseu-ho tot junt

El punt clau d’aquest projecte és l’existència de l’impressionant biblioteca MRETV. Hi ha una instrucció dedicada on es descriu amb detalls.

Utilitza només dues resistències i dos díodes per generar vídeo a pantalla completa, amb una resolució de text de 47 x 29 de 8x8 caràcters. Com es diu a la introducció, "la generació de vídeo s'havia fet abans, però no així. La sèrie DUPLEX COMPLET encara està disponible mentre es genera el vídeo". Això permet obtenir les dades del "mestre" Arduino i mostrar-les al monitor. A la pràctica, aquest segon Arduino "esclau" s'utilitza com a interfície gràfica.

Com que MRETV funciona per a IDE 1.6.6, descarregueu-lo des de la pàgina web oficial d'Arduino. De nou, el millor és descarregar-lo en format.zip i descomprimir-los al vostre PC. Feu clic en aquest enllaç per descarregar la versió de Windows.

Baixeu-vos la biblioteca MRETV des d’aquest enllaç.

Descomprimiu-lo i deseu la carpeta "MRETV" a: arduino-1.6.6 / libraries

Finalment, descarregueu TVtext_slave.rar a la part inferior d'aquesta pàgina, descomprimiu-lo i pengeu-lo al vostre esclau Arduino.

Si no hi ha cap missatge d'error, podeu connectar el connector RCA. Necessiteu els dos díodes i les resistències d'1 kOhm i 300 Ohm, tal com es mostra a l'esquema d'aquesta pàgina.

En aquest moment, podeu connectar-ho tot.

La llista completa de materials és:

  • dos Arduino Uno Rev. 3 o dos Arduino Nano 3.x (ATmega328)
  • dues resistències d'1 kOhm
  • una resistència de 300 Ohm
  • dos díodes 1n4148 (x2) o un díode de commutació de silici similar
  • dos endolls RCA femella (un per a vídeo, un per a facultat - per a àudio)
  • un connector femella PS2
  • una taula de tall i cables

El mestre Arduino envia les dades a l’esclau mitjançant el cable taronja, és a dir, el pin mestre 1 (Tx) al pin esclau 2 (Rx). Si heu de tornar a penjar algun codi, primer heu de desconnectar aquest cable.

Connecteu llavors l’arduino esclau a una font d’alimentació de 5 V, el cable RCA al televisor i el teclat a la PS2, i ara hauríeu de veure el codi al vostre televisor.

Les funcions d’aquest dialecte bàsic es descriuen amb detalls a la seva pàgina principal (vegeu l’enllaç del pas 2). Amb les ordres "esave" i "eload" podeu desar un programa bàsic a l'EEPROM. Aquest programa s’executa de manera predeterminada cada vegada que reinicieu l’Arduino mestre. Per esborrar-lo podeu utilitzar l'ordre "eformat".

Una de les funcions més importants d’aquest programa és que encara podeu conduir la E / S principal Arduino amb ordres bàsiques dedicades, com ara

  • Pin DWRITE, pin de valor establert amb un valor (HIGH, HI, LOW, LO)
  • PIN AWRITE, pin de valor establert amb valor analògic (pwm) 0..255
  • DREAD (pin): obteniu el valor del pin
  • AREAD (analogPin): obteniu el valor del pin analògic

Així, podeu escriure un programa a Basic que condueixi algun maquinari, desar-lo a l'EEPROM i executar-lo automàticament només restablint l'Arduino.

Pas 4: Opcional: utilitzar un PCB

Opcional: utilitzar un PCB
Opcional: utilitzar un PCB
Opcional: utilitzar un PCB
Opcional: utilitzar un PCB
Opcional: utilitzar un PCB
Opcional: utilitzar un PCB

També podeu construir aquest PC bàsic mitjançant un petit PCB. Podeu inspirar-vos en les imatges d’aquest pas o fins i tot podeu imprimir el tauler.

Podeu utilitzar dues tires de capçalera femenines amb 15 forats per a la sortida de vídeo Arduino, mentre que per al mestre us proposo utilitzar quatre tires. D'aquesta manera podeu utilitzar els externs per inserir els contactes dels components del vostre projecte.

També vaig afegir al centre les tires sobrants, una connectada a 5 V i l’altra per GND.

Finalment, al fitxer.rar, podeu trobar les màscares per gravar una placa de coure.

Pas 5: comentaris finals i agraïments

Aquest projecte no s’hauria pogut fer sense la biblioteca MRETV. Per tant, el meu principal reconeixement va a parar al seu autor, que utilitza l'acrònim Mr E.

Moltes gràcies també als autors de TinyBasic Plus:

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

Gràcies també a "djsadeepa", l'autor de l'Instruible per a la connexió del teclat PS2.

Per a totes les persones interessades en aquest projecte: és més fàcil construir que pugui semblar a primera vista. Els meus principals problemes han estat amb les compatibilitats IDE d'Arduino. Si teniu problemes, no dubteu a demanar suggeriments als comentaris.

Si teniu èxit, també escriviu un comentari o compartiu una imatge del dispositiu que creeu.

Recomanat: