Sisällysluettelo:

Arduino Basic PC VGA -ulostulolla: 5 vaihetta (kuvilla)
Arduino Basic PC VGA -ulostulolla: 5 vaihetta (kuvilla)

Video: Arduino Basic PC VGA -ulostulolla: 5 vaihetta (kuvilla)

Video: Arduino Basic PC VGA -ulostulolla: 5 vaihetta (kuvilla)
Video: Arduino VGA PC running BASIC 2024, Heinäkuu
Anonim
Image
Image
Arduino Basic PC VGA -ulostulolla
Arduino Basic PC VGA -ulostulolla
Arduino Basic PC VGA -ulostulolla
Arduino Basic PC VGA -ulostulolla

Edellisessä Instructable-ohjelmassa olen näyttänyt kuinka rakentaa retro-8-bittinen tietokone, jossa on BASIC, kahden Arduinon avulla ja jossa on television mustavalkoinen lähtösignaali.

Nyt näytän kuinka rakentaa sama tietokone, mutta värillisellä lähtösignaalilla VGA -näytölle!

Voit syöttää muuttujat ja BASIC -ohjelman PS2 -näppäimistöllä, ja se tuottaa lähdön VGA -näytölle, jonka tekstitarkkuus on 24 saraketta x 10 riviä 5x6 pikselin merkkejä, neljässä värissä. Näet sen toiminnassa ylemmällä videolla. Ohjelma voidaan sitten tallentaa Arduino EEPROM -laitteeseen, ja voit silti ohjata I/O -nastoja suoraan perusominaisuuksilla.

Tätä projektia voidaan käyttää myös tulostamaan yksinkertaisia tekstiviestejä näytölle, kuten tämän sivun kolmannessa kuvassa näkyy.

Yksi Arduino on "päällikkö", ja se käyttää Tiny Basic Plus -ratkaisua, Tiny Basicin C -toteutusta, keskittyen Arduinon tukemiseen. Se ohjaa myös PS2 -näppäimistöä. Lähtö lähetetään sitten sarjaportin kautta toiseen Arduinoon, joka tuottaa VGA -lähdön VGAx -kirjaston ansiosta.

Ajatus käyttää yhtä tai useampaa Arduinoa luodakseen vanhan tyylin tietokoneen, joka käyttää Basicin murtoa, ei ole uusi, mutta tietääkseni yhdelläkään niistä ei ole väritulostusta. Joissakin verkossa saatavilla olevissa projekteissa ihmiset käyttivät LCD -näyttöjä, kun taas toisissa, jotta monitorien käyttö olisi sallittua, on käytetty TVout -kirjastoa, joka on mustavalkoinen. Lisäksi monissa näistä projekteista on rakennettava erityisiä kilpiä tai laitteistoja. Täällä tarvitset vain kaksi Arduinoa, muutamia vastuksia ja PS2 -näppäimistön ja näytön liitännän, kuten yllä olevissa kuvissa näkyy.

Vaihe 1: Rakenna Arduino Master TinyBasic- ja PS2 -näppäimistöllä

TinyBasic Plus ja VGAx -kirjasto toimivat Arduino IDE 1.6.4: lle.

Lataa se ensin Arduinon viralliselta verkkosivulta. Jos tietokoneellasi on uudempia versioita, paras on ladata se.zip -muodossa ja purkaa ne tietokoneellesi. Lataa Windows -versio napsauttamalla tätä linkkiä.

Tarvitset sitten PS2 -näppäimistökirjaston. Löydät sen tämän sivun alareunasta. Pura vain se ja kopioi PS2keyboard-kansio: arduino-1.6.4 / libraries

Lataa lopuksi tällä sivulla tiedosto: TinyBasicPlus_PS2_VGAx.ino, purkaa ja lähetä se Arduinollesi.

Tämä on muunnelma tavallisesta TinyBasic Plus -laitteesta, johon olen lisännyt PS2 -kirjaston ja muokannut koodia hyväksymään muuttujat.

Lisätietoja TiniBasic Plus -ohjelmasta ja opetusohjelmista löytyy tästä linkistä.

Jos ongelmia ja yhteensopivuusongelmia ei ole, Tiny Basic on jo käynnissä. Voit testata sitä tietokoneesi sarjamonitorilla. Tätä tarkoitusta varten käytän PuTTY: tä, mutta monia muita ohjelmia on saatavilla.

Sinun on asetettava oikea COM -portti (sama kuin Arduino IDE: ssä) ja baudinopeus = 4800

Täällä voit jo testata jotakin Basic -ohjelmaa vain kirjoittamalla ne tietokoneen näppäimistöllä (huom. Myöhemmin näytän, kuinka PS2 -näppäimistö liitetään suoraan Arduinoon).

Kokeile esimerkiksi:

10 PRINT "Hei, maailma!"

20 GOTO 10

JUOSTA

Voit sitten lopettaa äärettömän silmukan kirjoittamalla ctrl+c.

Huomaa, että tämä yhdistelmä ei toimi PS2 -näppäimistöllä.

Seuraavassa vaiheessa näytän, kuinka PS2 -näppäimistö liitetään Arduinoon.

Vaihe 2: Yhdistä PS2 -näppäimistö Master Arduinoon

Yhdistä PS2 -näppäimistö Master Arduinoon
Yhdistä PS2 -näppäimistö Master Arduinoon

Sain kaikki tiedot ja kirjaston tästä ohjeesta.

Pohjimmiltaan sinun on yhdistettävä seuraavat neljä nastaa:

  • näppäimistötiedot Arduino -nastaan 8,
  • näppäimistö IRQ (kello) Arduino -nastaan 3;
  • sinun on liitettävä myös GND ja +5V.

Sain vanhan PS2 -naarasliittimen rikkoutuneesta PC -emolevystä. Voit yksinkertaisesti myydä sen lämpöpistoolilla.

Tässä vaiheessa näkyvästä kuvasta löydät tarvittavien PS2 -liittimen nastojen toiminnot.

Vaihe 3: Lataa VGAx -kirjasto ja koodi toiseen Arduinoon ja laita kaikki yhteen

Lataa VGAx -kirjasto ja koodi toiseen Arduinoon ja laita kaikki yhteen
Lataa VGAx -kirjasto ja koodi toiseen Arduinoon ja laita kaikki yhteen

Lataa ensin VGAx-PC.ino-koodi tämän sivun alareunasta ja kopioi se tietokoneellesi samannimiseen hakemistoon.

Lataa VGAx -kirjasto tästä linkistä GitHubissa. Helpoin tapa on kopioida se Arduino -ohjelmiston alikansioon nimeltä "kirjastot", jotta se tunnistetaan välittömästi.

TÄRKEÄÄ: tämä kirjasto toimii Arduno IDE 1.6.4 -käyttöjärjestelmässä, mutta se ei ole täysin yhteensopiva vanhempien tai uudempien versioiden kanssa.

Lataa VGAx-PC.ino toiseen Arduino-korttiisi (testasin sitä Nano-versiolle, mutta Unon pitäisi toimia myös).

Varoitus alhaisesta muistista on normaali. Jos sinulla ei ole muita virheitä, kaikki on kunnossa ja voit heti aloittaa oman 8-bittisen tietokoneen rakentamisen.

Tätä varten tarvitset:

  • kaksi Arduino Uno Rev.3 tai kaksi Arduino Nano 3.x (ATmega328)
  • DSUB15 -liitin eli VGA -naarasliitin tai leikattava VGA -kaapeli.
  • vastukset: 2 x 68 ohmia ja 2 x 470 ohmia
  • PS2 -naarasliitin
  • johdot
  • fakultatiivinen: leipälauta tai nauhalevy

Kaavio esitetään tämän vaiheen yläosassa. Johdantovaiheessa on esimerkki valmiista "konsolista".

Sama kaavio, jolla on suurempi resoluutio, raportoidaan pakatussa tiedostossa tämän vaiheen lopussa.

Vaihe 4: Valinnainen: PCB: n käyttö

Valinnainen: PCB: n käyttö
Valinnainen: PCB: n käyttö
Valinnainen: PCB: n käyttö
Valinnainen: PCB: n käyttö
Valinnainen: PCB: n käyttö
Valinnainen: PCB: n käyttö
Valinnainen: PCB: n käyttö
Valinnainen: PCB: n käyttö

Voit myös rakentaa tämän Basic VGA -tietokoneen pienellä piirilevyllä. Voit saada inspiraatiota kuvista tässä vaiheessa tai voit jopa tulostaa oman taulusi.

Käytin Arduinon videolähtöön kahta naarasliitintä, joissa oli 15 reikää, kun taas masterissa kaksi nauhaa, joissa oli kaksinkertainen reikä. Tällä tavalla voin käyttää ulkoisia lisäämään muiden projektikomponenttien yhteystiedot, joita voidaan ajaa suoraan peruskoodilla. Lisäsin myös keskelle jääneet liuskat, joista toinen oli kytketty 5 V: iin ja toinen GND: hen.

Vaihe 5: Lopulliset kommentit ja kiitokset

Päätuntemukseni kuuluu Sandro Maffiodolle eli Smafferille, mahtavan VGAx -kirjaston luojalle.

Suuret kiitokset myös TinyBasic Plus -kirjoittajille:

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

Kiitos myös "djsadeepa", Instructable -ohjelman kirjoittaja PS2 -näppäimistön liittämisestä.

Kaikille tästä projektista kiinnostuneille: jos sinulla on ongelmia, älä epäröi kysyä ehdotuksia kommenteissa.

Jos onnistut, kirjoita myös kommentti tai jaa kuva rakentamastasi laitteesta.

Suositeltava: