Sommario:

ESP32 VGA Tetris: 3 passaggi
ESP32 VGA Tetris: 3 passaggi

Video: ESP32 VGA Tetris: 3 passaggi

Video: ESP32 VGA Tetris: 3 passaggi
Video: 0035: Control Logic & Breadboard | 16-Bit Computer From Scratch 2024, Dicembre
Anonim
ESP32 VGA Tetris
ESP32 VGA Tetris

In questo Instructables mostrerò come creare un clone del classico gioco Tetris, utilizzando un ESP32 e generando l'output per un monitor VGA. Questo gioco è reso possibile dalla straordinaria libreria Arduino ESP32Lib realizzata da bitluni.

Avrai bisogno del supporto della scheda ESP32 installato nell'IDE Arduino (sto usando l'ultima versione disponibile ora, ovvero l'IDE 1.8.9). Lo trovi nel Gestore Libreria cercando “bitluni”. Poiché l'ultima versione è stata pubblicata solo un paio di settimane fa, è ancora in lavorazione ma fornisce già alcuni semplici esempi.

Rispetto ai miei progetti precedenti in cui ho scritto cloni di giochi vintage simili per Arduino o ESP8266, ESP32 è estremamente più potente, l'uscita VGA con varie risoluzioni (320x200, 320x240, 360x400, 460x480) e colori fino a 14Bit. Inoltre hai ordini di grandezza in più di memoria.

In questo clone di Tetris sto usando solo una risoluzione di 320x200 con 8 colori. Il codice è una rapida "conversione" di una versione precedente per Arduino VGA, quindi è mal progettato e non ottimizzato. D'altro canto, le potenzialità VGA di ESP32 sono molto più alte, dando la possibilità di scrivere giochi sempre più sofisticati paragonabili, immagino, a quelli dell'era DOS. Vorrei che questo progetto fosse utile ad altri produttori per scrivere molti altri giochi in futuro.

Passaggio 1: Schede ESP32, installazione e configurazione dell'IDE Arduino

Schede ESP32, installazione e configurazione dell'IDE Arduino
Schede ESP32, installazione e configurazione dell'IDE Arduino

Prima di tutto devi acquistare un ESP32. Ci sono molte versioni disponibili, ma consiglio di sceglierne una con molti pin. Ho comprato questa versione, ma puoi trovare altre tre versioni nella descrizione di questo video.

Esistono diversi metodi per programmare ESP32, ma qui è necessario utilizzare l'ultimo IDE Arduino. Per installarlo e per caricare la libreria VGA di bitluni ESP32lib, puoi seguire questo semplice tutorial. Mostra anche come configurare la tua scheda ESP32 specifica nell'IDE Arduino.

A questo punto puoi iniziare a caricare il primo esempio: vai su File/Examples/bitluni ESP32Lib/VGA2DFeatures, come mostrato nell'immagine all'inizio di questo passaggio. Se il caricamento funziona senza problemi, è necessario collegare la porta VGA come mostrato nel passaggio successivo.

Passaggio 2: connessione VGA e pulsanti

Connessione VGA e pulsanti
Connessione VGA e pulsanti

Per collegare il monitor VGA all'ESP32, puoi utilizzare un connettore femmina DSUB15 (ovvero uno standard VGA a 15 pin) o semplicemente tagliare un cavo VGA.

Per Tetris e per gli esempi della libreria a 8 colori, non è necessario alcun resistore, basta collegare i pin come segue:

  • VGA rosso a ESP32 ping G2
  • VGA verde a ESP32 ping G15
  • Da blu VGA a ESP32 ping G21
  • Da VGA Hsync a ESP32 ping G32
  • Da VGA Vsync a ESP32 ping G33
  • VGA GND a ESP32 GND

A questo punto dovresti essere in grado di vedere l'esempio VGA2DFeatures sul tuo monitor VGA.

Per giocare a Tetris, 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 per G26
  • pulsante sinistro a G34
  • pulsante ruota su G25
  • pulsante giù fino a G35

Ultimo passaggio: scarica ESP32_VGA_Tetris_V1.0.ino alla fine di questa pagina e copialo in una cartella con lo stesso nome.

Caricalo sul microcontrollore ESP32 e puoi iniziare subito a giocare a Tetris!

Fase 3: Conclusione e Ringraziamenti

Sono molto grato a bitluni, l'autore della libreria ESP32 VGA e dei tutorial ed esempi per utilizzarla e sfruttarla.

Per favore, visita il suo sito e il suo video per vedere maggiori dettagli e tutte le sue potenzialità.

Infine, se ti è piaciuto questo Instructable, considera di votarlo nel concorso Arduino & microcontrollori!

Consigliato: