Cuprins:

PC de bază ESP32 cu ieșire VGA: 7 pași
PC de bază ESP32 cu ieșire VGA: 7 pași

Video: PC de bază ESP32 cu ieșire VGA: 7 pași

Video: PC de bază ESP32 cu ieșire VGA: 7 pași
Video: Electronica - echipamente minime necesare 2024, Noiembrie
Anonim
Image
Image
Plăci ESP32, instalare Arduino IDE și configurare bibliotecă VGA
Plăci ESP32, instalare Arduino IDE și configurare bibliotecă VGA

În acest Instructable voi arăta cum să construiesc un PC simplu în stil retro realizat cu un singur ESP32 și câteva alte componente.

Acest computer rulează Tiny Basic, un dialect simplificat al BASIC și generează ieșirea pentru un monitor VGA.

Rezoluția este de 640x350 pixeli, permițând 80x25 caractere asc în 8 culori. O tastatură PS2 poate fi conectată și utilizată pentru a scrie codul, permițând până la 14059 octeți de memorie.

Pinii ESP32 I / O pot fi direcționați direct prin comenzi BASIC dedicate.

Acest proiect este posibil datorită minunatei biblioteci ESP32 VGA scrisă de Fabrizio Di Vittorio. Vezi aici pentru mai multe detalii.

Pasul 1: plăci ESP32, instalare Arduino IDE și configurare bibliotecă VGA

Plăci ESP32, instalare Arduino IDE și configurare bibliotecă VGA
Plăci ESP32, instalare Arduino IDE și configurare bibliotecă VGA
Plăci ESP32, instalare Arduino IDE și configurare bibliotecă VGA
Plăci ESP32, instalare Arduino IDE și configurare bibliotecă VGA

Mai întâi de toate, trebuie să achiziționați un ESP32 revision 1 sau superior. Există multe versiuni disponibile, dar vă recomand să alegeți una cu mai mulți pini. Folosesc această versiune, dar cred că și alții sunt bine. De exemplu, în descrierea acestui videoclip, puteți găsi alte trei modele care sunt sub 5 dolari.

După ce obțineți placa, trebuie să continuați cu următorii trei sub-pași:

  1. Instalați ultimul IDE Arduino
  2. Configurați ESP32 în IDE și
  3. Instalați biblioteca VGA

Sub-pasul 1.

Există diferite metode pentru a programa ESP32, dar aici trebuie să utilizați cel mai recent IDE Arduino (folosesc versiunea 1.8.9). Pentru ao instala, puteți accesa pagina IDE Arduino și urmați instrucțiunile.

Sub-pasul 2

Odată ce operația anterioară a fost finalizată, trebuie să vă configurați ESP32 în Arduino IDE. Acest lucru nu este banal, deoarece ESP32 nu este (încă?) Nativ în el. Puteți urma acest tutorial sau pașii următori.

1) deschideți ID-ul Arduino

2) deschideți fereastra de preferințe, Fișier / Preferință, alternativ apăsați „Ctrl + virgulă”

3) accesați „Adresele URL suplimentare ale administratorului de bord”, copiați și lipiți următorul text:

https://dl.espressif.com/dl/package_esp32_index.json

și faceți clic pe butonul OK.

4) Open board manager. Mergeți la Instrumente / Board / Boards Manager …

5) Căutați ESP32 și apăsați butonul de instalare pentru „ESP32 by Espressif Systems“:

6) În acest moment, când vă conectați pentru prima dată la ESP32, ar trebui să alegeți modelul potrivit în lista lungă a plăcilor ESP32 disponibile (consultați imaginea din acest pas). În caz de îndoieli cu privire la model, alegeți-l pe cel generic, adică primul. Merge pentru mine.

7) sistemul ar trebui să aleagă și portul USB corect și viteza de încărcare (în mod normal, 921600). În acest moment ar trebui stabilită conexiunea dintre computerul dvs. și placa ESP32.

Sub-pasul 3

În cele din urmă trebuie să instalați biblioteca VGA FabGL. [actualizare iulie 2019] Aveți nevoie și o versiune veche a acestui libray: puteți descărca fișierul zip src.old.zip în partea de jos a acestui pas, decomprimați și redenumiți folderul ca „src” în

Dosarul „… / arduino-1.8.9 / biblioteci”.

După ce ați făcut aceste operații, puteți trece la pasul următor și puteți încărca TinyBasic modificat urmând pasul următor.

Pasul 2: Încărcarea codului de bază Tiny pe ESP32

Încărcarea codului de bază Tiny pe ESP32
Încărcarea codului de bază Tiny pe ESP32
Încărcarea codului de bază Tiny pe ESP32
Încărcarea codului de bază Tiny pe ESP32

Descărcați ESP32_TinyBasicPlus_PS2_FabLab_beta.ino în partea de jos a acestui pas.

Deschideți-l cu IDE-ul Arduino și încărcați-l în ESP32 brut.

Dacă nu aveți mesaje de eroare, codul ar trebui să ruleze deja.

Pas facultativ: dacă doriți să testați TinyBasic înainte de a conecta tastatura VGA și PS2, o puteți face deja cu un client SSH și telnet. Eu folosesc PuTTY.

Puteți vedea cum arată în imagini în acest pas.

Pasul 3: Conectarea portului VGA

Conectarea portului VGA
Conectarea portului VGA

Aveți nevoie de următoarele părți:

  • un conector DSUB15, adică un conector VGA mamă sau un cablu VGA care trebuie tăiat.
  • trei rezistențe de 270 Ohm.

Conectați pinul ESP32 GPIO 2, 15 și 21 la VGA roșu, respectiv verde și albastru, prin intermediul rezistențelor de 270 Ohm.

Conectați VGA Hsync și Vsync la pinii GP32 ESP32 și respectiv 4.

Conectați pinii 5, 6, 7, 8 și 10 ai conectorilor DSUB15 la ESP32 GND.

Pentru definiția pinului conectorului VGA DSUB15, consultați imaginea din acest pas. NB, aceasta este partea de lipit a conectorului feminin.

Pasul 4: Conectarea portului PS2

Conectarea portului PS2
Conectarea portului PS2

Aveți nevoie de un conector de sex feminin pentru tastatură PS2.

Puteți obține una de pe o placă de bază pentru PC veche, pur și simplu o vindeți cu un pistol de căldură. În imaginea prezentată în acest pas, puteți găsi funcția pinilor necesari ai conectorului PS2.

Conexiunea este:

  • Date de la tastatură la pinul 32 ESPIO GPIO
  • Tastatură IRQ (ceas) la ESP32 GPIO pin 33
  • De asemenea, trebuie să conectați pinul de 5V și cel GND.

Pasul 5: Programarea cu Tiny Basic

Programare cu Tiny Basic
Programare cu Tiny Basic
Programare cu Tiny Basic
Programare cu Tiny Basic

În acest moment, dacă puteți conecta monitorul VGA și tastatura PS2 și ESP32 la sursa de alimentare.

Imaginea prezentată aici ar trebui să apară pe monitor. Acum puteți juca puțin cu comenzile Tiny Basic.

Încercați, de exemplu, Bună ziua, Word! buclă infinită:

10 tipărește "Bună ziua, lume!"

20 merge la 10

alerga

Puteți schimba în patru culori diferite apăsând butonul esc și opriți bucla cu ctrl + c

Rețineți că, dacă faceți o greșeală de scriere, nu o puteți anula! Sau mai bine, puteți anula, dar corectarea greșelilor de tip nu este recunoscută. Trebuie să rescrieți întreaga linie de comandă.

Acum puteți încerca ceva mai complex, cum ar fi să conduceți clipirea unui LED cu un program de bază. Conectați, de exemplu, anodul LED (piciorul lung) la pinul ESP32 GPIO 13 și catodul la GND.

Apoi scrie:

nou

10 i = 1000

20 tipar i

30 întârziere i

40 dwrite 13, mare

50 întârziere i

60 dwrite 13, scăzut

70 i = i * 9/10

80 dacă i> 0 merge la 20

90 sfârșit

alerga

Puteți vedea rezultatul în videoclipul încorporat în acest instructabil.

Pasul 6: Conectarea unui card de memorie SD

Conectarea unui card de memorie SD
Conectarea unui card de memorie SD
Conectarea unui card de memorie SD
Conectarea unui card de memorie SD

Un PC de epocă, indiferent cât de mic și slab este, nu poate fi complet dacă nu puteți stoca programele dvs. permanent.

În acest pas voi arăta cum să conectez un card de memorie SD, dar din păcate, pentru moment (sper doar pentru moment), stocarea programelor nu funcționează!

BTW, am folosit un adaptor microSD la card SD și am lipit 8 pini în formă de L așa cum se arată în imagine în acest pas.

Am conectat apoi pinii adaptorilor SD la ESP32 conform celei de-a doua imagini, adică am conectat pinii ESP32 GPIO 5, 18, 19, 23 la SC, ceas, MISO, respectiv MOSO, plus 3.3V și două GND.

De asemenea, am urmat instrucțiunile și exemplele găsite aici și, cu codul de exemplu SD_test.ino, pot scrie pe cardul meu microSD de 2 GB.

Astfel, dacă cineva găsește o soluție, vă rugăm să mă informați cât mai curând posibil la e-mailul meu [email protected] și voi completa acest instructabil.

Pasul 7: Mulțumiri

Mulțumiri
Mulțumiri

Doresc să-mi exprim tancurile către Fabrizio Di Vittorio pentru biblioteca sa minunată ESP32 VGA. Pentru mai multe detalii, exemple și … Space Invaders, vizitați site-ul său aici.

mulțumiri și autorilor Tiny Basic:

  • Mike Field
  • Scott Lawrence
  • Brian O'Dell

În cele din urmă, dacă vă place acest proiect, vă rugăm să scrieți un comentariu sau să împărtășiți o imagine a dispozitivului pe care îl construiți … și, mai presus de toate, votați-l în cadrul concursului Arduino!

Recomandat: