Taula de continguts:

PC bàsic ESP32 amb sortida VGA: 7 passos
PC bàsic ESP32 amb sortida VGA: 7 passos

Vídeo: PC bàsic ESP32 amb sortida VGA: 7 passos

Vídeo: PC bàsic ESP32 amb sortida VGA: 7 passos
Vídeo: The computers still work in the abandoned research lab 2024, Juliol
Anonim
Image
Image
Targetes ESP32, instal·lació IDE Arduino i configuració de la biblioteca VGA
Targetes ESP32, instal·lació IDE Arduino i configuració de la biblioteca VGA

En aquest instructiu mostraré com construir un PC d’estil retro senzill fet amb un únic ESP32 i pocs components més.

Aquest ordinador funciona amb Tiny Basic, un dialecte simplificat de BASIC, i genera la sortida d’un monitor VGA.

La resolució és de 640x350 píxels, cosa que permet 80x25 caràcters d’asques en 8 colors. Es poden connectar teclats PS2 i utilitzar-los per escriure el codi, permetent fins a 14059 bytes de memòria.

Els pins d'E / S ESP32 es poden accionar directament mitjançant ordres bàsiques dedicades.

Aquest projecte és possible gràcies a la fantàstica biblioteca VGA ESP32 escrita per Fabrizio Di Vittorio. Consulteu aquí per obtenir més detalls.

Pas 1: targetes ESP32, instal·lació IDE Arduino i configuració de la biblioteca VGA

Targetes ESP32, instal·lació IDE Arduino i configuració de la biblioteca VGA
Targetes ESP32, instal·lació IDE Arduino i configuració de la biblioteca VGA
Targetes ESP32, instal·lació IDE Arduino i configuració de la biblioteca VGA
Targetes ESP32, instal·lació IDE Arduino i configuració de la biblioteca VGA

Primer de tot, heu de comprar un ESP32 revision 1 o superior. Hi ha moltes versions disponibles, però recomano triar-ne una amb molts pins. Estic fent servir aquesta versió, però crec que moltes altres també estan bé. Per exemple, a la descripció d’aquest vídeo, podeu trobar altres tres models que tenen menys de 5 dòlars.

Un cop obtingueu el tauler, heu de continuar amb els següents tres passos següents:

  1. Instal·leu l'últim ID Arduino
  2. Configureu l'ESP32 a l'IDE i
  3. Instal·leu la biblioteca VGA

Subpàs 1.

Hi ha diferents mètodes per programar l’ESP32, però aquí heu d’utilitzar el darrer ID Arduino (estic fent servir la versió 1.8.9). Per instal·lar-lo, podeu anar a la pàgina Arduino IDE i seguir les instruccions.

Subpàs 2

Un cop feta l'operació anterior, heu de configurar el vostre ESP32 dins de l'IDE Arduino. Això no és trivial, ja que l’ESP32 no hi és (encara?) Natiu. Podeu seguir aquest tutorial o els passos següents.

1) obriu l'IDE Arduino

2) obriu la finestra de preferències, Fitxer / Preferència, o bé premeu "Ctrl + coma"

3) aneu a "URL addicionals del gestor de taules", copieu i enganxeu el text següent:

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

i feu clic al botó D'acord.

4) Gestor de taules obertes. Aneu a Tools / Board / Boards Manager …

5) Cerqueu ESP32 i premeu el botó d'instal·lació de "ESP32 by Espressif Systems":

6) En aquest moment, quan connecteu per primera vegada el vostre ESP32, haureu de triar el model adequat a la llarga llista de taules ESP32 disponibles (vegeu la imatge d’aquest pas). En cas de dubtes sobre el model, només heu de triar el genèric, és a dir, el primer. Em funciona.

7) el sistema també ha de triar el port USB adequat i la velocitat de càrrega (normalment 921600). En aquest punt s’hauria d’establir la connexió entre el vostre PC i la placa ESP32.

Subpàs 3

Finalment, heu d’instal·lar la biblioteca VGA de FabGL. [Actualitzeu juliol de 2019] Necessiteu una versió anterior d’aquest libray: podeu descarregar el fitxer zip src.old.zip a la part inferior d’aquest pas, descomprimiu i canvieu el nom de la carpeta com a "src" al vostre

Carpeta "… / arduino-1.8.9 / biblioteques".

Un cop hàgiu fet aquestes operacions, podeu passar al següent pas i penjar el TinyBasic modificat seguint el següent pas.

Pas 2: càrrega del codi bàsic petit a l'ESP32

S'està carregant el codi bàsic de Tiny a l'ESP32
S'està carregant el codi bàsic de Tiny a l'ESP32
S'està carregant el codi bàsic de Tiny a l'ESP32
S'està carregant el codi bàsic de Tiny a l'ESP32

Baixeu ESP32_TinyBasicPlus_PS2_FabLab_beta.ino al final d’aquest pas.

Obriu-lo amb l'IDE Arduino i pengeu-lo al vostre ESP32 en brut.

Si no teniu missatges d'error, el codi ja s'hauria d'executar.

Pas facultatiu: si voleu provar TinyBasic abans de connectar el teclat VGA i PS2, ja ho podeu fer amb un client SSH i telnet. Faig servir PuTTY.

Podeu veure com queda a les imatges d’aquest pas.

Pas 3: Connexió del port VGA

Connexió del port VGA
Connexió del port VGA

Necessiteu les parts següents:

  • un connector DSUB15, és a dir, un connector femella VGA o un cable VGA per tallar.
  • tres resistències de 270 Ohm.

Connecteu el pin 2, 15 i 21 GP32 ESPIO a VGA vermell, verd i blau respectivament, mitjançant les resistències de 270 Ohm.

Connecteu el VGA Hsync i el Vsync als pins GPIO ESP32 17 i 4 respectivament.

Connecteu els pins dels connectors DSUB15 5, 6, 7, 8 i 10 a ESP32 GND.

Per obtenir la definició del pin del connector VGA DSUB15, consulteu la imatge d’aquest pas. Nota: aquest és el costat de soldadura del connector femella.

Pas 4: Connexió del port PS2

Connexió del port PS2
Connexió del port PS2

Necessiteu un connector femella de teclat PS2.

Podeu obtenir-ne una des de la placa base de l'antiga PC, simplement la heu de vendre amb una pistola de calor. A la imatge que es mostra en aquest pas, podeu trobar la funció dels pins necessaris del connector PS2.

La connexió és:

  • Dades del teclat al pin 32 ESPIO GPIO
  • Teclat IRQ (rellotge) a ESP32 GPIO pin 33
  • També heu de connectar el pin de 5 V i el GND.

Pas 5: programació amb Tiny Basic

Programació amb Tiny Basic
Programació amb Tiny Basic
Programació amb Tiny Basic
Programació amb Tiny Basic

En aquest punt, si podeu connectar el monitor VGA i el teclat PS2 i l’ESP32 a la font d’alimentació.

La imatge que es mostra aquí hauria d'aparèixer al monitor. Ara podeu jugar una mica amb les ordres de Tiny Basic.

Proveu, per exemple, l'obligatori Hola, Word! bucle infinit:

10 imprimir "Hola, món!"

20 passa 10

correr

Podeu canviar en quatre colors diferents prement el botó esc i aturar el bucle amb ctrl + c

Tingueu en compte que si feu un error d’error, no el podeu cancel·lar. O millor, podeu cancel·lar, però la correcció de l’error no es reconeix. Heu de reescriure tota la línia d’ordres.

Ara podeu provar quelcom més complex, com ara fer parpellejar un LED amb un programa bàsic. Connecteu, per exemple, l’ànode LED (la cama llarga) al pin 13 GPIO ESP32 i el càtode a GND.

Llavors escriu:

nou

10 i = 1000

20 imprimir i

30 retard i

40 dwrite 13, alt

50 retard i

60 dwrite 13, baix

70 i = i * 9/10

80 si i> 0 passa a 20

90 final

correr

Podeu veure el resultat al vídeo incrustat en aquest document instructiu.

Pas 6: connectar una targeta de memòria SD

Connexió d'una targeta de memòria SD
Connexió d'una targeta de memòria SD
Connexió d'una targeta de memòria SD
Connexió d'una targeta de memòria SD

Un PC vintage, per molt petit que sigui, no pot estar complet si no podeu emmagatzemar els vostres programes de manera permanent.

En aquest pas mostraré com connectar una targeta de memòria SD, però malauradament, de moment (només espero de moment), l’emmagatzematge de programes no funciona.

Per cert, he utilitzat un adaptador de targeta microSD a SD i he soldat 8 pins en forma de L com es mostra a la imatge d’aquest pas.

Després vaig connectar els pins dels adaptadors SD a l’ESP32 segons la segona imatge, és a dir, vaig connectar els pins GPIO ESP32 5, 18, 19, 23 a SC, clock, MISO, MOSO respectivament, més 3,3 V i dos GND.

També he seguit les instruccions i exemples que es troben aquí i, amb el codi d'exemple SD_test.ino, puc escriure a la meva targeta microSD de 2 GB.

Per tant, si algú troba una solució, si us plau, informe’m al més aviat possible al meu correu electrònic [email protected] i completaré aquesta instrucció.

Pas 7: Agraïments

Agraïments
Agraïments

Vull expressar els meus tancs a Fabrizio Di Vittorio per la seva impressionant biblioteca VGA ESP32. Per obtenir més detalls, exemples i … Space Invaders, visiteu el seu lloc aquí.

moltes gràcies també als autors de Tiny Basic:

  • Mike Field
  • Scott Lawrence
  • Brian O'Dell

Finalment, si us agrada aquest projecte, escriviu un comentari o compartiu una imatge del dispositiu que construïu … i, sobretot, voteu-lo al concurs Arduino.

Recomanat: