Sommario:
- Passaggio 1: schede ESP32, installazione IDE Arduino e configurazione della libreria VGA
- Passaggio 2: caricamento del codice di base minuscolo su ESP32
- Passaggio 3: collegamento della porta VGA
- Passaggio 4: collegamento della porta PS2
- Passaggio 5: programmazione con Tiny Basic
- Passaggio 6: collegamento di una scheda di memoria SD
- Passaggio 7: Ringraziamenti
Video: PC di base ESP32 con uscita VGA: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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:
- Installa l'ultimo IDE Arduino
- Configura ESP32 nell'IDE e
- 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
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
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
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
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
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
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:
Switch-it, uscita automatica con misurazione della corrente in tempo reale: 6 passaggi
Switch-it, presa automatica con misurazione della corrente in tempo reale: mi piace molto l'automazione, la capacità di controllare quando deve succedere qualcosa. Questo è ciò che mi ha fatto venire questa idea: uno sfogo autocostruito e automatico. Può essere utilizzato per pianificare quando è necessario accendere le luci, quando è necessario caricare i telefoni o
Tobias - Arduino Music Box con uscita TV: 5 passaggi (con immagini)
Tobias - Arduino Music Box With TVout: Prima di tutto, lascia che ti presenti Tobias, l'orsacchiotto gigante della mia ragazza, che è l'ispirazione per questo progetto. Tobias ha una personalità, costruita nel tempo mentre ci chiediamo scherzosamente nella nostra mente cosa fa mentre lei è via al lavoro. Il progetto è stato
Arduino Basic PC con uscita VGA: 5 passaggi (con immagini)
Arduino Basic PC With VGA Output: Nel mio precedente Instructable ho mostrato come costruire un computer retrò a 8 bit con BASIC, tramite due Arduino, e con un segnale di uscita in B&W per uno schermo TV. Ora mostrerò come costruire lo stesso computer, ma con il segnale di uscita in
PropVario, un variometro/altimetro fai-da-te con uscita vocale per alianti RC: 7 passaggi (con immagini)
PropVario, un variometro/altimetro fai-da-te con uscita vocale per alianti RC: queste istruzioni ti mostreranno come costruire un Vario economico, che potrebbe parlare l'altitudine e, naturalmente, inviare vari toni quando si cambia l'altezza del tuo aliante. Alcune caratteristiche: - voce e tono - usa i tuoi campioni (wave-) nella tua la
Arduino Basic PC con uscita TV: 5 passaggi (con immagini)
Arduino Basic PC con uscita TV: in questo Instructables mostrerò come costruire un computer retrò a 8 bit con BASIC, per mezzo di due Arduino e pochi altri componenti. Puoi inserire le variabili e il programma BASIC con una tastiera PS2 e l'output viene mostrato su un monitor con un