Tartalomjegyzék:

ESP32 VGA arcade játékok és joystick: 6 lépés (képekkel)
ESP32 VGA arcade játékok és joystick: 6 lépés (képekkel)

Videó: ESP32 VGA arcade játékok és joystick: 6 lépés (képekkel)

Videó: ESP32 VGA arcade játékok és joystick: 6 lépés (képekkel)
Videó: Galaga ESP32 #6: Boot "menu" 2024, Július
Anonim
Image
Image
ESP32 VGA Arcade Games és joystick
ESP32 VGA Arcade Games és joystick
ESP32 VGA Arcade Games és joystick
ESP32 VGA Arcade Games és joystick

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

ESP32 táblák, Arduino IDE telepítése és VGA könyvtár konfigurálása
ESP32 táblák, Arduino IDE telepítése és VGA könyvtár konfigurálása
ESP32 táblák, Arduino IDE telepítése és VGA könyvtár konfigurálása
ESP32 táblák, Arduino IDE telepítése és VGA könyvtár konfigurálása
ESP32 táblák, Arduino IDE telepítése és VGA könyvtár konfigurálása
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:

  1. Telepítse az utolsó Arduino IDE -t
  2. Konfigurálja az ESP32 -t az IDE -ben és
  3. 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 VGA port csatlakoztatása
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

Csatlakoztassa a négy gombot
Csatlakoztassa a négy gombot
Csatlakoztassa a négy gombot
Csatlakoztassa a négy gombot
Csatlakoztassa a négy gombot
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

Csatlakoztassa a botkormányt
Csatlakoztassa a botkormányt
Csatlakoztassa a botkormányt
Csatlakoztassa a botkormányt
Csatlakoztassa a botkormányt
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

Következtetés és elismerés
Következtetés és elismeré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: