Sadržaj:

Arduino osnovni računar sa TV izlazom: 5 koraka (sa slikama)
Arduino osnovni računar sa TV izlazom: 5 koraka (sa slikama)

Video: Arduino osnovni računar sa TV izlazom: 5 koraka (sa slikama)

Video: Arduino osnovni računar sa TV izlazom: 5 koraka (sa slikama)
Video: Andonstar AD409 Pro 10.1 inch Digital PCB Microscope 300X Magnifier with HDMI output 2024, Jun
Anonim
Image
Image
Arduino osnovni računar sa TV izlazom
Arduino osnovni računar sa TV izlazom
Arduino osnovni računar sa TV izlazom
Arduino osnovni računar sa TV izlazom
Arduino osnovni računar sa TV izlazom
Arduino osnovni računar sa TV izlazom

U ovom Instructables ću pokazati kako izgraditi retro 8-bitni računar sa BASIC-om, pomoću dvije Arduino i nekoliko drugih komponenti.

Varijable i BASIC program možete unijeti pomoću PS2 tastature, a izlaz se prikazuje na monitoru s tekstom 47 kolona x 29 redova sa 8x8 piksela (crno -bijelo), rezolucije slične ili bolje od Commodore 64, jednake 40 x 25 znakova.

Možete ga vidjeti na djelu u gornjem videu.

Program se tada može spremiti na Arduino EEPROM, a i dalje možete kontrolirati I/O pinove putem osnovnih namjenskih naredbi.

Jedan Arduino je "master" i pokreće Tiny Basic Plus, C implementaciju Tiny Basic -a, s naglaskom na podršci za Arduino. Takođe kontroliše PS2 tastaturu. Izlaz se zatim šalje preko serijskog porta na drugi Arduino koji generira video izlaz zahvaljujući strašnoj biblioteci MRETV.

Ideja o korištenju jednog ili više Arduina za stvaranje računara starog stila na dijalektu Basic nije nova, ali zasad postoje neka jaka ograničenja u izlaznoj rezoluciji. U nekim projektima dostupnim na internetu ljudi su koristili LCD ekrane, dok su u drugima, kako bi se omogućilo korištenje monitora, korištena TVout biblioteka koja ima mnogo nižu rezoluciju. Nadalje, u mnogim od ovih projekata potrebno je izgraditi posebne štitove ili hardver.

Ovdje su vam potrebna samo dva Arduina, nekoliko dioda, nekoliko otpornika i konektor za PS2 tastaturu i monitor, kao što je prikazano na gornjoj slici.

Korak 1: Izgradite Arduino Master pomoću TinyBasic i PS2 tastature

TinyBasic Plus i MRETV rade za starije - i različite - Arduino IDE.

Prvo preuzmite IDE 1.6.4 sa službene web stranice Arduino. Ako na računaru imate novije verzije, najbolje je da ga preuzmete u.zip formatu i raspakujete na svom računaru. Kliknite na ovu vezu za preuzimanje verzije operativnog sistema Windows.

Tada vam je potrebna biblioteka tastature PS2. Možete ga pronaći pri dnu ove stranice. Raspakujte ga i kopirajte fasciklu PS2keyboard u: arduino-1.6.4 / libraries

Na kraju, na ovoj stranici preuzmite datoteku: TinyBasicPlus_PS2.ino, raspakirajte je i prenesite na svoj Arduino.

Ovo je varijacija standardnog TinyBasic Plus -a gdje sam dodao PS2 biblioteku i izmijenio kôd kako bih prihvatio varijablu 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čunaru. 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 = 2400

Ovdje već možete isprobati neki program u Basic -u jednostavnim upisivanjem pomoću računarske tipkovnice (napomena kasnije ću vam pokazati kako spojiti PS2 tastaturu izravno na Arduino).

Pokušajte na primjer:

10 ŠTAMPAJ "Hello, World!"

20 IDITE 10

RUN

Beskonačnu petlju tada možete zaustaviti samo upisivanjem ctrl+c. Imajte na umu da ova kombinacija neće raditi za PS2 tastaturu.

U sljedećem koraku pokazat ću kako spojiti PS2 tipkovnicu na Arduino.

Korak 2: Povežite PS2 tastaturu s glavnim Arduinom

Spojite PS2 tipkovnicu na Master Arduino
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,
  • tastatura IRQ (sat) na Arduino pin 3;
  • naravno morate spojiti i GND i +5V.

Dobio sam stari ženski PS2 konektor sa pokvarene matične ploče računara. 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: Postavite MRETV biblioteku na drugi Arduino i spojite sve zajedno

Prenesite MRETV biblioteku na drugi Arduino i sve spojite
Prenesite MRETV biblioteku na drugi Arduino i sve spojite

Ključna tačka ovog projekta je postojanje sjajne biblioteke MRETV. Postoji namjenski Instructable gdje je to detaljno opisano.

Koristi samo dva otpornika i dvije diode za generiranje videa na cijelom ekranu, s rezolucijom teksta 47 x 29 od 8x8 znakova. Kako se kaže u uvodu, "generiranje videa je već bilo učinjeno, ali ne ovako. PUNA DUPLEX serija je još uvijek dostupna pri generiranju videa". To vam omogućuje da dobijete podatke od "glavnog" Arduina i prikažete ih na monitoru. U praksi se ovaj drugi "rob" Arduino koristi kao grafičko sučelje!

Budući da MRETV radi za IDE 1.6.6, preuzmite ga sa službene web stranice Arduino. Opet, najbolje je da ga preuzmete u.zip formatu i raspakujete na svom računaru. Kliknite na ovu vezu za preuzimanje verzije operativnog sistema Windows.

Zatim preuzmite MRETV biblioteku sa ove veze.

Raspakirajte ga i spremite mapu "MRETV" u: arduino-1.6.6 / libraries

Konačno preuzmite TVtext_slave.rar na dnu ove stranice, raspakirajte ga i postavite u svoj Arduino slave.

Ako nema poruka o grešci, možete spojiti RCA konektor. Potrebne su vam dvije diode i otpornici od 1 kOhm i 300 Ohm, kao što je prikazano na shemi na ovoj stranici.

U ovom trenutku možete sve povezati.

Kompletna lista materijala je:

  • dva Arduino Uno Rev. 3 ili dva Arduino Nano 3.x (ATmega328)
  • dva otpornika 1 kOhm
  • jedan otpornik 300 ohma
  • dvije diode 1n4148 (x2) ili slična silikonska preklopna dioda
  • dva ženska RCA utikača (jedan za video, jedan - fakultativan - za audio)
  • ženski konektor PS2
  • matična ploča i žice

Glavni Arduino šalje podatke podređenom uređaju kroz narančasti kabel, odnosno glavni pin 1 (Tx) na pomoćni pin 2 (Rx). Ako trebate ponovo učitati neki kôd, prvo morate odspojiti ovaj kabel.

Zatim spojite slave arduino na napajanje od 5 V, RCA kabel na televizor i tastaturu na PS2, i sada biste trebali vidjeti kôd na svom televizoru!

Funkcije ovog osnovnog dijalekta detaljno su opisane na njegovoj početnoj stranici (pogledajte vezu u koraku 2). Pomoću naredbi "esave" i "eload" možete spremiti jedan osnovni program u EEPROM. Ovaj se program prema zadanim postavkama pokreće svaki put kada resetirate glavni Arduino. Za brisanje možete koristiti naredbu "eformat".

Jedna od najvažnijih značajki ovog programa je da još uvijek možete upravljati glavnim Arduino I/O s namjenskim osnovnim naredbama, kao što je

  • DWRITE pin, vrijednost - postavite pin sa vrijednošću (HIGH, HI, LOW, LO)
  • AWRITE pin, vrijednost - postavite pin sa analognom vrijednošću (pwm) 0..255
  • DREAD (pin) - dobijte vrijednost pina
  • AREAD (analogPin) - dobijte vrijednost analognog pina

Tako možete napisati program u Basic -u koji pokreće određeni hardver, spremiti ga u EEPROM i zatim ga pokrenuti automatski samo resetirajući Arduino.

Korak 4: Opcionalno: Korištenje PCB -a

Opcionalno: Korištenje PCB -a
Opcionalno: Korištenje PCB -a
Opcionalno: Korištenje PCB -a
Opcionalno: Korištenje PCB -a
Opcionalno: Korištenje PCB -a
Opcionalno: Korištenje PCB -a

Ovaj osnovni računar možete izgraditi i pomoću male PCB -a. Možete uzeti inspiraciju iz slika u ovom koraku ili čak možete odštampati svoju ploču.

Za video izlaz Arduino možete koristiti dvije ženske trake zaglavlja s 15 rupa, dok za majstora predlažem korištenje četiri trake. Na ovaj način možete koristiti vanjske za umetanje kontakata komponenti vašeg projekta.

Dodao sam i u sredini preostale trake, jednu spojenu na 5 V, a drugu za GND.

Konačno, u.rar datoteci možete pronaći maske za urezivanje bakrene ploče.

Korak 5: Završni komentari i priznanja

Ovaj projekt se ne bi mogao izvesti bez biblioteke MRETV. Stoga moje najveće priznanje ide njegovom autoru, koji koristi akronim gospodin E.

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 tastature.

Svim ljudima koji su zainteresirani za ovaj projekt: lakše je izgraditi da se to čini na prvi pogled. Moji glavni problemi bili su s Arduino IDE kompatibilnošću. Ako imate problema, ne ustručavajte se pitati prijedloge u komentarima.

Ako uspijete, napišite komentar ili podijelite sliku uređaja koji gradite.

Preporučuje se: