Kazalo:

ESP8266 VGA Pong: 5 korakov (s slikami)
ESP8266 VGA Pong: 5 korakov (s slikami)

Video: ESP8266 VGA Pong: 5 korakov (s slikami)

Video: ESP8266 VGA Pong: 5 korakov (s slikami)
Video: ESP8266 VGA Pong 2024, November
Anonim
Image
Image
Seznam materialov
Seznam materialov

V tem navodilu bom pokazal, kako z uporabo ESP8266 in nekaj drugih komponent sestaviti reprodukcijo klasične igre Pong za monitor VGA.

To igro je omogočila knjižnica EspVGAx, ki jo je nedavno na GitHubu objavil Sandro Maffiodo (znan tudi kot Smaffer), in kolikor vem, je to prva igra, ki jo izkorišča.

Knjižnica izvaja ločljivost 512 x 480 slikovnih pik, shranjeno v medpomnilniku okvirjev znotraj RAM -a, kar zahteva 30720 bajtov. Ločljivost je velika v primerjavi z Arduino TVout ali VGAx (128 x 96 oziroma 120 x 60 slikovnih pik). Upam, da ta igra navdihuje druge programerje, da razvijejo ali reproducirajo bolj zapletene igre.

1. korak: Seznam materialov

Knjižnica EspVGAx zahteva ESP8266 z vsem izpostavljenim GPIO, na primer ESP-12E, ploščo NodeMCU-12E ali katero koli ploščo, ki razkriva GPIO5 (D1), GPIO4 (D2) in GPIO13 (D7)

Zlasti sem uporabil:

  • ESP8266 NodeMCU-12E (povezava tukaj)
  • priključek DSUB15 (tj. ženski konektor VGA)
  • 330 ohmski upor
  • drug upor (približno 1 do 3 kOhm)
  • dva potenciometra 10 kOhm
  • potisni gumb (št.)
  • dve diodi (na primer 1N4007s)
  • mizo
  • žice

Priključek DSUB15 sem dobil s stare plošče VGA PC. Lahko pa tudi odrežete stari kabel VGA in žice priključite neposredno na ploščo.

Korak: Nalaganje knjižnice in skice

Nalaganje knjižnice in skice
Nalaganje knjižnice in skice

Za programiranje in ESP8266 obstajajo različne metode; Za pisanje ponga in nalaganje kode sem uporabil Arduino IDE.

Upoštevajte, da knjižnica EspVGAx deluje za Arduino IDE 1.8.1. Če imate druge različice, je najbolje, da prenesete datoteke.zip in jih razpakirate v namensko mapo. Različica sistema Windows je tukaj. Tu so različice za druge OS.

Po tem prenesite knjižnico EspVGAx s strani GithHub (tukaj neposredna povezava za različico zip) in jo razpakirajte v knjižnicah map v programski opremi Arduino.

Opomba V datoteki espvgax_draw.h je nekaj hrošča. Če ga želite popraviti, samo zamenjajte vrstico 17:

medtem ko (x0%32) {s medtem ko (x0%32 && sw> 32) {

Na koncu lahko naložite ESP8266_Pong.rar na koncu tega koraka.

Ko ga odprete, morate za nalaganje v ESP8266 konfigurirati Arduino IDE.

Če tega še niste storili, lahko najdete vsa potrebna navodila v teh navodilih za uporabo, zlasti v 2. koraku.

Ko je vse nastavljeno, bi morale biti nastavitve ESP8266 podobne tistim, ki so prikazane na zgornji sliki.

Če lahko kodo naložite brez napak, lahko začnete sestavljati dele.

3. korak: Priključitev delov: VGA priključek

Povezovanje delov: VGA konektor
Povezovanje delov: VGA konektor
Povezovanje delov: VGA konektor
Povezovanje delov: VGA konektor
Povezovanje delov: VGA konektor
Povezovanje delov: VGA konektor

Priporočam, da najprej priključite vrata VGA, kot je prikazano na zgornjih slikah. Upoštevajte, da boste s povezovanjem treh zatičev, rdečega, zelenega in modrega skupaj (tj. Zatičev 1, 2 in 3 na priključku DSUB15), na zaslonu imeli črno -belo sliko. Kombinirate lahko tudi različne barve. Podrobnosti si oglejte na strani Library GitHub.

Poleg tega morate priključiti 330 ohmski upor med zatiči RGB in D7 (GPIO13) na ESP8266. To mi je na monitorju dalo nekoliko sivkasto sliko, zato sem se po nekaj poskusih odločil, da ga sploh odpravim.

Na tej točki, če vse deluje pravilno, lahko že priključite monitor in si ogledate začetni zaslon igre s pasico "ESP8266 VGAx Pong".

4. korak: Povezovanje delov: potenciometri in gumb

Povezovanje delov: potenciometri in gumb
Povezovanje delov: potenciometri in gumb

Gumb mora biti priključen med 3.3V in pin D0 (GPIO16). Priključite tudi od 1 do 3 kOhm upor od D0 do tal. Tako se prepreči, da bi bil D0 pri odprtem gumbu v nedoločenem stanju.

Povezava obeh potenciometrov je manj trivialna, pravzaprav ima ESP8266 samo analogni vhod A0 (ADC0)! Trik je v tem, da oba izhoda pot.s povežete na ena vrata in jih 'multipleksirate'. Multipleksiranje preprosto pomeni, da boste vklopili potenciometer, ga prebrali, nato izklopili in se premaknili na drugega.

Če želite izvedeti več o tej metodi, lahko preberete ta navodila.

En ekstremni potenciometer priključite na GND, drugega ekstremnega na D5 za potenciometer levega predvajalnika in D6 za desnega.

Vsak osrednji zatič potenciometra mora biti priključen na posamezno diodo, druge strani diod pa na A0 (ADC0), pri čemer je polarnost prikazana na zgornji sliki.

5. korak: Zaključek in priznanja

Hvaležen sem Sandru Maffiodu - SMAFFER - za knjižnico ESPVGAX. Brez nje ta igra ne bi bila mogoča.

Upam, da bo ta Instructable navdih drugim programerjem za reprodukcijo bolj zapletenih klasičnih arkadnih iger z ESP8266, ki ima veliko manj omejitev kot Arduino.

Nazadnje sem napisal to navodilo za predajo na natečaj za igrače: če vam je všeč ali ga reproducirate, si vzemite trenutek, da ga glasujete!

Priporočena: