Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
U svom prethodnom Instructable-u sam pokazao kako izgraditi retro 8-bitno računalo sa BASIC-om, pomoću dva Arduina, i s izlaznim signalom u crno-bijelom za TV ekran.
Sada ću pokazati kako izgraditi isto računalo, ali s izlaznim signalom u boji za VGA monitor!
Varijable i BASIC program možete unijeti s PS2 tipkovnicom, a on generira izlaz za VGA monitor s razlučivošću teksta od 24 stupca x 10 redaka znakova 5x6 piksela, u četiri boje. Možete ga vidjeti na djelu u gornjem videu. Program se tada može spremiti na Arduino EEPROM, a još uvijek možete kontrolirati I/O pinove izravno putem osnovnih namjenskih naredbi.
Ovaj se projekt može koristiti i za ispis jednostavnih tekstualnih poruka na monitoru, kao što je prikazano na trećoj slici na ovoj stranici.
Jedan Arduino je "majstor" i pokreće Tiny Basic Plus, C implementaciju Tiny Basic -a, s naglaskom na podršci za Arduino. Također kontrolira PS2 tipkovnicu. Izlaz se zatim šalje putem serijskog porta na drugi Arduino koji generira VGA izlaz zahvaljujući VGAx knjižnici.
Ideja o korištenju jednog ili više Arduina za stvaranje računara starog stila na dijalektu Basic -a nije nova, ali koliko ja znam, nitko od njih nema izlaz u boji. U nekim projektima koji su dostupni na internetu ljudi su koristili LCD zaslone, dok su se u drugima, kako bi se omogućilo korištenje monitora, koristila TVout biblioteka, a to je B&W. Nadalje, u mnogim od ovih projekata potrebno je izgraditi posebne štitove ili hardver. Ovdje su vam potrebna samo dva Arduina, nekoliko otpornika i priključak za PS2 tipkovnicu i monitor, kao što je prikazano na gornjim slikama.
Korak 1: Izgradite Arduino Master s TinyBasic i PS2 tipkovnicom
TinyBasic Plus i VGAx knjižnica rade za Arduino IDE 1.6.4.
Prvo ga preuzmite sa službene web stranice Arduino. Ako na računalu imate novije verzije, najbolje je preuzeti ga u.zip formatu i raspakirati ih na računalu. Kliknite ovu vezu za preuzimanje verzije sustava Windows.
Tada vam je potrebna knjižnica tipkovnice PS2. Možete ga pronaći pri dnu ove stranice. Raspakirajte ga i kopirajte mapu PS2keyboard u: arduino-1.6.4 / libraries
Na kraju, na ovoj stranici preuzmite datoteku: TinyBasicPlus_PS2_VGAx.ino, raspakirajte je i prenesite na svoj Arduino.
Ovo je varijacija standardnog TinyBasic Plus -a gdje sam dodao biblioteku PS2 i izmijenio kôd kako bih prihvatio varijable iz nje.
Više detalja o TiniBasic Plus i vodiče možete pronaći na ovoj poveznici.
Ako nema problema i problema s kompatibilnošću, Tiny Basic je već pokrenut. Možete ga testirati putem serijskog monitora na računalu. U tu svrhu koristim PuTTY, ali dostupni su i mnogi drugi programi.
Morate postaviti ispravan COM port (isti je koji se nalazi u Arduino IDE -u) i brzina prijenosa = 4800
Ovdje već možete isprobati neki program u Basic -u tako da ih upišete tipkovnicom računala (napomena kasnije ću vam pokazati kako spojiti PS2 tipkovnicu izravno na Arduino).
Pokušajte na primjer:
10 TISAK "Hello, World!"
20 IDITE 10
TRČANJE
Beskonačnu petlju tada možete zaustaviti samo upisivanjem ctrl+c.
Imajte na umu da ova kombinacija neće raditi za PS2 tipkovnicu.
U sljedećem koraku pokazat ću kako spojiti PS2 tipkovnicu na Arduino.
Korak 2: Spojite PS2 tipkovnicu na Master Arduino
Dobio sam sve informacije i biblioteku iz ovog instruktora.
U osnovi morate spojiti sljedeća četiri pina:
- tipkovnica Podaci na Arduino pin 8,
- tipkovnica IRQ (sat) na Arduino pin 3;
- morate spojiti i GND i +5V.
Dobio sam stari ženski PS2 konektor s pokvarene matične ploče računala. Možete ga jednostavno rasprodati toplinskim pištoljem.
Na slici prikazanoj u ovom koraku možete pronaći funkciju potrebnih pinova PS2 konektora.
Korak 3: Prenesite VGAx knjižnicu i kod na drugi Arduino i sve spojite
Prvo preuzmite VGAx-PC.ino kôd na dnu ove stranice i kopirajte ga na računalo u direktorij s istim imenom.
Preuzmite VGAx knjižnicu s ove veze na GitHubu. Najjednostavniji način je kopirati ga u podmapu softvera Arduino pod nazivom "knjižnice", kako bi se odmah prepoznala.
VAŽNO: ova knjižnica radi za Arduno IDE 1.6.4, ali nije u potpunosti kompatibilna sa starijim ili novijim verzijama.
Prenesite VGAx-PC.ino na svoju drugu Arduino ploču (testirao sam je za Nano verziju, ali i Uno bi trebao raditi).
Upozorenje o nedostatku memorije je normalno. Ako nemate drugih pogrešaka, sve je u redu i možete odmah početi s izgradnjom vlastitog 8-bitnog računala.
Za ovo vam je potrebno:
- dva Arduino Uno Rev. 3 ili dva Arduino Nano 3.x (ATmega328)
- priključak DSUB15, tj. VGA ženski priključak ili VGA kabel za rezanje.
- otpornici: 2 x 68 Ohma i 2 x 470 Ohma
- ženski konektor PS2
- žice
- fakultativno: matična ploča ili ploča
Shema je prikazana na vrhu ovog koraka. Primjer gotove „konzole“prikazan je u uvodnom koraku.
Ista shema, s većom razlučivošću, prikazana je u komprimiranoj datoteci na dnu ovog koraka.
Korak 4: Izborno: Korištenje PCB -a
Ovo osnovno VGA računalo također možete izgraditi pomoću male PCB -a. U ovom koraku možete uzeti inspiraciju iz slika ili čak možete ispisati vlastitu ploču.
Koristio sam dvije ženske zaglavlje s 15 rupa za video izlaz Arduino, dok sam za majstora koristio dvije trake s doble rupama. Na ovaj način mogu upotrijebiti vanjske za umetanje kontakata drugih komponenti projekata, koji se mogu pokrenuti izravno s osnovnim kodom. Također sam dodao u sredini preostale trake, jednu spojenu na 5 V, a drugu za GND.
Korak 5: Završni komentari i priznanja
Moje glavno priznanje ide Sandru Maffiodu zvanom Smaffer, tvorcu izvrsne VGAx biblioteke.
Veliko hvala i autorima TinyBasic Plus:
- Tiny Basic 68k - Gordon Brandly
- Arduino Basic / Tiny Basic C - Michael Field
- Tiny Basic Plus - Scott Lawrence
Hvala i "djsadeepa", autoru Instructablea za povezivanje PS2 tipkovnice.
Svim ljudima koje zanima ovaj projekt: ako imate problema, ne ustručavajte se pitati prijedloge u komentarima.
Ako uspijete, napišite komentar ili podijelite sliku uređaja koji gradite.