Sadržaj:

Arduino Basic PC s TV izlazom: 5 koraka (sa slikama)
Arduino Basic PC s TV izlazom: 5 koraka (sa slikama)

Video: Arduino Basic PC s TV izlazom: 5 koraka (sa slikama)

Video: Arduino Basic PC s TV izlazom: 5 koraka (sa slikama)
Video: How to Build Sim Racing Cockpit Works with Any Game/Console 2024, Lipanj
Anonim
Image
Image
Arduino Basic PC s TV izlazom
Arduino Basic PC s TV izlazom
Arduino Basic PC s TV izlazom
Arduino Basic PC s TV izlazom
Arduino Basic PC s TV izlazom
Arduino Basic PC s TV izlazom

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

Varijable i BASIC program možete unijeti s PS2 tipkovnicom, a izlaz se prikazuje na monitoru s tekstom 47 stupaca x 29 redaka s 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 još uvijek možete kontrolirati I/O pinove izravno putem osnovnih namjenskih naredbi.

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 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čunala starog stila na dijalektu Basic -a nije nova, ali zasad postoje neka jaka ograničenja u izlaznoj rezoluciji. 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 knjižnica koja ima mnogo nižu razlučivost. Nadalje, u mnogim od ovih projekata potrebno je izgraditi posebne štitove ili hardver.

Ovdje vam trebaju samo dva Arduina, nekoliko dioda, nekoliko otpornika i priključak za PS2 tipkovnicu i monitor, kao što je prikazano na gornjoj slici.

Korak 1: Izgradite Arduino Master s TinyBasic i PS2 tipkovnicom

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č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.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 varijabilnost 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 = 2400

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 funkcionirati za PS2 tipkovnicu.

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

Korak 2: Spojite PS2 tipkovnicu na Master Arduino

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

Dobio sam stari ženski PS2 konektor sa 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: Postavite MRETV knjižnicu na drugi Arduino i spojite sve zajedno

Prenesite knjižnicu MRETV na drugi Arduino i sve spojite
Prenesite knjižnicu MRETV na drugi Arduino i sve spojite

Ključna točka ovog projekta je postojanje izvrsne knjižnice MRETV. Postoji namjenski Instructable gdje je detaljno opisan.

Koristi samo dva otpornika i dvije diode za generiranje videozapisa na cijelom ekranu, s razlučivošću teksta 47 x 29 od 8x8 znakova. Kako se kaže u uvodu, "generiranje videa već je bilo učinjeno, ali ne ovako. PUNA DUPLEX serija je još uvijek dostupna pri generiranju videa". To omogućuje dobivanje podataka od "glavnog" Arduina i njihovo prikazivanje 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 preuzeti ga u.zip formatu i dekomprimirati ih na računalu. Kliknite ovu vezu za preuzimanje verzije sustava Windows.

Zatim preuzmite knjižnicu MRETV s ove veze.

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

Na kraju preuzmite TVtext_slave.rar na dnu ove stranice, raspakirajte ga i prenesite u svoj Arduino slave.

Ako nema poruka o pogreš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 povezati sve zajedno.

Kompletan popis 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 sklopna dioda
  • dva ženska RCA utikača (jedan za video, jedan - fakultativan - za zvuk)
  • ženski konektor PS2
  • matična ploča i žice

Glavni Arduino šalje podatke podređenom uređaju kroz narančasti kabel, tj. Glavni pin 1 (Tx) na pomoćni pin 2 (Rx). Ako trebate ponovno učitati neki kôd, najprije odspojite ovaj kabel.

Spojite zatim slave arduino na napajanje od 5 V, RCA kabel na televizor, a tipkovnicu na PS2 i sada biste trebali vidjeti kôd na svom televizoru!

Funkcije ovog osnovnog dijalekta detaljno su opisane na njegovoj početnoj stranici (vidi vezu u koraku 2). Naredbama "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 s vrijednošću (HIGH, HI, LOW, LO)
  • AWRITE pin, vrijednost - postavite pin s 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: Izborno: Korištenje PCB -a

Izborno: Korištenje PCB -a
Izborno: Korištenje PCB -a
Izborno: Korištenje PCB -a
Izborno: Korištenje PCB -a
Izborno: Korištenje PCB -a
Izborno: Korištenje PCB -a

Također možete sastaviti ovo osnovno računalo pomoću male PCB -a. Možete dobiti inspiraciju iz slika u ovom koraku ili čak možete ispisati svoju ploču.

Za video izlaz Arduino možete koristiti dvije ženske zaglavlje s 15 rupa, dok za majstora predlažem korištenje četiri trake. Na taj način možete upotrijebiti vanjske da umetnete kontakte svojih komponenti projekta.

Također sam dodao 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 se projekt ne bi mogao izvesti bez knjižnice MRETV. Stoga moje glavno priznanje ide njegovom autoru, koji koristi akronim g. 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 tipkovnice.

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čeni: