Obsah:
- Krok 1: Dosky ESP32, inštalácia Arduino IDE a konfigurácia knižnice VGA
- Krok 2: Odovzdanie „ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0“
- Krok 3: Pripojenie portu VGA
- Krok 4: Pripojte štyri tlačidlá
- Krok 5: Pripojte joystick
- Krok 6: Záver a potvrdenie
Video: Arkádové hry a joystick ESP32 VGA: 6 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
V tomto návode ukážem, ako reprodukovať štyri arkádové hry - Tetris - Snake - Breakout - Bomber - pomocou systému ESP32 s výstupom pre monitor VGA.
Rozlíšenie je 320 x 200 pixelov, v 8 farbách. Predtým som urobil verziu s Arduino Uno (pozri tu), ale rozlíšenie bolo iba 120 x 60 pixelov, 4 farby a pamäť Arduino bola takmer plná. Vďaka vyšším výkonom ESP32 sú rozlíšenie aj hrateľnosť vyššie. Okrem toho je stále k dispozícii dostatok pamäte, takže pridávanie nových hier v budúcnosti bude jednoduché.
Ukážem tiež, ako prepojiť jednoduchý joystick pomocou kábla RS232. Používam rovnaký vývod ako Commodore 64.
Tento projekt je možný vďaka úžasnej VGA knižnici ESP32, ktorú napísal Fabrizio Di Vittorio. Tu nájdete ďalšie podrobnosti.
Krok 1: Dosky ESP32, inštalácia Arduino IDE a konfigurácia knižnice VGA
Najprv si musíte kúpiť ESP32 revíziu 1 alebo novšiu. Existuje mnoho verzií, ale odporúčam vybrať si takú, ktorá má veľa kolíkov, najlepšie model, ako je tento na obrázku, s 38 kolíkmi. Používam túto verziu, ale myslím si, že mnoho ďalších je v poriadku. Na ebay nájdete tento model za menej ako 7 eur vrátane doručenia.
Akonáhle získate tabuľu, musíte pokračovať v nasledujúcich troch čiastkových krokoch:
- Nainštalujte posledné IDE Arduino
- Nakonfigurujte ESP32 v IDE a
- Stiahnite si a nainštalujte knižnicu VGA
Podkrok 1. Na programovanie ESP32 existujú rôzne metódy, ale tu musíte použiť Arduino IDE (mimochodom používam verziu 1.8.9). Ak ho chcete nainštalovať, prejdite na stránku Arduino IDE a postupujte podľa pokynov.
Podkrok 2. Po dokončení predchádzajúcej operácie musíte nakonfigurovať svoj ESP32 v Arduino IDE. Nie je to triviálne, pretože ESP32 v ňom nie je (zatiaľ?) Natívny. Môžete postupovať podľa tohto tutoriálu alebo nasledujúcich krokov.
1) otvorte Arduino IDE
2) otvorte okno predvolieb, Súbor/Preferencie, alebo alternatívne stlačte „Ctrl+čiarka“
3) Prejdite na „Ďalšie adresy URL správcu“, skopírujte a prilepte nasledujúci text:
https://dl.espressif.com/dl/package_esp32_index.js…
a kliknite na tlačidlo OK.
4) Správca otvorených dosiek. Prejdite do Správcu nástrojov/správnych rád/dosiek …
5) Vyhľadajte ESP32 a stlačte tlačidlo inštalácie pre „ESP32 by Espressif Systems“:
6) V tomto mieste, keď sa prvýkrát pripájate k svojmu ESP32, mali by ste si vybrať správny model z dlhého zoznamu dostupných dosiek ESP32 (pozri obrázok v tomto kroku). V prípade pochybností o modeli stačí vybrať generický, t.j. prvý. Mne to funguje.
7) systém by mal tiež zvoliť správny port USB (COM) a rýchlosť odosielania (normálne 921600). V tomto mieste by malo byť nadviazané spojenie medzi vašim počítačom a doskou ESP32.
Podkrok 3. Nakoniec musíte nainštalovať knižnicu FabGL VGA. Kliknutím sem stiahnete kompletný komprimovaný súbor. Rozbaľte ho a skopírujte výsledný priečinok (FabGL-master) do priečinka knižníc Arduino IDE, ktorý vyzerá takto:
"… / Arduino-1.8.12 / knižnice".
Krok 2: Odovzdanie „ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0“
V spodnej časti tohto kroku si stiahnite súbor ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip. Rozbaľte a otvorte ho pomocou Arduino IDE a potom ho nahrajte do svojho ESP32. Ak nemáte žiadne chybové hlásenia, kód by už mal byť spustený a stačí pripojiť port VGA a tlačidlá (alebo joystick).
Krok 3: Pripojenie portu VGA
Potrebujete nasledujúce diely:
- konektor DSUB15, tj konektor VGA samica alebo kábel VGA, ktorý chcete odrezať.
- tri odpory 270 Ohm.
Pripojte kolíky 2, 15 a 21 ESP32 GPIO k VGA červenému, zelenému a modrému cez odpory 270 Ohm.
Pripojte VGA Hsync a Vsync k pinom 17 a 4 GPIO ESP32.
Pripojte kolíky 5, 6, 7, 8 a 10 konektorov DSUB15 k ESP32 GND.
Definíciu pinov konektora VGA DSUB15 nájdete na obrázku v tomto kroku. Poznámka: Toto je spájkovacia strana konektora.
Krok 4: Pripojte štyri tlačidlá
Ak nemáte joystick C64, môžete podľa tohto kroku pripojiť štyri tlačidlá. Ak máte joystick, môžete tento krok preskočiť a prejsť na ďalší, ale tlačidlá aj joystick môžete aj tak pripojiť (v každom prípade sú „paralelné“).
Schéma v tomto kroku ukazuje, ako pripojiť jediné tlačidlo (normálne otvorené) z +5 V na daný pin ESP32.
Všimnite si toho, že musíte tiež pripojiť pin daný ESP k GND cez odpor 1 až 5 kOhm. Týmto spôsobom, keď je tlačidlo uvoľnené (otvorené), kolík ESP je presne na nulové napätie. Konkrétnejšie musíte pripojiť štyri tlačidlá v nasledujúcom poradí:
- Tlačidlo kolíka 12 doprava
- Tlačidlo pin 25 to Up
- Pin 14 na ľavé tlačidlo
- Pin 35 na tlačidlo nadol
Krok 5: Pripojte joystick
Joystick C64 má vývod znázornený na prvom obrázku tohto kroku. Na jeho pripojenie k ESP32 potrebujete 9 -kolíkový konektor DSUB (t.j. zásuvku), ako je znázornené na druhom obrázku. Odstránil som jeden s odhalenými kolíkmi zo starej elektronickej dosky. Na jeho odstránenie môžete použiť tepelnú pištoľ (ale urobte to vonku!).
Na týchto obrázkoch musíte prepojiť kolíky podľa číselného poradia. Všimnite si toho, že schéma sa vzťahuje na stranu joysticku, čo znamená, že predstavuje pripojenie svojej zástrčky. Zásuvka (samec) na pripojenie k ESP32 má kolíky so „zrkadlovým“usporiadaním. V prípade pochybností pamätajte na to, že číslo kolíka je vždy uvedené na mužskom a ženskom konektore, ako je znázornené na treťom obrázku.
Ak chcete ovládať hry iba joystickom, pripojte jeho spoločný kolík (9) k ESP32 +5V a kolíky joysticku 1, 2, 3, 4 a 6 k kolíkom daným ESP podľa nasledujúceho zoznamu.
- ESP kolík 12 doprava (RS232 kolík 4)
- Kolík ESP 14 na ľavé tlačidlo (kolík RS232 3)
- ESP kolík 35 - tlačidlo nadol (RS232 pin 2)
- Tlačidlo ESP pin 25 to Up (RS232 pin 1 a 6, t. J. Pákový ovládač)
Pozn. Piny ESP 12, 14, 25 a 35 musia byť tiež spojené s GND cez odpor 1 až 5 kOhm. Týmto spôsobom, keď je tlačidlo uvoľnené (otvorené), kolík ESP je presne na nulové napätie.
Poloha joysticku NB2 NAHOR a tlačidlo paľby sú spojené k pinu ESP 25-
Pripojil som štyri tlačidlá na doske PC, týmto spôsobom nepotrebujem joystick na hranie (aj keď s joystickom je to oveľa zábavnejšie). Opäť platí, že kolík 9 RS232 musí byť pripojený k +5 V a kolíky joysticku sú rovnobežné s tlačidlami.
Krok 6: Záver a potvrdenie
Ak všetko funguje správne, stačí pripojiť monitor VGA a mali by ste si vychutnať starú hru!
Môžete tiež nakresliť sadu Mandelbrot s rozlíšením 640 x 350 pixelov, len aby ste otestovali možnosti knižnice VGA.
Všimnite si toho, že kód je napísaný tak, aby bolo v budúcnosti možné ľahko pridať ďalšie hry (ESP32 má veľa miesta!). Pokiaľ sa mi tento projekt bude páčiť, možno to urobím …
Nakoniec by som chcel vyjadriť svoje tanky Fabrizio Di Vittorio za jeho úžasnú knižnicu ESP32 VGA. Viac podrobností, príkladov a … Space Invaders nájdete na jeho webe.
Odporúča:
Jammarduino DUE - Rozhranie PC - Jamma pre arkádové skrine: 6 krokov
Rozhranie Jammarduino DUE - DIY rozhranie PC - Jamma pre arkádové skrine: Tento návod vám ukáže, ako vytvoriť jednoduchý štít pre Arduino DUE na prepojenie skutočného arkádového stroja s nízkym rozlíšením CRT a konektorom jamma s počítačom. Hlavné úlohy štítu sú: - na zosilnenie video signálu vychádzajúceho z videa
Víly: prenosné arkádové a mediálne centrum: 5 krokov
Fairies: Portable Arcade and Media Center: Mojím cieľom bolo postaviť prenosnú konzolu & mediálne centrum pre moju dcéru. Hrateľnosť v malých prevedeniach, ako sú klony PSP alebo Nintendo, sa zdá byť príliš vzdialená myšlienke starých arkádových skriniek. Chcel som sa pripojiť k nostalgii tlačidiel
Retro arkádové hodiny - Arduino: 6 krokov (s obrázkami)
Retro arkádové hodiny - Arduino: Postavte si interaktívne arkádové nočné hodiny s dotykovým displejom a animovanými arkádovými figúrkami, pomocou ktorých môžete zaznamenať zvuk budíka podľa vlastného výberu. Ide o aktualizáciu predchádzajúceho projektu, ktorý teraz obsahuje 3D tlačené puzdro a štyri samostatné programy
Lego arkádové puzdro na stroj pre GBA SP: 3 kroky
Lego Arcade Machine Case for GBA SP: This is a Game Boy Advance SP in a Lego Arcade Machine. Budete potrebovať GBA SP a dobré množstvo kociek Lego
Arkádové tlačidlá Plug and Play: 7 krokov (s obrázkami)
Arkádové tlačidlá Plug and Play: Nedávno som začal používať Arduino na vytváranie svojich projektov. Ako dizajnér milujem vytváranie vlastných rozhraní pre svoje hry/interaktívne projekty. Problém, na ktorý som narazil, je, že používanie sériovej komunikácie je dosť komplikované a náchylné na problémy a