Come realizzare un retro PC con ESP32 con uscita VGA

Nell’articolo di oggi vedremo come realizzare un semplice retro PC fatto con una singola scheda ESP32 e altri semplici componenti con uscita VGA.

Questo PC è in grado di eseguire Tiny Basic (“versione semplificata” di BASIC) in grado di generare l’output su monitor VGA.

La risoluzione del display è di 640×350 pixel, costituita da 80×25 caratteri asci in 8 colori.

A questo PC può essere collegato una tastiera PS/2 può essere collegata e utilizzata per scrivere codice. La memoria è di 14059 byte.

I pin I/O di ESP32 possono essere pilotati direttamente da comandi BASIC dedicati.

Questo progetto è reso possibile dalla libreria VGA ESP32 scritta da Fabrizio Di Vittorio . Clicca qui per maggiori informazioni.

Collegamento finale

I bottoni non sono assolutamente neccesari.

Passaggio 1: scheda ESP32, installazione IDE Arduino e configurazione della libreria VGA.

Per iniziare questo progetto è necessario acquistare una scheda ESP32 versione 1 o superiore. Consiglio di prendere una scheda ESP32 con molti pin. Questa scheda va bene per il completamento di questo progetto.

Altre tre schede che possono andare bene sono le seguenti:

Con la scheda a disposizione è neccesario procedere seguendo i tre step successivi:

  1. Installa l’ultimo IDE Arduino
  2. Configura l’ESP32 nell’IDE e
  3. Installa la libreria VGA

Sottopassaggio 1.

Esistono diversi metodi per programmare l’ESP32 ma per questo progetto consiglio di utilizzare Arduino IDE (la versione utilizzata in questo articolo è la 1.8.9). Per installarlo, puoi andare alla pagina IDE di Arduino e seguire le istruzioni indicate all’interno della pagina.

Sottopassaggio 2.

Ora è necessario configurare il proprio ESP32 all’interno dell’IDE di Arduino. I passaggi da effettuare sono i seguenti:

1) aprire l’IDE di Arduino

2) aprire la finestra delle preferenze, File/Preferenze , in alternativa premere “Ctrl+virgola”

3) vai su “URL aggiuntivi Board Manager”, copia e incolla il seguente testo:

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

e fare clic sul pulsante OK.

4) Gestore schede aperte. Vai a Strumenti/Scheda/Gestione schede…

5) Cercare ESP32 e premere il pulsante di installazione per “ESP32 by Espressif Systems“:

6) A questo punto, quando colleghi per la prima volta la tua ESP32, dovresti scegliere il modello giusto nella lunga lista di schede ESP32 disponibili (vedi immagine in questo passaggio) . In caso di dubbi sul modello, basta scegliere quello generico, ovvero il primo.

7) il sistema dovrebbe anche scegliere la giusta porta USB e la Velocità di Upload (normalmente 921600). A questo punto dovrebbe essere stabilita la connessione tra il tuo PC e la scheda ESP32.

Sottopassaggio 3.

Ora ti tocca installare la libreria FabGL VGA . Puoi scaricare il file zip src.old.zip da questo link, decomprimere e rinominare la cartella come ” src ” nella tua cartella

” …\arduino-1.8.9\librerie “.

Ora possiamo caricare TinyBasic

Passaggio 2: caricamento del codice Tiny Basic su ESP32

Scarica ESP32_TinyBasicPlus_PS2_FabLab_beta.ino da questo link.

Apri il file appena scaricato traamite il software Arduino IDE e carica il codice sulla tua scheda ESP32.

Se non ci sono messaggi di errore il codice dovrebbe essere in esecuzione sulla scheda.

Passaggio facoltativo: se vuoi testare TinyBasic prima di collegare la tastiera VGA e PS2, puoi già farlo con un client SSH e telnet. Puoi usare PuTTY.

vga

vga

Passaggio 3: collegamento della porta VGA

Hai bisogno delle seguenti componenti:

  • un connettore DSUB15, ovvero un connettore VGA femmina o un cavo VGA da tagliare.
  • tre resistori da 270 Ohm.

Collegare i connettori DSUB15 pin a ESP32 GND.

  • VGA rosso al pin G2 di ESP32 con resistore da 270 Ohm.
  • VGA verde al pin G15 di ESP32 con resistore da 270 Ohm.
  • VGA blu al pin G21 di ESP32 con resistore da 270 Ohm.
  • VGA Hsync al pin G17 di ESP32
  • VGA Vsync al pin G4 di ESP32
  • VGA GND (5, 6, 7, 8 e 10 ) al pin GND dell’ESP32

Per giocare ad eventuali giochi come tetris (lo vedremo in un prossimo articolo), hai bisogno di quattro pulsanti e quattro resistori da circa 1 a 2 kOhm.

Collegare i quattro resistori da GND ai pin ESP32 G25, G26, G34 e G35.

Collegare un lato del pulsante a ESP32 3,3 Volt e l’altro lato come segue:

  • pulsante a destra su G26
  • pulsante a sinistra su G34
  • ruotare il pulsante su G25
  • pulsante fino a G35

Passaggio 4 Ora colleghiamo la tastiera PS/2.

Dobbiamo colleggare 4 pin.

  • Tastiera dati al pin GPIO 32 di ESP32,
  • Tastiera IRQ (clock) al pin 33 di ESP32.
  • e collegare anche la terra (GND)
  • l’alimentazione + 5V, rispettivamente.

Puoi utilizzare un connettore PS/2 di una vecchia scheda madre non funzionante.

Il pinout del connettore PS/2 è mostrato nella figura sottostante:

vga

Per maggiori informazioni clicca qui.

Passaggio 5: programmazione con Tiny Basic

A questo punto collega il monitor VGA e la tastiera PS2 e l’ESP32 all’alimentazione.

Dovebbe comparire sul monitor questo:

vga

Ora puoi giocare un po’ con i comandi Tiny Basic

Prova Hello, Word:

Ora puoi provare qualcosa di più complesso, come pilotare il lampeggio di un LED con un programma di base. Collegare, ad esempio, l’anodo LED (la gamba lunga) a ESP32 GPIO pin 13 e il catodo a GND.

Scrivi:

Puoi vedere i risultati guardando il seguente video:

 

Approfondimenti

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.