Sommario:
- Passaggio 1: elenco dei materiali
- Passaggio 2: caricamento della libreria e dello schizzo
- Passaggio 3: collegamento delle parti: il connettore VGA
- Passaggio 4: collegamento delle parti: i potenziometri e il pulsante
- Fase 5: Conclusione e Ringraziamenti
Video: ESP8266 VGA Pong: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
In questo Instructables mostrerò come costruire una riproduzione del classico gioco Pong per un monitor VGA, utilizzando un ESP8266 e pochi altri componenti.
Questo gioco è reso possibile dalla libreria EspVGAx recentemente pubblicata su GitHub da Sandro Maffiodo (alias Smaffer) e, per quanto ne so, questo è il primo gioco che lo sfrutta.
La libreria implementa una risoluzione di 512 x 480 pixel, memorizzata in un framebuffer all'interno della RAM, che richiede 30720 byte. La risoluzione è enorme rispetto a quelle di Arduino TVout o VGAx (rispettivamente 128 x 96 e 120 x 60 pixel). Spero che questo gioco ispiri altri programmatori a sviluppare o riprodurre giochi più complessi.
Passaggio 1: elenco dei materiali
La libreria EspVGAx richiede un ESP8266 con tutti i GPIO esposti, come la scheda ESP-12E, NodeMCU-12E o qualsiasi scheda che esponga GPIO5 (D1), GPIO4 (D2) e GPIO13 (D7)
In particolare ho utilizzato:
- un ESP8266 NodeMCU-12E (link qui)
- un connettore DSUB15 (cioè un connettore VGA femmina)
- un resistore da 330 Ohm
- un altro resistore (da circa 1 a 3 kOhm)
- due potenziometri da 10 kOhm
- un pulsante (n.a.)
- due diodi (come 1N4007s)
- una breadboard
- fili
Ho preso il connettore DSUB15 da una vecchia scheda PC VGA. In alternativa, puoi anche tagliare un vecchio cavo VGA e collegare i fili direttamente alla breadboard.
Passaggio 2: caricamento della libreria e dello schizzo
Esistono diversi metodi per programmare ed ESP8266; Ho usato l'IDE di Arduino per scrivere Pong e caricare il codice.
Si prega di notare che la libreria EspVGAx funziona per Arduino IDE 1.8.1. Se hai altre versioni, la cosa migliore è scaricare i file.zip e decomprimerli in una cartella dedicata. La versione per Windows è qui. Le versioni per altri OS sono qui.
Successivamente, dovresti scaricare la libreria EspVGAx dalla pagina GithHub qui (link diretto per la versione zip qui) e decomprimerla nelle librerie di cartelle nel software Arduino.
NB C'è un piccolo bug nel file espvgax_draw.h. Per correggerlo basta sostituire la riga 17:
while (x0%32) { con while (x0%32 && sw > 32) {
Infine puoi scaricare ESP8266_Pong.rar alla fine di questo passaggio.
Una volta decompresso, per caricarlo sul tuo ESP8266, devi configurare l'IDE di Arduino.
Se non l'hai mai fatto, puoi trovare tutte le istruzioni necessarie su questo Instructables, in particolare nel passaggio 2.
Una volta che tutto è configurato, le impostazioni di ESP8266 dovrebbero assomigliare a quelle mostrate nell'immagine sopra.
Se riesci a caricare il codice senza errori, puoi iniziare ad assemblare le parti.
Passaggio 3: collegamento delle parti: il connettore VGA
Consiglio di collegare prima la porta VGA, come mostrato nelle immagini sopra. Tieni presente che collegando i tre pin Rosso, Verde e Blu insieme (cioè i pin 1, 2 e 3 sul connettore DSUB15), avrai un'immagine in bianco e nero sullo schermo. Puoi anche avere diverse combinazioni di colori. Vedere i dettagli nella pagina GitHub della libreria.
Inoltre, dovresti collegare una resistenza da 330 Ohm tra i pin RGB e il D7 (GPIO13) sull'ESP8266. Questo mi ha dato un'immagine un po' grigiastra sul mio monitor quindi, dopo alcuni tentativi, ho deciso di eliminarla del tutto.
A questo punto, se tutto funziona correttamente, puoi già collegare il monitor e vedere la schermata iniziale del gioco, con il banner "ESP8266 VGAx Pong".
Passaggio 4: collegamento delle parti: i potenziometri e il pulsante
Il pulsante deve essere collegato tra 3.3V e pin D0 (GPIO16). Collegare anche la resistenza da 1 a 3 kOhm da D0 a massa. Questo evita che D0 si trovi in uno stato indeterminato quando il pulsante è aperto.
Il collegamento dei due potenziometri è meno banale, infatti l'ESP8266 ha solo una porta di ingresso analogico A0 (ADC0)! Il trucco è connettere entrambe le uscite pot.s alla stessa porta e 'multiplexarle'. Multiplexing significa semplicemente che accenderai un potenziometro, lo leggerai, quindi lo spegnerai e passerai al secondo.
Se vuoi saperne di più su questo metodo, puoi leggere questo Instructable.
Collegare un estremo del potenziometro a GND, l'altro estremo a D5 per il potenziometro del giocatore sinistro e D6 per quello del giocatore destro.
Ogni pin centrale del potenziometro deve essere collegato ad un singolo diodo, e gli altri lati dei diodi devono essere collegati ad A0 (ADC0), con la polarità mostrata nella figura sopra.
Fase 5: Conclusione e Ringraziamenti
Ringrazio Sandro Maffiodo - SMAFFER - per la libreria ESPVGAX. Questo gioco non sarebbe possibile senza di esso.
Spero che questo Instructable sia d'ispirazione per altri programmatori per realizzare riproduzioni di giochi arcade classici più complessi con ESP8266, che ha molte meno limitazioni rispetto ad Arduino.
Infine, ho scritto questo Instructable per sottoporlo al Toys Contest: se ti piace o lo riproduci, prenditi un momento per votarlo!
Consigliato:
VGA/GPU esterna per laptop che utilizzano EXP GDC Beast: 15 passaggi (con immagini)
VGA/GPU esterna per laptop che utilizzano EXP GDC Beast: Ciao ragazzi.. Questo è il mio primo tutorial sugli istruttori. L'inglese non è la mia prima lingua quindi per favore perdona i miei errori grammaticali. L'ho fatto in base alla mia esperienza nell'aggiornamento del mio laptop. E non ti annoierò con lunghe presentazioni poiché non so
Pong Tennis con matrice LED, Arduino e joystick: 5 passaggi (con immagini)
Pong Tennis con LED Matrix, Arduino e Joystick: questo progetto è pensato per principianti ed esperti. A un livello base può essere fatto con una breadboard, dei ponticelli e attaccato a un pezzo di materiale di scarto (ho usato il legno) con Blu-Tack e senza saldature. Tuttavia, con un ulteriore anticipo
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
Come smontare un computer con semplici passaggi e immagini: 13 passaggi (con immagini)
Come smontare un computer con semplici passaggi e immagini: questa è un'istruzione su come smontare un PC. La maggior parte dei componenti di base sono modulari e facilmente smontabili. Tuttavia è importante che tu sia organizzato al riguardo. Questo ti aiuterà a non perdere parti e anche a rendere più facile il rimontaggio
Display a LED per cappelli con Pong: 12 passaggi (con immagini)
Display LED Hat With Pong: Tempo fa, come mio primo progetto di microcontrollore, ho realizzato un gioco Pong su un display LED 5x7, ma poi non è successo niente. Recentemente mi è stato dato un elmetto come parte di un'uniforme (per un concorso di ingegneria) e mi è stato detto di personalizzarlo, e mi sono ricordato