Cuprins:
- Pasul 1: Lista materialelor
- Pasul 2: Încărcare bibliotecă și schiță
- Pasul 3: Conectarea pieselor: conectorul VGA
- Pasul 4: Conectarea pieselor: potențiometre și buton
- Pasul 5: Concluzii și mulțumiri
Video: ESP8266 VGA Pong: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
În acest Instructables voi arăta cum să construiesc o reproducere a jocului clasic Pong pentru un monitor VGA, folosind un ESP8266 și câteva alte componente.
Acest joc este posibil prin biblioteca EspVGAx publicată recent pe GitHub de Sandro Maffiodo (alias Smaffer) și, din câte știu, acesta este primul joc care îl exploatează.
Biblioteca implementează o rezoluție de 512 x 480 pixeli, stocată într-un framebuffer în memoria RAM, care necesită 30720 octeți. Rezoluția este imensă în comparație cu cele Arduino TVout sau cele VGAx (128 x 96 și respectiv 120 x 60 pixeli). Sper că acest joc îi inspiră pe alți programatori să dezvolte sau să reproducă jocuri mai complexe.
Pasul 1: Lista materialelor
Biblioteca EspVGAx necesită un ESP8266 cu toate GPIO expuse, cum ar fi placa ESP-12E, NodeMCU-12E sau orice placă care expune GPIO5 (D1), GPIO4 (D2) și GPIO13 (D7)
În special, am folosit:
- un ESP8266 NodeMCU-12E (link aici)
- un conector DSUB15 (adică un conector feminin VGA)
- un rezistor de 330 Ohm
- un alt rezistor (aproximativ 1 până la 3 kOhm)
- două potențiometre de 10 kOhm
- un buton de apăsare (n.o.)
- două diode (cum ar fi 1N4007s)
- o placă de măsurare
- fire
Am luat conectorul DSUB15 de pe o placă de computer VGA veche. Alternativ, puteți, de asemenea, să tăiați un cablu VGA vechi și să conectați firele direct la panou.
Pasul 2: Încărcare bibliotecă și schiță
Există diferite metode de programat și ESP8266; Am folosit ID-ul Arduino pentru a scrie Pong și a încărca codul.
Vă rugăm să rețineți că biblioteca EspVGAx funcționează pentru Arduino IDE 1.8.1. Dacă aveți alte versiuni, cel mai bun este să descărcați fișierele.zip și să le decomprimați într-un folder dedicat. Versiunea pentru Windows este aici. Versiunile pentru alte sisteme de operare sunt aici.
După aceea, ar trebui să descărcați biblioteca EspVGAx de pe pagina GithHub aici (link direct pentru versiunea zip aici) și să o decomprimați în bibliotecile de foldere din software-ul Arduino.
NB Există o mică eroare în fișierul espvgax_draw.h. Pentru a o corecta, înlocuiți doar linia 17:
while (x0% 32) {cu while (x0% 32 && sw> 32) {
În cele din urmă, puteți descărca ESP8266_Pong.rar la sfârșitul acestui pas.
Odată dezarhivat, pentru a-l încărca pe ESP8266, trebuie să configurați ID-ul Arduino.
Dacă nu ați făcut-o niciodată, puteți găsi toate instrucțiunile necesare în acest Instructables, în special în Pasul 2.
Odată ce totul este configurat, setările ESP8266 ar trebui să arate ca cele afișate în imaginea de mai sus.
Dacă puteți încărca codul fără erori, puteți începe să asamblați piesele.
Pasul 3: Conectarea pieselor: conectorul VGA
Vă recomand să conectați mai întâi portul VGA, așa cum se arată în imaginile de mai sus. Vă rugăm să rețineți că, conectând cei trei pini Roșu, Verde și Albastru împreună (adică pinii 1, 2 și 3 pe conectorul DSUB15), veți avea o imagine alb-negru pe ecran. De asemenea, puteți avea o combinație de culori diferite. Consultați detaliile pe pagina Library GitHub.
Mai mult, ar trebui să conectați un rezistor de 330 Ohm între pinii RGB și D7 (GPIO13) de pe ESP8266. Acest lucru mi-a oferit o imagine cam cenușie pe monitorul meu, astfel, după câteva încercări, am decis să o elimin deloc.
În acest moment, dacă totul funcționează corect, puteți conecta deja monitorul și puteți vedea ecranul inițial al jocului, cu bannerul "ESP8266 VGAx Pong".
Pasul 4: Conectarea pieselor: potențiometre și buton
Butonul trebuie să fie conectat între 3,3V și pinul D0 (GPIO16). Conectați, de asemenea, rezistența de 1 până la 3 kOhm de la D0 la masă. Acest lucru evită ca D0 să se afle într-o stare nedeterminată atunci când butonul este deschis.
Conexiunea celor două potențiometre este mai puțin banală, de fapt ESP8266 are doar un port de intrare analogic A0 (ADC0)! Trucul este să conectați ambele ieșiri pot.s la același port și să le „multiplexați”. Multiplexarea înseamnă pur și simplu că veți porni un potențiometru, îl veți citi, apoi îl veți opri și veți trece la al doilea.
Dacă doriți să aflați mai multe despre această metodă, puteți citi acest Instructable.
Conectați o extremă a potențiometrului la GND, cealaltă extremă la D5 pentru potențiometrul jucătorului din stânga și D6 pentru cel din dreapta.
Fiecare pin central al potențiometrului trebuie să se conecteze la o diodă individuală, iar celelalte părți ale diodelor trebuie să fie conectate la A0 (ADC0), cu polaritatea prezentată în imaginea de mai sus.
Pasul 5: Concluzii și mulțumiri
Îi sunt recunoscător lui Sandro Maffiodo - SMAFFER - pentru biblioteca ESPVGAX. Acest joc nu ar fi posibil fără el.
Sper că acest Instructable va fi o inspirație pentru alți programatori pentru a face reproduceri ale jocurilor arcade clasice mai complexe cu ESP8266, care are mult mai puține limitări decât Arduino.
În cele din urmă, am scris acest instructabil pentru a-l trimite la Concursul de jucării: dacă vă place sau îl reproduceți, vă rugăm să acordați un moment pentru a-l vota!
Recomandat:
VGA / GPU extern pentru laptopuri care utilizează EXP GDC Beast: 15 pași (cu imagini)
VGA / GPU extern pentru laptopuri folosind EXP GDC Beast: Salut băieți .. Acesta este primul meu tutorial despre instructabile. Engleza nu este prima mea limbă, așa că vă rog să iertați erorile mele gramaticale. Am făcut acest lucru pe baza experienței mele în actualizarea laptopului. Și nu te voi plictisi cu o lungă introducere, deoarece știu că nu
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: 6 pași (cu imagini)
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: Introducere PongMate CyberCannon Mark III este cea mai nouă și mai avansată tehnologie de bere pong care a fost vândută vreodată publicului. Cu noul CyberCannon, orice persoană poate deveni cel mai temut jucător de la masa de bere pong. Cum este asta p
Creați-vă propriul joc 1D Pong: 5 pași (cu imagini)
Asigurați-vă propriul joc 1D Pong: Pentru acest proiect vă voi arăta cum am combinat o placă MDF cu butoane sonore, LED-uri și un Arduino Nano pentru a crea un joc 1D Pong care este foarte distractiv de jucat. Pe parcurs vă voi arăta cum să creați circuitul electronic și cât de diferit
Jocuri Arcade și Joystick ESP32 VGA: 6 pași (cu imagini)
ESP32 VGA Arcade Games și Joystick: În acest instructiv, voi arăta cum să reproduc patru jocuri arcade precum Tetris - Snake - Breakout - Bomber - folosind un ESP32, cu ieșirea pentru un monitor VGA. Rezoluția este de 320 x 200 pixeli, în 8 culori. Am făcut anterior o versiune cu
PC de bază Arduino cu ieșire VGA: 5 pași (cu imagini)
PC de bază Arduino cu ieșire VGA: În Instructable-ul meu anterior am arătat cum să construiesc un computer retro pe 8 biți care rulează BASIC, prin intermediul a două Arduino și cu un semnal de ieșire în B & W pentru un ecran TV. Acum voi arăta cum să construiți același computer, dar cu semnalul de ieșire în