
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47




Ebben az utasításban megmutatom, hogyan lehet reprodukálni négy arcade -szerű játékot - Tetris - Snake - Breakout - Bomber - ESP32 segítségével, VGA monitor kimenetével.
A felbontás 320 x 200 pixel, 8 színben. Korábban készítettem egy verziót Arduino Uno -val (lásd itt), de a felbontás csak 120 x 60 pixel, 4 szín volt, és az Arduino memória majdnem megtelt. Az ESP32 nagyobb teljesítményének köszönhetően mind a felbontás, mind a lejátszhatóság magasabb. Ezenkívül még mindig rengeteg memória áll rendelkezésre, így a jövőben új játékok hozzáadása egyszerű lesz.
Azt is megmutatom, hogy egy egyszerű joystick RS232 kábelen keresztül csatlakoztatható. A Commodore 64 -es ugyanazt a pinoutot használom.
Ezt a projektet a fantasztikus ESP32 VGA könyvtár teszi lehetővé, amelyet Fabrizio Di Vittorio írt. További részletekért lásd itt.
1. lépés: ESP32 táblák, Arduino IDE telepítése és VGA könyvtár konfigurálása



Először is meg kell vásárolnia az ESP32 1 -es vagy újabb verzióját. Sokféle változat áll rendelkezésre, de azt javaslom, hogy válasszon egy sok tüskét, lehetőleg olyan modellt, mint amilyen a képen, 38 tűvel. Én ezt a verziót használom, de szerintem sok más is jó. Az ebay -en ezt a modellt 7 euro alatt találja, szállítással együtt.
Miután megszerezte a táblát, folytassa a következő három allépéssel:
- Telepítse az utolsó Arduino IDE -t
- Konfigurálja az ESP32 -t az IDE -ben és
- Töltse le és telepítse a VGA könyvtárat
1. allépés Az ESP32 programozására különböző módszerek léteznek, de itt az Arduino IDE-t kell használni (egyébként az 1.8.9 verziót használom). A telepítéshez lépjen az Arduino IDE oldalra, és kövesse az utasításokat.
2. lépés: Az előző művelet elvégzése után konfigurálnia kell az ESP32-t az Arduino IDE-n belül. Ez nem triviális, mivel az ESP32 nem (még?) Natív benne. Kövesse ezt az oktatóanyagot, vagy a következő lépéseket.
1) Nyissa meg az Arduino IDE -t
2) nyissa meg a beállítások ablakot, Fájl/Beállítás, vagy nyomja meg a "Ctrl+vessző" gombot
3) lépjen a „További tanácskezelői URL -ek” oldalra, másolja ki és illessze be a következő szöveget:
https://dl.espressif.com/dl/package_esp32_index.js…
és kattintson az OK gombra.
4) Nyitott táblák menedzsere. Lépjen az Eszközök/Tábla/Táblákkezelő oldalra…
5) Keresse meg az ESP32 -t, és nyomja meg az „ESP32 by Espressif Systems” telepítőgombját:
6) Ezen a ponton, amikor először csatlakoztatja ESP32 készülékét, válassza ki a megfelelő modellt az elérhető ESP32 kártyák hosszú listájából (lásd ebben a lépésben a képet). Ha kétségei vannak a modellel kapcsolatban, válassza az általánosat, azaz az elsőt. Nekem működik.
7) a rendszernek ki kell választania a megfelelő USB (COM) portot és a feltöltési sebességet (általában 921600). Ekkor létre kell hozni a kapcsolatot a számítógép és az ESP32 kártya között.
3. allépés. Végül telepítenie kell a FabGL VGA könyvtárat. Kattintson ide a teljes tömörített fájl letöltéséhez. Tömörítse ki, és másolja a kapott mappát (FabGL-master) az Arduino IDE könyvtárak mappába, amely így néz ki:
"… / Arduino-1.8.12 / könyvtárak".
2. lépés: Az "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0" feltöltése
Töltse le az ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip fájlt a lépés alján. Csomagolja ki és nyissa meg az Arduino IDE segítségével, majd töltse fel az ESP32 -re. Ha nincs hibaüzenet, akkor a kódnak már futnia kell, és csak csatlakoztatnia kell a VGA portot és a gombokat (vagy a joystickot).
3. lépés: A VGA -port csatlakoztatása

A következő alkatrészekre van szüksége:
- egy DSUB15 csatlakozót, azaz egy VGA hüvelyes csatlakozót vagy egy VGA kábelt kell levágni.
- három 270 ohmos ellenállás.
Csatlakoztassa az ESP32 GPIO 2 -es, 15 -ös és 21 -es érintkezőjét a VGA piroshoz, a zöldhez és a kékhez a 270 ohmos ellenállásokon keresztül.
Csatlakoztassa a VGA Hsync -et és a Vsync -et az ESP32 GPIO 17 -es és 4 -es tűihez.
Csatlakoztassa a DSUB15 csatlakozók 5., 6., 7., 8. és 10. csapját az ESP32 GND -hez.
A VGA DSUB15 csatlakozócsap definícióját lásd ebben a lépésben. Megjegyzés, ez a hüvelyes csatlakozó forrasztási oldala.
4. lépés: Csatlakoztassa a négy gombot



Ha nincs C64 joystickja, akkor ezt a lépést követve négy gombot csatlakoztathat. Ha van joystickja, akkor kihagyhatja ezt a lépést, és ugorhat a következőre, de mindenesetre csatlakoztathatja mind a gombokat, mind a joystickot (egyébként "párhuzamosan" vannak).
Ennek a lépésnek a vázlata azt mutatja be, hogyan lehet egyetlen gombot (normálisan nyitva) csatlakoztatni +5 V -ról az ESP32 megadott tüskére.
Ne feledje, hogy az ESP által megadott tűt is a GND -hez kell csatlakoztatnia 1–5 kOhm -os ellenálláson keresztül. Ily módon a gomb elengedésekor (nyitva) az ESP csap pontosan nulla voltos. Pontosabban négy gombot kell csatlakoztatnia a következő sorrendben:
- Pin 12 to Right gomb
- Pin 25 to Up gomb
- Tűzze a 14. gombot balra
- Rögzítse a 35 gombot a Le gombhoz
5. lépés: Csatlakoztassa a botkormányt



Egy C64 joystick rendelkezik a lépés első képén látható érintkezővel. Az ESP32 -hez való csatlakoztatásához szüksége van egy 9 tűs DSUB dugóra (azaz egy foglalatra), amint az a második képen is látható. Eltávolítottam egy nyitott csapokkal egy régi elektronikus tábláról. Eltávolításához használhat hőpisztolyt (de tegye a szabadban!).
Ezeken a képeken a sorokat a numerikus sorrend szerint kell csatlakoztatni. Ne feledje, hogy a vázlat a joystick oldalára vonatkozik, így a hüvely csatlakozóját jelenti. Az ESP32 -hez csatlakoztatható aljzaton (dugasz) a tükör „tükör” elrendezésű. Kétség esetén ne feledje, hogy a pin szám mindig a férfi és a női csatlakozón van feltüntetve, amint az a harmadik képen látható.
Ha csak a botkormánnyal szeretné irányítani a játékokat, csatlakoztassa a közös csapját (9) az ESP32 +5V -hoz, az 1, 2, 3, 4 és 6 joystick csapokat pedig az ESP megadott csapjaihoz a következő lista szerint.
- ESP 12 -es érintkező - jobbra gomb (RS232 4 -es tű)
- ESP 14 -es érintkező a bal gombhoz (RS232 3 -as érintkező)
- ESP 35 -ös érintkező a le gombhoz (RS232 -es 2 -es tű)
- ESP 25 -ös tű - Fel gomb (RS232 1. és 6. érintkező, azaz joystick tűz)
Megjegyzés: A 12, 14, 25 és 35 ESP csapokat szintén 1-5 kOhm -os ellenálláson keresztül kell csatlakoztatni a GND -hez. Ily módon a gomb elengedésekor (nyitva) az ESP csap pontosan nulla voltos.
Az NB2 joystick UP helyzete és a tűzjelző gomb össze van kötve az ESP 25 csapjával
Négy gombot csatlakoztattam a PC -kártyához, így nincs szükségem a joystickra a játékhoz (bár a joystick sokkal viccesebb). Ismételten, az RS232 9 érintkezőt +5 V -ra kell csatlakoztatni, és a joystick csapjai párhuzamosan vannak a gombokkal.
6. lépés: Következtetés és nyugtázás

Ha minden megfelelően működik, csak csatlakoztassa a VGA monitort, és élvezheti a régi stílusú játékot!
Rajzolhat egy Mandelbrot készletet 640 x 350 képpontos felbontással is, csak hogy tesztelje a VGA könyvtár képességeit.
Ne feledje, hogy a kódot úgy írták, hogy a jövőben könnyen hozzáadhatók legyenek más játékok (az ESP32 -ben rengeteg hely van!). Ez a projekt kellően felkeltette az érdeklődésemet, lehet, hogy megteszem…
Végezetül szeretném kifejezni tankjaimat Fabrizio Di Vittorio -nak a félelmetes ESP32 VGA könyvtáráért. További részletekért, példákért és… Space Invaders, látogasson el a webhelyére.
Ajánlott:
Kapcsolható játékok: Steam Train játék hozzáférhető!: 7 lépés (képekkel)

Switch-Adapt Toys: Steam Train Toy Accessible!: A játék adaptációja új utakat és személyre szabott megoldásokat nyit meg, amelyek lehetővé teszik a mozgáskorlátozott vagy fejlődési fogyatékossággal élő gyermekek önálló interakcióját a játékokkal. Sok esetben azok a gyerekek, akik igénylik az adaptált játékokat, nem tudnak
Kapcsolható játékok: vízzel lélegző gyalogsárkány hozzáférhető!: 7 lépés (képekkel)

Kapcsolható játékok: vízzel lélegző sétáló sárkány hozzáférhető !: A játékhoz való alkalmazkodás új utakat és testreszabott megoldásokat nyit meg annak érdekében, hogy a mozgáskorlátozott vagy fejlődési fogyatékos gyermekek önállóan léphessenek kapcsolatba a játékokkal. Sok esetben azok a gyerekek, akik igénylik az adaptált játékokat, nem tudnak
Soros LED kijelző Arduino játékok: 7 lépés (képekkel)

Soros LED kijelző Arduino Games: más néven LED létra kijelző játékrendszer. Az Attiny-85 hardverrel és szoftverrel felszerelt, hogy akciódús " videót " játékok, soros LED kijelzőn. Multiplex 12 LED -es létra kijelzővel rendelkezik, és támogatja a 6 gombos bemenetet és az opcionális
3D nyomtatott tervezői művészeti játékok: 6 lépés (képekkel)

3D nyomtatott tervezői művészeti játékok: Évek óta lenyűgöznek a designer művészi játékok. Nem bírom magamat, ha meglátom azokat a kis vakdobozokat a képregényboltok polcain. Könyörögnek, hogy tépjem szét őket, hogy lássam, mi van bent. A Kidrobot Dunny sorozatai mind ugyanazon a
A régi játékok újra fantasztikusak: 17 lépés (képekkel)

Ismét félelmetessé varázsolni a régi játékokat: 2 dollárért találtam ezt a retro kinézetű űrhajót egy helyi ócska áruházból, és nem tudtam ellenállni annak megvásárlásához. Kezdetben csak az unokaöcsémnek akartam adni, ahogy van, de szerettem volna egy kicsit szórakoztatóbbá tenni a játékot. Úgy döntöttem, hogy a megbízható 555 ic -t használom