Cuprins:

ESP8266 VGA Pong: 5 pași (cu imagini)
ESP8266 VGA Pong: 5 pași (cu imagini)

Video: ESP8266 VGA Pong: 5 pași (cu imagini)

Video: ESP8266 VGA Pong: 5 pași (cu imagini)
Video: Mining Dogecoin Menggunakan VGA Withdraw Otomatis Ke Indodax 2024, Noiembrie
Anonim
Image
Image
Lista materialelor
Lista materialelor

Î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ță

Bibliotecă și încărcare schiță
Bibliotecă și încărcare 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

Conectarea pieselor: conectorul VGA
Conectarea pieselor: conectorul VGA
Conectarea pieselor: conectorul VGA
Conectarea pieselor: conectorul VGA
Conectarea pieselor: conectorul VGA
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

Conectarea pieselor: potențiometre și buton
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: