Turinys:

ESP8266 VGA tenisas: 5 žingsniai (su nuotraukomis)
ESP8266 VGA tenisas: 5 žingsniai (su nuotraukomis)

Video: ESP8266 VGA tenisas: 5 žingsniai (su nuotraukomis)

Video: ESP8266 VGA tenisas: 5 žingsniai (su nuotraukomis)
Video: Mini Arduino Tennis 2024, Liepa
Anonim
Image
Image
Medžiagų sąrašas
Medžiagų sąrašas

Šioje instrukcijoje parodysiu, kaip sukurti klasikinio žaidimo „Pong“reprodukciją VGA monitoriui, naudojant ESP8266 ir keletą kitų komponentų.

Šį žaidimą įgalino „EspVGAx“biblioteka, kurią neseniai „GitHub“paskelbė Sandro Maffiodo (dar žinomas kaip „Smaffer“), ir, kiek žinau, tai yra pirmasis žaidimas, kuriuo jis naudojamas.

Biblioteka įgyvendina 512 x 480 pikselių skiriamąją gebą, saugomą RAM buferyje, kuriam reikia 30720 baitų. Skiriamoji geba yra didžiulė, palyginti su „Arduino TVout“arba „VGAx“(atitinkamai 128 x 96 ir 120 x 60 pikselių). Tikiuosi, kad šis žaidimas įkvėps kitus programuotojus kurti ar atkurti sudėtingesnius žaidimus.

1 žingsnis: medžiagų sąrašas

„EspVGAx“bibliotekai reikalingas ESP8266 su visu GPIO, pvz., ESP-12E, „NodeMCU-12E“plokšte arba bet kokia plokšte, kuri atskleidžia GPIO5 (D1), GPIO4 (D2) ir GPIO13 (D7)

Visų pirma aš naudojau:

  • ESP8266 „NodeMCU-12E“(nuoroda čia)
  • DSUB15 jungtis (ty VGA jungtis)
  • 330 omų rezistorius
  • kitas rezistorius (apie 1–3 kOhm)
  • du 10 kOhm potenciometrai
  • mygtukas (n.o.)
  • du diodai (pvz., 1N4007s)
  • duonos lenta
  • laidai

Aš gavau DSUB15 jungtį iš senos VGA kompiuterio plokštės. Arba taip pat galite nukirpti seną VGA kabelį ir prijungti laidus tiesiai prie duonos lentos.

2 veiksmas: biblioteka ir eskizo įkėlimas

Biblioteka ir eskizo įkėlimas
Biblioteka ir eskizo įkėlimas

Yra skirtingi programavimo metodai ir ESP8266; Aš naudoju „Arduino IDE“, norėdamas parašyti „Pong“ir įkelti kodą.

Atminkite, kad „EspVGAx“biblioteka veikia naudojant „Arduino IDE 1.8.1“. Jei turite kitų versijų, geriausia atsisiųsti.zip failus ir išspausti juos tam skirtame aplanke. „Windows“versija yra čia. Čia rasite kitų OS versijų.

Po to turėtumėte atsisiųsti „EspVGAx“biblioteką iš „GithHub“puslapio čia (tiesioginė nuoroda į ZIP versiją čia) ir išspausti ją „Arduino“programinės įrangos aplankų bibliotekose.

NB faile espvgax_draw.h yra nedidelė klaida. Norėdami tai ištaisyti, tiesiog pakeiskite 17 eilutę:

while (x0%32) {su while (x0%32 && sw> 32) {

Galiausiai šio veiksmo pabaigoje galite atsisiųsti ESP8266_Pong.rar.

Atsisiuntę, norėdami įkelti jį į savo ESP8266, turite sukonfigūruoti „Arduino IDE“.

Jei to niekada nepadarėte, visas reikalingas instrukcijas rasite šioje instrukcijoje, ypač 2 veiksme.

Kai viskas bus sukonfigūruota, ESP8266 nustatymai turėtų atrodyti taip, kaip parodyta aukščiau esančiame paveikslėlyje.

Jei galite įkelti kodą be klaidų, galite pradėti surinkti dalis.

3 žingsnis: dalių prijungimas: VGA jungtis

Dalių prijungimas: VGA jungtis
Dalių prijungimas: VGA jungtis
Dalių prijungimas: VGA jungtis
Dalių prijungimas: VGA jungtis
Dalių prijungimas: VGA jungtis
Dalių prijungimas: VGA jungtis

Rekomenduoju pirmiausia prijungti VGA prievadą, kaip parodyta aukščiau esančiose nuotraukose. Atminkite, kad sujungę tris raudonus, žalius ir mėlynus kaiščius (t. Y. 1, 2 ir 3 kaiščius ant DSUB15 jungties), ekrane pasirodys nespalvotas vaizdas. Taip pat galite turėti įvairių spalvų derinį. Išsamią informaciją rasite bibliotekos „GitHub“puslapyje.

Be to, turėtumėte prijungti 330 omų rezistorių tarp RGB kaiščių ir D7 (GPIO13) ESP8266. Tai suteikė man šiek tiek pilkšvą vaizdą monitoriuje, todėl po kelių bandymų nusprendžiau jį apskritai pašalinti.

Šiuo metu, jei viskas veikia tinkamai, jau galite prijungti monitorių ir pamatyti žaidimo pradžios ekraną su reklama „ESP8266 VGAx Pong“.

4 žingsnis: dalių prijungimas: potenciometrai ir mygtukas

Dalių prijungimas: potenciometrai ir mygtukas
Dalių prijungimas: potenciometrai ir mygtukas

Mygtukas turi būti prijungtas tarp 3.3V ir kištuko D0 (GPIO16). Taip pat prijunkite 1–3 kOhm rezistorių nuo D0 prie žemės. Taip išvengiama, kad D0 būtų nenustatytos būsenos, kai mygtukas atidarytas.

Dviejų potenciometrų prijungimas yra mažiau nereikšmingas, nes ESP8266 iš tikrųjų turi tik analoginį įvesties prievadą A0 (ADC0)! Apgaulė yra prijungti abu pot.s išėjimus prie to paties prievado ir juos „multipleksuoti“. Multipleksavimas paprasčiausiai reiškia, kad įjungsite potenciometrą, jį perskaitysite, tada išjungsite ir pereisite prie antrojo.

Jei norite daugiau sužinoti apie šį metodą, galite perskaityti šią instrukciją.

Prijunkite vieną galinį potenciometrą prie GND, kitą kraštutinumą prie kairiojo grotuvo potenciometro D5, o dešiniojo - D6.

Kiekvienas potenciometro centrinis kaištis turi būti prijungtas prie atskiro diodo, o kitos diodų pusės turi būti prijungtos prie A0 (ADC0), o poliškumas parodytas aukščiau esančiame paveikslėlyje.

5 žingsnis: Išvados ir padėkos

Esu dėkingas Sandro Maffiodo - SMAFFER - už ESPVGAX biblioteką. Šis žaidimas nebūtų įmanomas be jo.

Tikiuosi, kad šis „Instructable“bus įkvėpimas kitiems programuotojams kurti sudėtingesnių klasikinių arkadinių žaidimų kopijas naudojant ESP8266, kuris turi daug mažiau apribojimų nei „Arduino“.

Galiausiai parašiau šį nurodymą, kad galėčiau jį pateikti žaislų konkursui: jei jums tai patinka ar atgaminate, skirkite šiek tiek laiko balsuoti!

Rekomenduojamas: