Obsah:

Arkádové hry a joystick ESP32 VGA: 6 krokov (s obrázkami)
Arkádové hry a joystick ESP32 VGA: 6 krokov (s obrázkami)

Video: Arkádové hry a joystick ESP32 VGA: 6 krokov (s obrázkami)

Video: Arkádové hry a joystick ESP32 VGA: 6 krokov (s obrázkami)
Video: Pařanská reportáž | ArcadeHry.cz - Největší retro-arkádová videoherna a muzeum ve Střední Evropě 2024, Júl
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 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

Dosky ESP32, inštalácia Arduino IDE a konfigurácia knižnice VGA
Dosky ESP32, inštalácia Arduino IDE a konfigurácia knižnice VGA
Dosky ESP32, inštalácia Arduino IDE a konfigurácia knižnice VGA
Dosky ESP32, inštalácia Arduino IDE a konfigurácia knižnice VGA
Dosky ESP32, inštalácia Arduino IDE a konfigurácia knižnice VGA
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:

  1. Nainštalujte posledné IDE Arduino
  2. Nakonfigurujte ESP32 v IDE a
  3. 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

Pripojenie portu VGA
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á

Pripojte štyri tlačidlá
Pripojte štyri tlačidlá
Pripojte štyri tlačidlá
Pripojte štyri tlačidlá
Pripojte štyri tlačidlá
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

Pripojte joystick
Pripojte joystick
Pripojte joystick
Pripojte joystick
Pripojte joystick
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

Záver a uznanie
Záver a uznanie

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: