Taula de continguts:

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

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

Vídeo: PC bàsic Arduino amb sortida VGA: 5 passos (amb imatges)
Vídeo: How to Build Sim Racing Cockpit Works with Any Game/Console 2024, Desembre
Anonim
Image
Image
PC bàsic Arduino amb sortida VGA
PC bàsic Arduino amb sortida VGA
PC bàsic Arduino amb sortida VGA
PC bàsic Arduino amb sortida VGA

Al meu anterior Instructable he mostrat com construir un ordinador retro de 8 bits amb BASIC, mitjançant dos Arduino, i amb un senyal de sortida en blanc i negre per a una pantalla de TV.

Ara mostraré com construir el mateix ordinador, però amb el senyal de sortida en color per a un monitor VGA.

Podeu introduir les variables i el programa BASIC amb un teclat PS2 i genera la sortida per a un monitor VGA amb una resolució de text de 24 columnes x 10 files de caràcters de 5x6 píxels, en quatre colors. 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.

Aquest projecte també es pot utilitzar per imprimir missatges de text senzills al monitor, tal com es mostra a la tercera imatge d'aquesta pàgina.

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 VGA gràcies a la biblioteca VGAx.

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ò, pel que sé, cap d’ells té sortida de color. 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 és B&W. A més, en molts d'aquests projectes s'ha de construir blindatges especials o maquinari. Aquí només necessiteu dos Arduino, poques resistències i el connector per al teclat PS2 i el monitor, tal com es mostra a les imatges anteriors.

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

TinyBasic Plus i la biblioteca VGAx funcionen per Arduino IDE 1.6.4.

Primer descarregueu-lo 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_VGAx.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 les variables.

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ó = 4800

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;
  • també heu de connectar GND i + 5V.

Tinc un antic connector femella PS2 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 i el codi VGAx al segon Arduino i col·loqueu-ho tot

Pengeu la biblioteca i el codi VGAx al segon Arduino i poseu-ho tot junt
Pengeu la biblioteca i el codi VGAx al segon Arduino i poseu-ho tot junt

Primer descarregueu el codi VGAx-PC.ino a la part inferior d’aquesta pàgina i copieu-lo al vostre PC en un directori amb el mateix nom.

Baixeu-vos la biblioteca VGAx des d’aquest enllaç a GitHub. La forma més senzilla és copiar-la a la subcarpeta del programari Arduino anomenada "biblioteques", per reconèixer-la immediatament.

IMPORTANT: aquesta biblioteca funciona per a Arduno IDE 1.6.4, però no és totalment compatible amb versions anteriors o anteriors.

Pengeu el VGAx-PC.ino a la vostra segona placa Arduino (l'he provat per a la versió Nano, però l'Uno també hauria de funcionar).

És normal un advertiment sobre la memòria disponible. Si no teniu altres errors, tot està bé i immediatament podeu començar a construir el vostre propi PC de 8 bits.

Per a això, necessiteu:

  • dos Arduino Uno Rev. 3 o dos Arduino Nano 3.x (ATmega328)
  • un connector DSUB15, és a dir, un connector femella VGA o un cable VGA per tallar.
  • resistències: 2 x 68 Ohm i 2 x 470 Ohm
  • un connector femella PS2
  • cables
  • facultatiu: una pissarra o una pissarra

L'esquema s'informa a la part superior d'aquest pas. Al pas introductori es mostra un exemple de “consola” acabada.

El mateix esquema, amb una resolució més alta, s'informa en un fitxer comprimit a la part inferior d'aquest pas.

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
Opcional: utilitzar un PCB
Opcional: utilitzar un PCB

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

Vaig utilitzar dues tires de capçalera femenines amb 15 forats per a la sortida de vídeo Arduino, mentre que per al mestre vaig utilitzar dues tires amb forats dobles. D'aquesta manera puc utilitzar els externs per inserir els contactes d'altres components de projectes, que es poden impulsar directament amb el codi bàsic. També vaig afegir al centre les tires sobrants, una connectada a 5 V i l’altra per GND.

Pas 5: comentaris finals i agraïments

El meu principal reconeixement va a Sandro Maffiodo, també conegut com Smaffer, el creador de la fantàstica biblioteca VGAx.

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.

A totes les persones interessades en aquest projecte: 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: