INHOUDSOPGAWE:

Arduino Basic PC met VGA -uitvoer: 5 stappe (met foto's)
Arduino Basic PC met VGA -uitvoer: 5 stappe (met foto's)

Video: Arduino Basic PC met VGA -uitvoer: 5 stappe (met foto's)

Video: Arduino Basic PC met VGA -uitvoer: 5 stappe (met foto's)
Video: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, November
Anonim
Image
Image
Arduino Basic PC met VGA -uitvoer
Arduino Basic PC met VGA -uitvoer
Arduino Basic PC met VGA -uitvoer
Arduino Basic PC met VGA -uitvoer

In my vorige Instructable het ek getoon hoe om 'n retro 8-bis rekenaar met BASIC te bou, deur middel van twee Arduino, en met 'n uitsetsein in B&W vir 'n TV-skerm.

Nou sal ek wys hoe om dieselfde rekenaar te bou, maar met die uitsetsein in kleur vir 'n VGA -monitor!

U kan die veranderlikes en die BASIC -program met 'n PS2 -sleutelbord invoer, en dit lewer die uitset vir 'n VGA -monitor met 'n teksresolusie van 24 kolomme x 10 rye van 5x6 pixels karakters, in vier kleure. U kan dit in aksie in die boonste video sien. Die program kan dan op die Arduino EEPROM gestoor word, en u kan steeds die I/O -penne direk via basiese toegewyde opdragte beheer.

Hierdie projek kan ook gebruik word om eenvoudige teksboodskappe op die monitor af te druk, soos in die derde prentjie op hierdie bladsy getoon.

Een Arduino is die 'meester', en dit bedryf Tiny Basic Plus, 'n C -implementering van Tiny Basic, met die fokus op ondersteuning vir Arduino. Dit beheer ook 'n PS2 -sleutelbord. Die uitset word dan via die seriële poort gestuur na die tweede Arduino wat die VGA -uitset genereer danksy die VGAx -biblioteek.

Die idee om een of meer Arduino te gebruik om 'n ou rekenaar te skep met 'n basiese dialek, is nie nuut nie, maar sover ek weet, het nie een van hulle 'n kleuruitset nie. In sommige projekte wat op die internet beskikbaar was, het mense LCD -skerms gebruik, terwyl ander in die TVout -biblioteek, dit is B&W, vir ander toestelle gebruik was. Verder moet spesiale skilde of hardeware in baie van hierdie projekte gebou word. Hier benodig u slegs twee Arduino, 'n paar weerstande en die aansluiting vir die PS2 -sleutelbord en die monitor, soos in die foto's hierbo getoon.

Stap 1: Bou die Arduino Master met TinyBasic en PS2 -sleutelbord

TinyBasic Plus en die VGAx -biblioteek werk vir Arduino IDE 1.6.4.

Laai dit eers af van die amptelike webwerf van Arduino. As u 'n nuwer weergawe op u rekenaar het, is dit die beste om dit in zip -formaat af te laai en dit op u rekenaar uit te pak. Klik op hierdie skakel om die Windows -weergawe af te laai.

Dan benodig u die PS2 -sleutelbordbiblioteek. U kan dit onderaan hierdie bladsy vind. Pak dit net uit en kopieer die PS2-sleutelbordmap in: arduino-1.6.4 / libraries

Laai uiteindelik die lêer op hierdie bladsy af: TinyBasicPlus_PS2_VGAx.ino, pak dit uit en laai dit op u Arduino op.

Dit is 'n variasie van die standaard TinyBasic Plus, waar ek die PS2 -biblioteek bygevoeg het en die kode gewysig het om die veranderlikes daaruit te aanvaar.

Meer besonderhede oor TiniBasic Plus en tutoriale kan gevind word by hierdie skakel.

As daar geen probleme en verenigbaarheidsprobleme is nie, werk Tiny Basic reeds. U kan dit toets met 'n seriële monitor op u rekenaar. Vir hierdie doel gebruik ek PuTTY, maar baie ander programme is beskikbaar.

U moet die korrekte COM -poort instel (dit is dieselfde as in die Arduino IDE) en baud rate = 4800

Hier kan u al die programme in Basic toets, net deur dit met u rekenaar se sleutelbord in te tik (later sal ek wys hoe u die PS2 -sleutelbord direk aan die Arduino kan koppel).

Probeer byvoorbeeld:

10 AFDRUK "Hallo, wêreld!"

20 GAAN 10

RUN

U kan dan die oneindige lus stop deur net ctrl+c in te tik.

Let daarop dat hierdie kombinasie nie vir die PS2 -sleutelbord werk nie.

In die volgende stap sal ek wys hoe u die PS2 -sleutelbord met Arduino kan koppel.

Stap 2: Koppel die PS2 -sleutelbord aan die Master Arduino

Koppel die PS2 -sleutelbord aan die Master Arduino
Koppel die PS2 -sleutelbord aan die Master Arduino

Ek het al die inligting en biblioteek van hierdie instruksies gekry.

In wese moet u die volgende vier penne verbind:

  • sleutelborddata na Arduino pin 8,
  • sleutelbord IRQ (klok) na Arduino pen 3;
  • u moet GND en +5V ook verbind.

Ek het 'n ou PS2 -aansluiting gekry van 'n gebreekte moederbord. U kan dit eenvoudig met 'n hittegeweer verkoop.

In die prentjie wat in hierdie stap getoon word, vind u die funksie van die benodigde penne van die PS2 -aansluiting.

Stap 3: Laai die VGAx -biblioteek en -kode op die tweede Arduino op en sit alles bymekaar

Laai die VGAx -biblioteek en -kode op die tweede Arduino op en sit alles bymekaar
Laai die VGAx -biblioteek en -kode op die tweede Arduino op en sit alles bymekaar

Laai eers die VGAx-PC.ino-kode onderaan hierdie bladsy af en kopieer dit op u rekenaar in 'n gids met dieselfde naam.

Laai die VGAx -biblioteek af vanaf hierdie skakel op GitHub. Die maklikste manier is om dit in die submap van die Arduino -sagteware met die naam "biblioteke" te kopieer, om onmiddellik herken te word.

BELANGRIK: hierdie biblioteek werk vir Arduno IDE 1.6.4, maar dit is nie ten volle versoenbaar met ouer of nuwer weergawes nie.

Laai die VGAx-PC.ino op in u tweede Arduino-bord (ek het dit getoets vir die Nano-weergawe, maar die Uno behoort ook te werk).

'N Waarskuwing vir 'n lae beskikbare geheue is normaal. As u nie ander foute het nie, is alles in orde en kan u onmiddellik u eie 8-bis-rekenaar begin bou.

Hiervoor benodig u:

  • twee Arduino Uno Rev. 3 of twee Arduino Nano 3.x (ATmega328)
  • 'n DSUB15 -aansluiting, dws 'n VGA -vroulike aansluiting of 'n VGA -kabel wat gesny moet word.
  • weerstande: 2 x 68 Ohm en 2 x 470 Ohm
  • 'n PS2 -vroulike aansluiting
  • drade
  • fakulteit: 'n broodbord of 'n strookbord

Die skematika word bo -aan hierdie stap gerapporteer. 'N Voorbeeld van 'n voltooide' konsole 'word in die inleidende stap getoon.

Dieselfde skematiese, met 'n hoër resolusie, word onderaan hierdie stap in 'n saamgeperste lêer gerapporteer.

Stap 4: Opsioneel: met behulp van 'n PCB

Opsioneel: met behulp van 'n PCB
Opsioneel: met behulp van 'n PCB
Opsioneel: met behulp van 'n PCB
Opsioneel: met behulp van 'n PCB
Opsioneel: met behulp van 'n PCB
Opsioneel: met behulp van 'n PCB
Opsioneel: met behulp van 'n PCB
Opsioneel: met behulp van 'n PCB

U kan ook hierdie basiese VGA -rekenaar bou met 'n klein PCB. U kan inspirasie put uit die foto's in hierdie stap, of u kan selfs u eie bord druk.

Ek gebruik twee vroulike kopstroke met 15 gate vir die video -uitset Arduino, terwyl ek vir die meester twee stroke met dubbele gate gebruik het. Op hierdie manier kan ek die eksterne gebruik om die kontakte van ander projektekomponente in te voeg, wat direk met die basiese kode bestuur kan word. Ek het ook in die middel van die oorblywende stroke bygevoeg, een gekoppel aan 5 V en die ander vir GND.

Stap 5: Laaste opmerkings en erkennings

My belangrikste kennis is Sandro Maffiodo, oftewel Smaffer, die skepper van die wonderlike VGAx -biblioteek.

Baie dankie ook aan die skrywers van TinyBasic Plus:

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

Dankie ook aan "djsadeepa", die skrywer van die Instructable vir die koppeling van die PS2 -sleutelbord.

Aan alle mense wat in hierdie projek belangstel: as u probleme ondervind, moet asseblief nie huiwer om voorstelle in die kommentaar te vra nie.

As u daarin slaag, skryf ook 'n opmerking of deel 'n foto van die toestel wat u bou.

Aanbeveel: