Turinys:

ESP32 VGA arkadiniai žaidimai ir vairasvirtė: 6 žingsniai (su nuotraukomis)
ESP32 VGA arkadiniai žaidimai ir vairasvirtė: 6 žingsniai (su nuotraukomis)

Video: ESP32 VGA arkadiniai žaidimai ir vairasvirtė: 6 žingsniai (su nuotraukomis)

Video: ESP32 VGA arkadiniai žaidimai ir vairasvirtė: 6 žingsniai (su nuotraukomis)
Video: Как подключить старый монитор к ардуино. VGA to ESP32 2024, Liepa
Anonim
Image
Image
ESP32 VGA arkadiniai žaidimai ir vairasvirtė
ESP32 VGA arkadiniai žaidimai ir vairasvirtė
ESP32 VGA arkadiniai žaidimai ir vairasvirtė
ESP32 VGA arkadiniai žaidimai ir vairasvirtė

Šioje pamokoje aš parodysiu, kaip atkurti keturis arkadinius žaidimus - „Tetris - Snake - Breakout - Bomber“- naudojant ESP32 su VGA monitoriaus išvestimi.

Skiriamoji geba yra 320 x 200 pikselių, 8 spalvos. Anksčiau padariau versiją su „Arduino Uno“(žr. Čia), tačiau raiška buvo tik 120 x 60 pikselių, 4 spalvos, o „Arduino“atmintis buvo beveik pilna. Dėl didesnio ESP32 našumo tiek skiriamoji geba, tiek grojamumas yra geresni. Be to, dar yra daug atminties, todėl naujų žaidimų pridėjimas ateityje bus nesudėtingas.

Taip pat parodysiu, kaip prijungti paprastą vairasvirtę per RS232 kabelį. Aš naudoju tą patį „Commodore 64 one“kištuką.

Šį projektą įgyvendina nuostabi ESP32 VGA biblioteka, kurią parašė Fabrizio Di Vittorio. Daugiau informacijos rasite čia.

1 žingsnis: ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas

ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas
ESP32 plokštės, „Arduino IDE“diegimas ir VGA bibliotekos konfigūravimas

Pirmiausia turite nusipirkti ESP32 1 ar naujesnę versiją. Yra daug versijų, tačiau aš rekomenduoju pasirinkti vieną su daugybe kaiščių, pageidautina tokį modelį, koks yra šiame paveikslėlyje, su 38 kaiščiais. Aš naudoju šią versiją, bet manau, kad daugelis kitų taip pat tinka. „Ebay“galite rasti šį modelį už mažiau nei 7 eurus, įskaitant pristatymą.

Gavę lentą, turite tęsti šiuos tris papildomus veiksmus:

  1. Įdiekite paskutinį „Arduino IDE“
  2. Konfigūruokite ESP32 IDE ir
  3. Atsisiųskite ir įdiekite VGA biblioteką

1 pakopas. Yra įvairių ESP32 programavimo būdų, tačiau čia reikia naudoti „Arduino IDE“(beje, naudoju 1.8.9 versiją). Norėdami jį įdiegti, galite eiti į „Arduino IDE“puslapį ir vykdyti instrukcijas.

2 žingsnis. Kai atliksite ankstesnę operaciją, turite sukonfigūruoti savo ESP32 „Arduino IDE“. Tai nėra nereikšminga, nes ESP32 nėra (dar?) Joje gimtoji. Galite vadovautis šia pamoka arba atlikti šiuos veiksmus.

1) atidarykite „Arduino IDE“

2) atidarykite nuostatų langą, Failas/Nuostatos, arba paspauskite „Ctrl+kablelis“

3) eikite į „Papildomi valdybos vadovo URL“, nukopijuokite ir įklijuokite šį tekstą:

https://dl.espressif.com/dl/package_esp32_index.js…

ir spustelėkite mygtuką Gerai.

4) Atvirų lentų vadovas. Eikite į Įrankiai/Valdyba/Lentų tvarkytuvė…

5) Ieškokite ESP32 ir paspauskite „ESP32 by Espressif Systems“diegimo mygtuką:

6) Šiuo metu, kai pirmą kartą prijungiate savo ESP32, turėtumėte pasirinkti tinkamą modelį iš ilgo galimų ESP32 plokščių sąrašo (žr. Šio veiksmo paveikslėlį). Jei kyla abejonių dėl modelio, tiesiog pasirinkite bendrąjį, t. Y. Pirmąjį. Man tai veikia.

7) sistema taip pat turėtų pasirinkti tinkamą USB (COM) prievadą ir įkėlimo greitį (paprastai 921600). Šiuo metu turėtų būti užmegztas ryšys tarp kompiuterio ir ESP32 plokštės.

3 žingsnis. Galiausiai turite įdiegti „FabGL VGA“biblioteką. Spustelėkite čia, kad atsisiųstumėte visą suspaustą failą. Išspauskite jį ir nukopijuokite gautą aplanką („FabGL-master“) į „Arduino IDE“bibliotekų aplanką, kuris atrodo taip:

"… / arduino-1.8.12 / bibliotekos".

2 veiksmas: įkelkite „ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0“

Atsisiųskite ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip šio veiksmo apačioje. Išpakuokite ir atidarykite jį naudodami „Arduino IDE“, tada įkelkite jį į savo ESP32. Jei neturite klaidos pranešimų, kodas jau turėtų veikti ir jums tereikia prijungti VGA prievadą ir mygtukus (arba vairasvirtę).

3 veiksmas: prijunkite VGA prievadą

VGA prievado prijungimas
VGA prievado prijungimas

Jums reikia šių dalių:

  • DSUB15 jungtis, t. y. VGA patelė arba VGA kabelis, kurį reikia nupjauti.
  • trys 270 omų rezistoriai.

Prijunkite ESP32 GPIO 2, 15 ir 21 kaiščius prie VGA raudonos, žalios ir mėlynos spalvos per 270 omų rezistorius.

Prijunkite „VGA Hsync“ir „Vsync“prie atitinkamai 17 ir 4 ESP32 GPIO kaiščių.

Prijunkite DSUB15 jungčių kaiščius 5, 6, 7, 8 ir 10 prie ESP32 GND.

VGA DSUB15 jungties kaiščio apibrėžimą rasite šio veiksmo paveikslėlyje. PASTABA, tai yra jungties lizdavimo pusė.

4 žingsnis: prijunkite keturis mygtukus

Prijunkite keturis mygtukus
Prijunkite keturis mygtukus
Prijunkite keturis mygtukus
Prijunkite keturis mygtukus
Prijunkite keturis mygtukus
Prijunkite keturis mygtukus

Jei neturite C64 vairasvirtės, atlikdami šį veiksmą galite prijungti keturis mygtukus. Jei turite vairasvirtę, galite praleisti šį veiksmą ir pereiti prie kito, tačiau bet kuriuo atveju galite prijungti mygtukus ir vairasvirtę (jie vis tiek yra „lygiagrečiai“).

Šio veiksmo schema parodo, kaip prijungti vieną mygtuką (paprastai atidarytą) nuo +5 V prie ESP32 nurodyto kaiščio.

Atminkite, kad taip pat turite prijungti ESP nurodytą kaištį prie GND per 1–5 kOhm rezistorių. Tokiu būdu, kai mygtukas atleidžiamas (atidaromas), ESP kaištis yra lygiai nulinio volto. Tiksliau, reikia prijungti keturis mygtukus tokia tvarka:

  • Prisegti 12 mygtuką į dešinę
  • Mygtukas 25 iki aukštyn
  • Prisegti 14 mygtuką į kairę
  • Prisegti 35 mygtuką žemyn

5 veiksmas: prijunkite vairasvirtę

Prijunkite vairasvirtę
Prijunkite vairasvirtę
Prijunkite vairasvirtę
Prijunkite vairasvirtę
Prijunkite vairasvirtę
Prijunkite vairasvirtę

C64 vairasvirtėje yra kontaktas, parodytas pirmoje šio veiksmo nuotraukoje. Norėdami prijungti jį prie ESP32, jums reikia 9 kontaktų DSUB kištukinės jungties (ty lizdo), kaip parodyta antrame paveikslėlyje. Vieną iš atvirų kaiščių pašalinau iš senos elektroninės plokštės. Norėdami jį pašalinti, galite naudoti šilumos pistoletą (bet darykite tai lauke!).

Turite prijungti kaiščius šiose paveikslėlių skaitine tvarka. Atkreipkite dėmesį, kad schema nurodo vairasvirtės pusę, taigi ji parodo jo kištuko jungtį. Lizdas (kištukinis), skirtas prijungti prie ESP32, turi kaiščius su „veidrodiniu“išdėstymu. Jei abejojate, atminkite, kad kaiščio numeris visada nurodomas ant vyrų ir moterų jungčių, kaip parodyta trečiame paveikslėlyje.

Jei norite valdyti žaidimus tik vairasvirte, prijunkite jos bendrą kaištį (9) prie ESP32 +5V, o vairasvirtės kaiščius 1, 2, 3, 4 ir 6 - prie ESP nurodytų kaiščių pagal šį sąrašą.

  • ESP kaištis nuo 12 iki dešinės (RS232 kaištis 4)
  • ESP kaištis nuo 14 į kairę (RS232 kaištis 3)
  • ESP kaištis nuo 35 iki mygtuko žemyn (RS232 2 kontaktas)
  • ESP kaištis nuo 25 iki aukštyn (RS232 1 ir 6 kaiščiai, t. Y. Vairasvirtė)

PASTABA: ESP kaiščiai 12, 14, 25 ir 35 taip pat turi būti prijungti prie GND per 1–5 kOhm rezistorių. Tokiu būdu, kai mygtukas atleidžiamas (atidaromas), ESP kaištis yra lygiai nulinio volto.

NB2 vairasvirtės aukštyn padėtis ir gaisro mygtukas yra prijungti prie ESP kaiščio 25-

Aš prijungiau keturis kompiuterio plokštės mygtukus, todėl man nereikia, kad paleistumėte vairasvirtę (nors su kreiptuku yra daug juokingiau). Vėlgi, RS232 kaištis 9 turi būti prijungtas prie +5 V, o vairasvirtės kaiščiai yra lygiagrečiai mygtukams.

6 žingsnis: Išvada ir pripažinimas

Išvada ir pripažinimas
Išvada ir pripažinimas

Jei viskas veikia tinkamai, tiesiog prijunkite VGA monitorių ir galėsite mėgautis seno stiliaus žaidimu!

Taip pat galite piešti „Mandelbrot“rinkinį, kurio skiriamoji geba yra 640 x 350 pikselių, kad patikrintumėte VGA bibliotekos galimybes.

Atminkite, kad kodas parašytas taip, kad ateityje būtų galima lengvai pridėti kitų žaidimų (ESP32 turi daug vietos!). Šis projektas sulaukia pakankamai susidomėjimo, galiu tai padaryti …

Galiausiai noriu išreikšti savo tankus Fabrizio Di Vittorio už nuostabią ESP32 VGA biblioteką. Norėdami gauti daugiau informacijos, pavyzdžių ir… Space Invaders, apsilankykite jo svetainėje.

Rekomenduojamas: