Cuprins:

PC de bază Arduino cu ieșire TV: 5 pași (cu imagini)
PC de bază Arduino cu ieșire TV: 5 pași (cu imagini)

Video: PC de bază Arduino cu ieșire TV: 5 pași (cu imagini)

Video: PC de bază Arduino cu ieșire TV: 5 pași (cu imagini)
Video: How to use 2 channel relay to control AC and DC loads in Arduino 2024, Noiembrie
Anonim
Image
Image
PC de bază Arduino cu ieșire TV
PC de bază Arduino cu ieșire TV
PC de bază Arduino cu ieșire TV
PC de bază Arduino cu ieșire TV
PC de bază Arduino cu ieșire TV
PC de bază Arduino cu ieșire TV

În acest Instructables voi arăta cum să construiți un computer retro pe 8 biți care rulează BASIC, prin intermediul a două Arduino și a altor câteva componente.

Puteți introduce variabilele și programul BASIC cu o tastatură PS2, iar ieșirea este afișată pe un monitor cu un text 47 coloane x 29 rânduri de caractere 8x8 pixeli (alb-negru), o rezoluție similară sau mai bună decât Commodore 64, egală cu 40 x 25 de caractere.

Îl puteți vedea în acțiune în videoclipul superior.

Programul poate fi apoi salvat pe Arduino EEPROM și puteți controla în continuare pinii I / O direct prin intermediul comenzilor dedicate de bază.

Un Arduino este „master” și rulează Tiny Basic Plus, o implementare C a Tiny Basic, cu accent pe suport pentru Arduino. De asemenea, controlează o tastatură PS2. Ieșirea este apoi trimisă prin portul serial la cel de-al doilea Arduino, care generează ieșirea video datorită nemaipomenitei biblioteci MRETV.

Ideea de a utiliza unul sau mai multe Arduino pentru a crea un PC de stil vechi care rulează un dialect de bază nu este nouă, dar până acum există unele limitări puternice în rezoluția de ieșire. În unele proiecte disponibile pe net, oamenii au folosit afișaje LCD, în timp ce în altele, pentru a permite utilizarea monitoarelor, a fost utilizată biblioteca TVout, care are o rezoluție mult mai mică. Mai mult, în multe dintre aceste proiecte trebuie să fie construite scuturi speciale sau hardware.

Aici aveți nevoie doar de două Arduino, câteva diode, câteva rezistențe și conectorul pentru tastatura PS2 și monitor, așa cum se arată în imaginea de mai sus.

Pasul 1: Construiți Arduino Master cu tastatura TinyBasic și PS2

TinyBasic Plus și MRETV funcționează pentru vârstnici - și diferiți - Arduino IDE.

Prima descărcare IDE 1.6.4 de pe pagina web oficială Arduino. Dacă aveți versiuni mai noi pe computer, cel mai bine este să îl descărcați în format.zip și să le decomprimați pe computer. Faceți clic pe acest link pentru a descărca versiunea Windows.

Aveți nevoie apoi de biblioteca de tastatură PS2. O puteți găsi în partea de jos a acestei pagini. Decomprimați-l și copiați folderul PS2keyboard în: arduino-1.6.4 / libraries

În cele din urmă, în această pagină, descărcați fișierul: TinyBasicPlus_PS2.ino, decomprimați-l și încărcați-l pe Arduino.

Aceasta este o variantă a standardului TinyBasic Plus, unde am adăugat biblioteca PS2 și am modificat codul pentru a accepta versiunea din aceasta.

Mai multe detalii despre TiniBasic Plus și tutoriale pot fi găsite la acest link.

Dacă nu există probleme și probleme de compatibilitate, Tiny Basic rulează deja. Puteți să-l testați printr-un monitor serial pe computer. În acest scop folosesc PuTTY, dar sunt disponibile multe alte programe.

Trebuie să setați portul COM corect (este același lucru pe care îl găsiți în IDE-ul Arduino) și rata de transmisie = 2400

Aici puteți testa deja un program în Basic, doar tastându-le cu tastatura PC-ului (NB mai târziu voi arăta cum să conectați tastatura PS2 direct la Arduino).

Încercați, de exemplu:

10 PRINT "Bună ziua, lume!"

20 GOTO 10

ALERGA

Puteți opri apoi bucla infinită doar tastând ctrl + c. Rețineți că această combinație nu va funcționa pentru tastatura PS2.

În pasul următor voi arăta cum să conectați tastatura PS2 la Arduino.

Pasul 2: Conectați tastatura PS2 la Master Arduino

Conectați tastatura PS2 la Master Arduino
Conectați tastatura PS2 la Master Arduino

Am primit toate informațiile și biblioteca de la acest instructabil.

În esență, trebuie să conectați următoarele patru pini:

  • tastatură Date către Arduino pin 8,
  • tastatură IRQ (ceas) la pinul 3 Arduino;
  • desigur, trebuie să conectați și GND și + 5V.

Am primit un conector PS2 de sex feminin de pe o placă de bază pentru computer rupt. Puteți pur și simplu să îl vindeți cu un pistol termic.

În imaginea prezentată în acest pas, puteți găsi funcția pinilor necesari ai conectorului PS2.

Pasul 3: Încărcați biblioteca MRETV pe al doilea Arduino și puneți totul împreună

Încărcați biblioteca MRETV pe al doilea Arduino și puneți totul împreună
Încărcați biblioteca MRETV pe al doilea Arduino și puneți totul împreună

Punctul cheie al acestui proiect este existența minunatei biblioteci MRETV. Există un Instructable dedicat, unde este descris în detalii.

Folosește doar două rezistențe și două diode pentru a genera video pe ecran complet, cu o rezoluție text de 47 x 29 din 8x8 caractere. Așa cum se spune în introducere, "generarea de videoclipuri a fost făcută înainte, dar nu așa. Seria FULL DUPLEX este încă disponibilă în timpul generării videoclipului". Acest lucru permite obținerea datelor de la „master” Arduino și afișarea lor pe monitor. În practică, acest al doilea „sclav” Arduino este folosit ca o interfață grafică!

Deoarece MRETV funcționează pentru IDE 1.6.6, descărcați-l de pe pagina web oficială Arduino. Din nou, cel mai bun este să-l descărcați în format.zip și să-l decomprimați de pe computer. Faceți clic pe acest link pentru a descărca versiunea Windows.

Descărcați apoi biblioteca MRETV de pe acest link.

Decomprimați-l și salvați folderul „MRETV” în: arduino-1.6.6 / libraries

În cele din urmă, descărcați TVtext_slave.rar în partea de jos a acestei pagini, decomprimați-l și încărcați-l în Arduino slave.

Dacă nu există un mesaj de eroare, puteți conecta conectorul RCA. Aveți nevoie de cele două diode și rezistențele de 1 kOhm și 300 Ohm, așa cum se arată în schema din această pagină.

În acest moment puteți conecta totul împreună.

Lista completă a materialelor este:

  • două Arduino Uno Rev. 3 sau două Arduino Nano 3.x (ATmega328)
  • două rezistențe 1 kOhm
  • un rezistor 300 Ohm
  • două diode 1n4148 (x2) sau diodă de comutare similară cu siliciu
  • două mufe RCA de sex feminin (una pentru video, una - facultativă - pentru audio)
  • un conector de sex feminin PS2
  • o placă de prindere și fire

Master Arduino trimite datele către sclav prin cablul portocaliu, adică pinul principal 1 (Tx) la pinul slave 2 (Rx). Dacă trebuie să reîncărcați un cod, ar trebui să deconectați mai întâi acest cablu.

Conectați apoi arduino-ul slave la o sursă de alimentare de 5V, cablul RCA la televizor și tastatura la PS2, iar acum ar trebui să vedeți codul la televizor!

Funcțiile acestui dialect de bază sunt descrise în detalii în pagina sa de pornire (vezi linkul din pasul 2). Cu comenzile „esave” și „eload” puteți salva un program de bază în EEPROM. Acest program este rulat implicit de fiecare dată când resetați Arduino master. Pentru ao șterge, puteți utiliza comanda „eformat”.

Una dintre cele mai importante caracteristici ale acestui program este că puteți conduce în continuare master Arduino I / O cu comenzi de bază dedicate, cum ar fi

  • Pin DWRITE, valoare - pin setat cu o valoare (HIGH, HI, LOW, LO)
  • PIN AWRITE, pin setat cu valoare cu valoare analogică (pwm) 0..255
  • DREAD (pin) - obțineți valoarea pinului
  • AREAD (analogPin) - obțineți valoarea pinului analogic

Astfel, puteți scrie un program în Basic care conduce unele hardware, îl puteți salva în EEPROM și apoi îl puteți rula automat doar resetând Arduino.

Pasul 4: Opțional: utilizarea unui PCB

Opțional: utilizarea unui PCB
Opțional: utilizarea unui PCB
Opțional: utilizarea unui PCB
Opțional: utilizarea unui PCB
Opțional: utilizarea unui PCB
Opțional: utilizarea unui PCB

De asemenea, puteți construi acest PC de bază folosind un PCB mic. Vă puteți inspira din imaginile din acest pas sau chiar vă puteți imprima tabla.

Puteți utiliza două benzi antet feminin cu 15 găuri pentru ieșirea video Arduino, în timp ce pentru master vă sugerez să utilizați patru benzi. În acest fel, puteți utiliza cele externe pentru a insera contactele componentelor proiectului.

Am adăugat, de asemenea, în centru la benzile rămase, una conectată la 5 V și cealaltă pentru GND.

În cele din urmă, în fișierul.rar, puteți găsi măștile pentru gravarea unei plăci cuprate.

Pasul 5: Comentarii finale și mulțumiri

Acest proiect nu s-ar fi putut realiza fără biblioteca MRETV. Astfel, principala mea recunoaștere revine autorului său, care folosește acronimul dl E.

Mulțumesc și autorilor TinyBasic Plus:

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

Mulțumim și lui "djsadeepa", autorul Instructable pentru conectarea tastaturii PS2.

Pentru toți oamenii interesați de acest proiect: este mai ușor de construit, încât să pară la prima vedere. Principalele mele probleme au fost cu compatibilitățile Arduino IDE. Dacă aveți probleme, nu ezitați să cereți sugestii în comentarii.

Dacă aveți succes, vă rugăm să scrieți și un comentariu sau să partajați o imagine a dispozitivului pe care îl construiți.

Recomandat: