Sommario:

PC di base ESP32 con uscita VGA: 7 passaggi
PC di base ESP32 con uscita VGA: 7 passaggi

Video: PC di base ESP32 con uscita VGA: 7 passaggi

Video: PC di base ESP32 con uscita VGA: 7 passaggi
Video: Corso per programmare ESP32 2024, Luglio
Anonim
Image
Image
Schede ESP32, installazione di Arduino IDE e configurazione della libreria VGA
Schede ESP32, installazione di Arduino IDE e configurazione della libreria VGA

In questo Instructable mostrerò come costruire un semplice PC in stile retrò fatto con un singolo ESP32 e pochi altri componenti.

Questo PC esegue Tiny Basic, un dialetto semplificato di BASIC, e genera l'output per un monitor VGA.

La risoluzione è di 640x350 pixel, consentendo caratteri asci 80x25 in 8 colori. Una tastiera PS2 può essere collegata e utilizzata per scrivere il codice, consentendo fino a 14059 byte di memoria.

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

Questo progetto è reso possibile dalla fantastica libreria ESP32 VGA scritta da Fabrizio Di Vittorio. Vedi qui per maggiori dettagli.

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

Schede ESP32, installazione di Arduino IDE e configurazione della libreria VGA
Schede ESP32, installazione di Arduino IDE e configurazione della libreria VGA
Schede ESP32, installazione di Arduino IDE e configurazione della libreria VGA
Schede ESP32, installazione di Arduino IDE e configurazione della libreria VGA

Prima di tutto è necessario acquistare un ESP32 revisione 1 o superiore. Ci sono molte versioni disponibili, ma consiglio di sceglierne una con molti pin. Sto usando questa versione, ma penso che anche molte altre vadano bene. Ad esempio, nella descrizione di questo video, puoi trovare altri tre modelli che costano meno di 5 dollari.

Una volta ottenuta la scheda, è necessario procedere con i seguenti tre passaggi secondari:

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

Sottopasso 1.

Esistono diversi metodi per programmare ESP32, ma qui è necessario utilizzare l'ultimo IDE Arduino (sto usando la versione 1.8.9). Per installarlo, puoi andare alla pagina IDE di Arduino e seguire le istruzioni.

Sottopasso 2

Una volta eseguita l'operazione precedente, è necessario configurare il proprio ESP32 all'interno dell'IDE di Arduino. Questo non è banale, dal momento che ESP32 non è (ancora?) nativo in esso. Puoi seguire questo tutorial o i seguenti passaggi.

1) apri l'IDE Arduino

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

3) vai su “Ulteriori URL di 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/Board/Board Manager…

5) Cerca ESP32 e premi il pulsante di installazione per “ESP32 by Espressif Systems“:

6) A questo punto, quando colleghi per la prima volta il tuo ESP32, dovresti scegliere il modello giusto nella lunga lista di schede ESP32 disponibili (vedi l'immagine in questo passaggio). In caso di dubbi sul modello è sufficiente scegliere quello generico, ovvero il primo. Per me funziona.

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

Sottopasso 3

Infine devi installare la libreria FabGL VGA. [aggiornamento luglio 2019] Hai bisogno di una vecchia versione di questa libreria: puoi scaricare il file zip src.old.zip in fondo a questo passaggio, decomprimere e rinominare la cartella come "src" nel tuo

cartella " …\arduino-1.8.9\libraries ".

Una volta eseguite queste operazioni, puoi andare al passaggio successivo e caricare il TinyBasic modificato seguendo il passaggio successivo.

Passaggio 2: caricamento del codice di base minuscolo su ESP32

Caricamento del codice di base minuscolo su ESP32
Caricamento del codice di base minuscolo su ESP32
Caricamento del codice di base minuscolo su ESP32
Caricamento del codice di base minuscolo su ESP32

Scarica ESP32_TinyBasicPlus_PS2_FabLab_beta.ino in fondo a questo passaggio.

Aprilo con l'IDE Arduino e caricalo sul tuo ESP32 grezzo.

Se non hai messaggi di errore, il codice dovrebbe essere già in esecuzione.

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

Puoi vedere come appare nelle immagini in questo passaggio.

Passaggio 3: collegamento della porta VGA

Collegamento della porta VGA
Collegamento della porta VGA

Hai bisogno delle seguenti parti:

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

Collegare i pin 2, 15 e 21 del GPIO ESP32 rispettivamente a VGA Rosso, Verde e Blu, attraverso i resistori da 270 Ohm.

Collegare VGA Hsync e Vsync rispettivamente ai pin 17 e 4 di ESP32 GPIO.

Collegare i pin 5, 6, 7, 8 e 10 dei connettori DSUB15 a ESP32 GND.

Per la definizione del pin del connettore VGA DSUB15, vedere l'immagine in questo passaggio. NB, questo è il lato di saldatura del connettore femmina.

Passaggio 4: collegamento della porta PS2

Collegamento della porta PS2
Collegamento della porta PS2

Hai bisogno di un connettore femmina per tastiera PS2.

Puoi ottenerne uno da una vecchia scheda madre del PC, semplicemente disvendendolo con una pistola termica. Nell'immagine mostrata in questo passaggio, puoi trovare la funzione dei pin necessari del connettore PS2.

I collegamenti sono:

  • Dati della tastiera su ESP32 GPIO pin 32
  • Tastiera IRQ (clock) a ESP32 GPIO pin 33
  • È inoltre necessario collegare il pin 5V e quello GND.

Passaggio 5: programmazione con Tiny Basic

Programmazione con Tiny Basic
Programmazione con Tiny Basic
Programmazione con Tiny Basic
Programmazione con Tiny Basic

A questo punto, se puoi collegare il monitor VGA e la tastiera PS2 e l'ESP32 all'alimentazione.

L'immagine mostrata qui dovrebbe apparire sul monitor. Ora puoi giocare un po' con i comandi Tiny Basic.

Prova, ad esempio, l'obbligatorio Hello, Word! ciclo infinito:

10 stampa "Ciao, mondo!"

20 vai a 10

correre

Puoi cambiare in quattro colori diversi premendo il pulsante esc e interrompere il ciclo con ctrl+c

Nota che se fai un errore di battitura, non puoi cancellarlo! O meglio, si può cancellare ma poi la correzione dell'errore di battitura non viene riconosciuta. Devi riscrivere l'intera riga di comando.

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

Allora scrivi:

nuovo

10 i=1000

20 stampa i

30 ritardo i

40 dscrivi 13, alto

50 ritardo i

60 dwrite 13, basso

70 i=i*9/10

80 se i>0 vai a 20

90 fine

correre

Puoi vedere il risultato nel video incorporato in questo Instructable.

Passaggio 6: collegamento di una scheda di memoria SD

Collegamento di una scheda di memoria SD
Collegamento di una scheda di memoria SD
Collegamento di una scheda di memoria SD
Collegamento di una scheda di memoria SD

Un PC vintage, non importa quanto piccolo e debole, non può essere completo se non puoi memorizzare i tuoi programmi in modo permanente.

In questo passaggio mostrerò come collegare una scheda di memoria SD, ma purtroppo, per il momento (spero solo per il momento), la memorizzazione dei programmi non funziona!

A proposito, ho usato un adattatore da microSD a scheda SD e ho saldato 8 pin a forma di L come mostrato nell'immagine in questo passaggio.

Ho quindi collegato i pin degli adattatori SD all'ESP32 secondo la seconda immagine, ovvero ho collegato i pin 5, 18, 19, 23 del GPIO ESP32 a SC, clock, MISO, MOSO rispettivamente, più 3.3V e due GND.

Ho anche seguito le istruzioni e gli esempi trovati qui, e con il codice di esempio SD_test.ino, posso scrivere sulla mia scheda microSD da 2 GBytes.

Pertanto, se qualcuno trova una soluzione, per favore informami al più presto alla mia email [email protected] e completerò questo Instructable.

Passaggio 7: Ringraziamenti

Ringraziamenti
Ringraziamenti

Desidero esprimere i miei complimenti a Fabrizio Di Vittorio per la sua fantastica libreria ESP32 VGA. Per maggiori dettagli, esempi e… Space Invaders, visita il suo sito qui.

mille grazie anche agli autori di Tiny Basic:

  • Mike Field
  • Scott Lawrence
  • Brian O'Dell

Infine, se ti piace questo progetto, scrivi un commento o condividi una foto del dispositivo che costruisci… e, soprattutto, votalo al contest Arduino!

Consigliato: