Sisukord:

ESP8266 VGA pong: 5 sammu (piltidega)
ESP8266 VGA pong: 5 sammu (piltidega)

Video: ESP8266 VGA pong: 5 sammu (piltidega)

Video: ESP8266 VGA pong: 5 sammu (piltidega)
Video: ESP8266 VGA Pong 2024, Juuli
Anonim
Image
Image
Materjalide loetelu
Materjalide loetelu

Selles juhendis näitan, kuidas luua klassikalise mängu Pong reproduktsioon VGA -monitori jaoks, kasutades ESP8266 ja vähe muid komponente.

Selle mängu teeb võimalikuks EspVGAxi raamatukogu, mille hiljuti GitHubis avaldas Sandro Maffiodo (aka Smaffer) ja minu teada on see esimene mäng, mis seda kasutab.

Raamatukogu rakendab eraldusvõimet 512 x 480 pikslit, mis on salvestatud RAM -i raampuhvrisse, mis nõuab 30720 baiti. Eraldusvõime on tohutu võrreldes Arduino TVouti või VGAx -ga (vastavalt 128 x 96 ja 120 x 60 pikslit). Loodan, et see mäng inspireerib teisi programmeerijaid keerukamaid mänge arendama või paljundama.

Samm: materjalide loend

EspVGAx raamatukogu jaoks on vaja ESP8266, kus kõik GPIO on avatud, näiteks ESP-12E, NodeMCU-12E plaat või mis tahes tahvel, mis paljastab GPIO5 (D1), GPIO4 (D2) ja GPIO13 (D7)

Eelkõige kasutasin:

  • ESP8266 NodeMCU-12E (link siin)
  • DSUB15 pistik (st VGA naissoost pistik)
  • 330 oomi takisti
  • teine takisti (umbes 1 kuni 3 kOhm)
  • kaks 10 kOhm potentsiomeetrit
  • nupp (n.o.)
  • kaks dioodi (näiteks 1N4007s)
  • leivalaud
  • juhtmed

DSUB15 pistiku sain vanalt VGA arvutiplaadilt. Teise võimalusena võite lõigata ka vana VGA -kaabli ja ühendada juhtmed otse leivaplaadiga.

2. toiming: kogu ja eskiisi üleslaadimine

Raamatukogu ja visandite üleslaadimine
Raamatukogu ja visandite üleslaadimine

Programmeerimiseks on erinevaid meetodeid ja ESP8266; Pongi kirjutamiseks ja koodi üleslaadimiseks kasutasin Arduino IDE -d.

Pange tähele, et EspVGAxi raamatukogu töötab Arduino IDE 1.8.1 jaoks. Kui teil on muid versioone, on kõige parem alla laadida.zip -failid ja lahti pakkida need spetsiaalses kaustas. Windowsi versioon on siin. Teiste OS -ide versioonid on siin.

Pärast seda peaksite alla laadima EspVGAx raamatukogu GithHubi lehelt siit (otselink zip -versiooni jaoks siin) ja pakkige see Arduino tarkvara kaustaraamatukogudes lahti.

NB Failis espvgax_draw.h on väike viga. Selle parandamiseks asendage lihtsalt rida 17:

samas (x0%32) {koos samas (x0%32 && sw> 32) {

Lõpuks saate selle sammu lõpus alla laadida ESP8266_Pong.rar.

Pärast lahtipakkimist peate selle ESP8266 -sse üles laadimiseks konfigureerima Arduino IDE.

Kui te pole seda kunagi teinud, leiate kõik vajalikud juhised selle juhendi kohta, eriti 2. sammust.

Kui kõik on konfigureeritud, peaksid ESP8266 seaded välja nägema ülaltoodud pildil näidatud.

Kui saate koodi ilma vigadeta üles laadida, võite hakata osi kokku panema.

Samm: osade ühendamine: VGA -pistik

Osade ühendamine: VGA -pistik
Osade ühendamine: VGA -pistik
Osade ühendamine: VGA -pistik
Osade ühendamine: VGA -pistik
Osade ühendamine: VGA -pistik
Osade ühendamine: VGA -pistik

Soovitan kõigepealt ühendada VGA -port, nagu on näidatud ülaltoodud piltidel. Pange tähele, et kui ühendate kolm punast, rohelist ja sinist tihvti (st DSUB15 pistiku tihvtid 1, 2 ja 3), saate ekraanile mustvalge pildi. Samuti saate kombineerida erinevaid värve. Vaadake üksikasju lehel Library GitHub.

Lisaks peaksite ühendama 330 oomi takisti RGB tihvtide ja ESP8266 D7 (GPIO13) vahele. See andis mulle monitoril pisut hallika pildi, seega otsustasin pärast mõningast katset selle üldse kõrvaldada.

Siinkohal, kui kõik töötab korralikult, saate juba monitori ühendada ja näha mängu algusekraani, bänneriga "ESP8266 VGAx Pong".

Samm: osade ühendamine: potentsiomeetrid ja nupp

Osade ühendamine: potentsiomeetrid ja nupp
Osade ühendamine: potentsiomeetrid ja nupp

Nupp peab olema ühendatud 3,3 V ja tihvti D0 (GPIO16) vahel. Ühendage ka 1 kuni 3 kOhm takisti D0 -st maapinnale. See väldib, et D0 oleks nupu avamisel määramata olekus.

Kahe potentsiomeetri ühendamine on vähem triviaalne, sest tegelikult on ESP8266 -l ainult analoogsisendiport A0 (ADC0)! Nipp on ühendada mõlemad pot.s väljundid sama pordiga ja need multipleksida. Multipleksimine tähendab lihtsalt seda, et lülitate potentsiomeetri sisse, loete seda, seejärel lülitate selle välja ja liigute teise juurde.

Kui soovite selle meetodi kohta rohkem teada saada, lugege seda juhendit.

Ühendage üks äärmuslik potentsiomeeter GND -ga, teine äärmus vasaku mängija potentsiomeetri D5 -ga ja parema mängijaga D6.

Iga potentsiomeetri keskne tihvt peab olema ühendatud individuaalse dioodiga ja dioodide teised küljed peavad olema ühendatud A0 -ga (ADC0), mille polaarsus on näidatud ülaltoodud pildil.

Samm 5: Järeldused ja tunnustused

Olen tänulik Sandro Maffiodole - SMAFFER - ESPVGAX raamatukogu eest. Ilma selleta poleks see mäng võimalik.

Loodan, et see juhend on teistele programmeerijatele inspiratsiooniks keerukamate klassikaliste arkaadmängude reprodutseerimiseks ESP8266 -ga, millel on palju vähem piiranguid kui Arduino -l.

Lõpuks kirjutasin selle juhendi mänguasjade konkursile esitamiseks: kui see teile meeldib või paljundate, võtke palun hetk selle hääletamiseks!

Soovitan: