Obsah:

Arkádové hry a joystick ESP32 VGA: 6 kroků (s obrázky)
Arkádové hry a joystick ESP32 VGA: 6 kroků (s obrázky)

Video: Arkádové hry a joystick ESP32 VGA: 6 kroků (s obrázky)

Video: Arkádové hry a joystick ESP32 VGA: 6 kroků (s obrázky)
Video: Pařanská reportáž | ArcadeHry.cz - Největší retro-arkádová videoherna a muzeum ve Střední Evropě 2024, Červenec
Anonim
Image
Image
Arkádové hry a joystick ESP32 VGA
Arkádové hry a joystick ESP32 VGA
Arkádové hry a joystick ESP32 VGA
Arkádové hry a joystick ESP32 VGA

V tomto instruktážním programu ukážu, jak reprodukovat čtyři arkádové hry - Tetris - Snake - Breakout - Bomber - pomocí ESP32 s výstupem pro VGA monitor.

Rozlišení je 320 x 200 pixelů v 8 barvách. Dříve jsem udělal verzi s Arduino Uno (viz zde), ale rozlišení bylo pouze 120 x 60 pixelů, 4 barvy a paměť Arduino byla téměř plná. Díky vyšším výkonům ESP32 jsou vyšší rozlišení i hratelnost. Kromě toho je stále k dispozici dostatek paměti, takže přidání nových her v budoucnu bude snadné.

Také ukážu horké připojení jednoduchého joysticku přes kabel RS232. Používám stejný pinout jako Commodore 64.

Tento projekt je umožněn úžasnou VGA knihovnou ESP32, kterou napsal Fabrizio Di Vittorio. Další podrobnosti naleznete zde.

Krok 1: Desky ESP32, instalace Arduino IDE a konfigurace knihovny VGA

Desky ESP32, instalace Arduino IDE a konfigurace VGA knihovny
Desky ESP32, instalace Arduino IDE a konfigurace VGA knihovny
Desky ESP32, instalace Arduino IDE a konfigurace VGA knihovny
Desky ESP32, instalace Arduino IDE a konfigurace VGA knihovny
Desky ESP32, instalace Arduino IDE a konfigurace VGA knihovny
Desky ESP32, instalace Arduino IDE a konfigurace VGA knihovny

Nejprve si musíte zakoupit ESP32 revize 1 nebo vyšší. K dispozici je mnoho verzí, ale doporučuji vybrat jednu s mnoha piny, nejlépe model, jako je ten na tomto obrázku, s 38 piny. Používám tuto verzi, ale myslím, že mnoho dalších je také v pořádku. Na ebay najdete tento model za méně než 7 Euro včetně dopravy.

Jakmile získáte desku, musíte pokračovat v následujících třech dílčích krocích:

  1. Nainstalujte poslední Arduino IDE
  2. Konfigurujte ESP32 v IDE a
  3. Stáhněte a nainstalujte knihovnu VGA

Dílčí krok 1. Existují různé metody programování ESP32, ale zde musíte použít Arduino IDE (mimochodem používám verzi 1.8.9). Chcete -li jej nainstalovat, přejděte na stránku Arduino IDE a postupujte podle pokynů.

Dílčí krok 2. Jakmile je předchozí operace hotová, musíte svůj ESP32 nakonfigurovat v Arduino IDE. To není triviální, protože ESP32 v něm není (zatím?) Nativní. Můžete postupovat podle tohoto kurzu nebo podle následujících kroků.

1) otevřete Arduino IDE

2) otevřete okno předvoleb, Soubor/Předvolby, případně stiskněte „Ctrl+čárka“

3) přejděte na „Další adresy URL správce tabule“, zkopírujte a vložte následující text:

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

a klikněte na tlačítko OK.

4) Správce otevřených desek. Přejít na Nástroje/Správce desek/Správce desek…

5) Vyhledejte ESP32 a stiskněte instalační tlačítko pro „ESP32 by Espressif Systems“:

6) V tomto okamžiku, když poprvé připojujete svůj ESP32, měli byste si vybrat správný model z dlouhého seznamu dostupných desek ESP32 (viz obrázek v tomto kroku). V případě pochybností o modelu stačí vybrat obecný, tj. První. Mně to funguje.

7) systém by měl také zvolit správný port USB (COM) a rychlost odesílání (obvykle 921600). V tomto okamžiku by mělo být navázáno spojení mezi vaším počítačem a deskou ESP32.

Dílčí krok 3. Nakonec musíte nainstalovat knihovnu FabGL VGA. Kliknutím sem stáhnete kompletní komprimovaný soubor. Rozbalte jej a zkopírujte výslednou složku (FabGL-master) do složky knihoven Arduino IDE, která vypadá takto:

"… / Arduino-1.8.12 / knihovny".

Krok 2: Nahrání „ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0“

Stáhněte si ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip v dolní části tohoto kroku. Rozbalte a otevřete jej pomocí Arduino IDE a poté jej nahrajte do svého ESP32. Pokud nemáte žádné chybové zprávy, kód by již měl být spuštěn a stačí připojit port VGA a tlačítka (nebo joystick).

Krok 3: Připojení portu VGA

Připojení portu VGA
Připojení portu VGA

Potřebujete následující díly:

  • konektor DSUB15, tj. konektor VGA samice nebo kabel VGA, který je třeba odříznout.
  • tři 270 ohmové odpory.

Připojte piny ESP32 GPIO 2, 15 a 21 k VGA červenému, zelenému a modrému přes odpory 270 ohmů.

Připojte VGA Hsync a Vsync k pinům 17 a 4 ESIO GPIO.

Připojte piny 5, 6, 7, 8 a 10 konektorů DSUB15 k ESP32 GND.

Definici pinů konektoru VGA DSUB15 najdete na obrázku v tomto kroku. Poznámka: toto je pájecí strana konektoru.

Krok 4: Připojte čtyři tlačítka

Připojte čtyři tlačítka
Připojte čtyři tlačítka
Připojte čtyři tlačítka
Připojte čtyři tlačítka
Připojte čtyři tlačítka
Připojte čtyři tlačítka

Pokud nemáte joystick C64, můžete podle tohoto kroku připojit čtyři tlačítka. Pokud máte joystick, můžete tento krok přeskočit a přejít na další, ale stejně můžete připojit jak tlačítka, tak joystick (stejně jsou „paralelně“).

Schéma v tomto kroku ukazuje, jak připojit jediné tlačítko (normálně otevřené) z +5V k danému pinu ESP32.

Všimněte si také, že je také nutné připojit pin daný ESP k GND přes odpor 1 až 5 kOhm. Tímto způsobem, když je tlačítko uvolněno (otevřeno), je kolík ESP přesně na nulovém napětí. Přesněji řečeno, musíte připojit čtyři tlačítka v následujícím pořadí:

  • Tlačítko Pin 12 doprava
  • Tlačítko Pin 25 to Up
  • Pin 14 na levé tlačítko
  • Kolík 35 na tlačítko Dolů

Krok 5: Připojte joystick

Připojte joystick
Připojte joystick
Připojte joystick
Připojte joystick
Připojte joystick
Připojte joystick

Joystick C64 má pinout zobrazený na prvním obrázku tohoto kroku. K jeho připojení k ESP32 potřebujete 9pinový konektor DSUB (tj. Zásuvku) DSUB, jak ukazuje druhý obrázek. Odstranil jsem jeden s odkrytými piny ze staré elektronické desky. K jeho odstranění můžete použít horkovzdušnou pistoli (ale udělejte to venku!).

Na těchto obrázcích musíte piny spojit podle číselného pořadí. Všimněte si toho, že schéma odkazuje na stranu joysticku, tedy představuje připojení jeho samičí zástrčky. Zásuvka (samec) pro připojení k ESP32 má kolíky s „zrcadlovým“uspořádáním. V případě pochybností nezapomeňte, že číslo pinu je vždy uvedeno na konektoru samec a samice, jak ukazuje třetí obrázek.

Pokud chcete ovládat hry pouze joystickem, připojte jeho společný kolík (9) k ESP32 +5V a kolíky joysticku 1, 2, 3, 4 a 6 k pinům daným ESP podle následujícího seznamu.

  • Tlačítko ESP pin 12 to Right (RS232 pin 4)
  • Tlačítko ESP 14 na levé tlačítko (pin RS232 3)
  • Tlačítko ESP pin 35 to Down (RS232 pin 2)
  • Tlačítko ESP pin 25 to Up (RS232 pin 1 a 6, tj. Pákový ovladač)

Pozn. Piny ESP 12, 14, 25 a 35 musí být také připojeny k GND přes odpor 1 až 5 kOhm. Tímto způsobem, když je tlačítko uvolněno (otevřeno), je kolík ESP přesně na nulovém napětí.

Poloha joysticku NB2 NAHORU a tlačítko střelby jsou spojeny dohromady s pinem ESP 25-

Připojil jsem čtyři tlačítka na desce PC, tímto způsobem nepotřebuji k hraní joystick (i když s joystickem je to mnohem zábavnější). Opět platí, že pin RS232 9 musí být připojen k +5 V a kolíky joysticku jsou rovnoběžně s tlačítky.

Krok 6: Závěr a potvrzení

Závěr a potvrzení
Závěr a potvrzení

Pokud vše funguje správně, stačí připojit monitor VGA a měli byste si užít nějakou starou hru!

Můžete také nakreslit sadu Mandelbrot s rozlišením 640 x 350 pixelů, jen abyste otestovali možnosti knihovny VGA.

Všimněte si, že kód je napsán tak, že v budoucnu lze snadno přidat další hry (ESP32 má spoustu místa!). Pokud tento projekt vzbudí dostatečný zájem, možná to udělám…

Nakonec bych chtěl vyjádřit své tanky Fabrizio Di Vittorio za jeho úžasnou VGA knihovnu ESP32. Další podrobnosti, příklady a … Space Invaders navštivte jeho web.

Doporučuje: