Obsah:
- Krok 1: Desky ESP32, instalace Arduino IDE a konfigurace knihovny VGA
- Krok 2: Nahrání „ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0“
- Krok 3: Připojení portu VGA
- Krok 4: Připojte čtyři tlačítka
- Krok 5: Připojte joystick
- Krok 6: Závěr a potvrzení
Video: Arkádové hry a joystick ESP32 VGA: 6 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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
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:
- Nainstalujte poslední Arduino IDE
- Konfigurujte ESP32 v IDE a
- 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
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
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
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í
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:
Řadový LED displej Arduino hry: 7 kroků (s obrázky)
Řadový LED displej Arduino hry: alias LED žebříkový herní herní systém. Attiny-85 vybavený hardwarem a softwarem pro přehrávání akčního " videa " hry, na in-line LED displeji. Má multiplexovaný 12 LED žebříkový displej a podporuje až 6 tlačítkových vstupů a opti
Jammarduino DUE - Rozhraní PC -Jamma pro arkádové skříně: 6 kroků
Rozhraní Jammarduino DUE - DIY rozhraní PC - Jamma pro arkádové skříně: Tento návod vám ukáže, jak vytvořit jednoduchý štít pro Arduino DUE pro propojení skutečného arkádového stroje s CRT s nízkým rozlišením a konektorem jamma k vašemu PC. Hlavní výhody štítu jsou: - pro zesílení video signálu vycházejícího z videa
Spusťte své hry Steam na retro arkádové sadě s Raspberry Pi: 7 kroků
Spusťte své Steam hry na Retro Arcade Kit s Raspberry Pi: Máte účet Steam se všemi nejnovějšími hrami? Co třeba arkádová skříň? Pokud ano, proč je nekombinovat do úžasného herního stroje Steam Streaming. Díky lidem na Steamu můžete nyní streamovat nejnovější hry ze svého PC nebo Ma
Víly: přenosné arkádové a mediální centrum: 5 kroků
Fairies: Portable Arcade and Media Center: Mým cílem bylo postavit přenosnou konzoli & mediální centrum pro moji dceru. Hratelnost mini designů, jako jsou klony PSP nebo Nintendo, se zdá být příliš vzdálená myšlence starých arkádových skříněk. Chtěl jsem se připojit k nostalgii tlačítek
Retro arkádové hodiny - Arduino: 6 kroků (s obrázky)
Retro Arcade Clock - Arduino: Postavte si interaktivní arkádové noční hodiny s dotykovým displejem a animovanými arkádovými figurkami, do kterých můžete zaznamenat zvuk podle svého výběru pro alarm. Jedná se o aktualizaci předchozího projektu, který nyní obsahuje 3D tištěné pouzdro a čtyři samostatné programy