Përmbajtje:

ESP32 VGA Arcade Games and Joystick: 6 hapa (me fotografi)
ESP32 VGA Arcade Games and Joystick: 6 hapa (me fotografi)

Video: ESP32 VGA Arcade Games and Joystick: 6 hapa (me fotografi)

Video: ESP32 VGA Arcade Games and Joystick: 6 hapa (me fotografi)
Video: ESP32 Mini Game Console - Game Wing 2024, Korrik
Anonim
Image
Image
ESP32 VGA Arcade Games dhe Joystick
ESP32 VGA Arcade Games dhe Joystick
ESP32 VGA Arcade Games dhe Joystick
ESP32 VGA Arcade Games dhe Joystick

Në këtë udhëzues do të tregoj se si të riprodhoni katër lojëra arcade - Tetris - Snake - Breakout - Bomber - duke përdorur një ESP32, me daljen për një monitor VGA.

Rezolucioni është 320 x 200 piksele, në 8 ngjyra. Unë kam bërë më parë një version me një Arduino Uno (shiko këtu), por rezolucioni ishte vetëm 120 x 60 piksele, 4 ngjyra, dhe kujtesa Arduino ishte pothuajse e plotë. Falë performancave më të mëdha të ESP32, rezolucioni dhe luajtshmëria janë më të larta. Për më tepër, ka ende shumë memorie në dispozicion, kështu që shtimi i lojërave të reja në të ardhmen do të jetë i drejtpërdrejtë.

Unë gjithashtu do të tregoj nxehtë për të lidhur një levë të thjeshtë përmes një kabllo RS232. Unë jam duke përdorur të njëjtën pinout të Commodore 64.

Ky projekt është bërë i mundur nga biblioteka e mrekullueshme ESP32 VGA e shkruar nga Fabrizio Di Vittorio. Shih këtu për më shumë detaje.

Hapi 1: Bordet ESP32, Instalimi i Arduino IDE dhe Konfigurimi i Bibliotekës VGA

Bordet ESP32, Instalimi i Arduino IDE dhe Konfigurimi i Bibliotekës VGA
Bordet ESP32, Instalimi i Arduino IDE dhe Konfigurimi i Bibliotekës VGA
Bordet ESP32, Instalimi i Arduino IDE dhe Konfigurimi i Bibliotekës VGA
Bordet ESP32, Instalimi i Arduino IDE dhe Konfigurimi i Bibliotekës VGA
Bordet ESP32, Instalimi i Arduino IDE dhe Konfigurimi i Bibliotekës VGA
Bordet ESP32, Instalimi i Arduino IDE dhe Konfigurimi i Bibliotekës VGA

Para së gjithash ju duhet të blini një revizion ESP32 1 ose të sipërm. Ka shumë versione në dispozicion, por unë rekomandoj të zgjidhni një me shumë kunja, preferohet një model i tillë si ai në këtë foto, me 38 kunja. Unë jam duke përdorur këtë version, por mendoj se edhe shumë të tjerë janë mirë. Në ebay mund ta gjeni këtë model për më pak se 7 Euro, përfshirë dërgesën.

Pasi të keni marrë tabelën, duhet të vazhdoni me tre nën-hapat e mëposhtëm:

  1. Instaloni IDE -në e fundit Arduino
  2. Konfiguroni ESP32 në IDE dhe
  3. Shkarkoni dhe instaloni bibliotekën VGA

Nën-hapi 1. Ka metoda të ndryshme për të programuar ESP32, por këtu ju duhet të përdorni Arduino IDE (unë po përdor versionin 1.8.9, nga rruga). Për ta instaluar atë, mund të shkoni në faqen Arduino IDE dhe të ndiqni udhëzimet.

Nën-hapi 2. Pasi të jetë kryer operacioni i mëparshëm, duhet të konfiguroni ESP32-in tuaj brenda Arduino IDE. Kjo nuk është e parëndësishme, pasi ESP32 nuk është (akoma?) Amtare në të. Ju mund të ndiqni këtë tutorial, ose hapat e mëposhtëm.

1) hapni Arduino IDE

2) hapni dritaren e preferencave, Skedari/Preferenca, përndryshe shtypni "Ctrl+presje"

3) shkoni te "URL -të shtesë të Menaxherit të Bordit", kopjoni dhe ngjisni tekstin e mëposhtëm:

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

dhe klikoni butonin OK.

4) Menaxher i bordeve të hapura. Shkoni te Menaxheri i Mjeteve/Bordit/Bordeve…

5) Kërkoni për ESP32 dhe shtypni butonin e instalimit për "ESP32 nga Espressif Systems":

6) Në këtë pikë, kur lidhni për herë të parë ESP32 -in tuaj, duhet të zgjidhni modelin e duhur në listën e gjatë të bordeve të disponueshëm ESP32 (shihni foton në këtë hap). Në rast dyshimi për modelin, thjesht zgjidhni atë të përgjithshëm, domethënë të parin. Funksionon për mua.

7) sistemi gjithashtu duhet të zgjedhë portën e duhur USB (COM) dhe Shpejtësinë e Ngarkimit (normalisht 921600). Në këtë pikë duhet të vendoset lidhja midis kompjuterit tuaj dhe bordit ESP32.

Nën-hapi 3. Së fundi ju duhet të instaloni bibliotekën FabGL VGA. Klikoni këtu për të shkarkuar skedarin e kompresuar të plotë. Hiqeni atë dhe kopjoni dosjen që rezulton (FabGL-master) në dosjen e bibliotekave Arduino IDE, e cila duket si:

"… / Arduino-1.8.12 / bibliotekat".

Hapi 2: Ngarkimi i "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"

Shkarkoni ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip në fund të këtij hapi. Zbërtheni dhe hapeni atë me Arduino IDE, pastaj ngarkojeni në ESP32 tuaj. Nëse nuk keni mesazhe gabimi, kodi tashmë duhet të jetë në punë dhe thjesht duhet të lidhni portën VGA dhe butonat (ose levën).

Hapi 3: Lidhja e Portës VGA

Lidhja e Portës VGA
Lidhja e Portës VGA

Ju duhen pjesët e mëposhtme:

  • një lidhës DSUB15, domethënë një lidhës femër VGA ose një kabllo VGA që pritet.
  • tre rezistorë 270 Ohm.

Lidhni pinin ESP32 GPIO 2, 15 dhe 21 me VGA Red, Green dhe Blue respektivisht, përmes rezistorëve 270 Ohm.

Lidhni VGA Hsync dhe Vsync me kunjat ESP32 GPIO 17 dhe 4 respektivisht.

Lidhni kunjat e lidhësve DSUB15 5, 6, 7, 8 dhe 10 në ESP32 GND.

Për përcaktimin e pinit të lidhësit VGA DSUB15, shihni foton në këtë hap. NB, kjo është ana e bashkimit të lidhësit femëror.

Hapi 4: Lidhni Katër Butonat

Lidhni Katër Butonat
Lidhni Katër Butonat
Lidhni Katër Butonat
Lidhni Katër Butonat
Lidhni Katër Butonat
Lidhni Katër Butonat

Nëse nuk keni një levë C64, mund të lidhni katër butona pas këtij hapi. Nëse keni xhojstikun, mund ta kaloni këtë hap dhe të kaloni te tjetri, por gjithsesi mund t'i lidhni si butonat ashtu edhe levën (ato gjithsesi janë "paralelisht").

Skema në këtë hap tregon se si të lidhni një buton të vetëm (Normalisht të Hapur) nga +5V në kunjin e dhënë ESP32.

Vini re se ju gjithashtu duhet të lidhni kunjin e dhënë ESP me GND përmes një rezistence 1 deri në 5 kOhm. Në këtë mënyrë kur butoni lëshohet (hapet) kunja ESP është saktësisht në zero Volt. Më konkretisht, duhet të lidhni katër butona me rendin e mëposhtëm:

  • Mbërtheni butonin 12 në të djathtë
  • Butoni 25 në lart
  • Mbërtheni butonin 14 në të majtë
  • Mbërtheni butonin 35 në poshtë

Hapi 5: Lidhni Joystick

Lidhni Joystick
Lidhni Joystick
Lidhni Joystick
Lidhni Joystick
Lidhni Joystick
Lidhni Joystick

Një levë C64 ka pinout -in e treguar në foton e parë të këtij hapi. Për ta lidhur me ESP32, keni nevojë për një lidhës mashkullor 9 pin DSUB (d.m.th., një prizë), siç tregohet në foton e dytë. Hoqa një me kunja të ekspozuara nga një tabelë e vjetër elektronike. Ju mund të përdorni një armë ngrohëse për ta hequr atë (por bëjeni atë në natyrë!).

Ju duhet të lidhni kunjat sipas rendit numerik në këto fotografi. Vini re se skema i referohet anës së levës, kështu që ajo përfaqëson lidhjen e prizës së saj femërore. Foleja (mashkull) për t'u lidhur me ESP32 ka kunjat me një prirje "pasqyre". Në rast dyshimi, mbani mend se numri i kunjave raportohet gjithmonë në lidhësit meshkuj dhe femra, siç tregohet në foton e tretë.

Nëse doni të kontrolloni lojërat vetëm me levë, lidhni kunjin e saj të zakonshëm (9) në ESP32 +5V, dhe kunjat e levës 1, 2, 3, 4 dhe 6 në kunjat e dhëna në ESP, në vijim të listës së mëposhtme.

  • ESP pin 12 në butonin e djathtë (RS232 pin 4)
  • ESP pin 14 në butonin e majtë (RS232 pin 3)
  • ESP pin 35 në butonin Down (RS232 pin 2)
  • ESP pin 25 në butonin Up (RS232 pin 1 dhe 6, domethënë zjarri i levës)

NB Kunjat ESP 12, 14, 25 dhe 35 gjithashtu duhet të lidhen me GND përmes një rezistence 1 deri në 5 kOhm. Në këtë mënyrë kur butoni lëshohet (hapet) kunja ESP është saktësisht në zero Volt.

Pozicioni UP i levës NB2 dhe butoni i zjarrit janë të lidhur së bashku me pin ESP 25-

Unë kam lidhur katër butona në tabelën e PC, në këtë mënyrë nuk kam nevojë të luaj levë (megjithëse me levë është shumë më qesharake). Përsëri, kunja RS232 9 duhet të lidhet me +5 V dhe kunjat e levës janë paralelisht me butonat.

Hapi 6: Përfundim dhe Mirënjohje

Përfundim dhe Mirënjohje
Përfundim dhe Mirënjohje

Nëse gjithçka funksionon siç duhet, thjesht lidhni monitorin VGA dhe duhet të jeni në gjendje të shijoni disa lojëra të stilit të vjetër!

Ju gjithashtu mund të vizatoni një grup Mandelbrot me një rezolucion prej 640 x 350 piksele, vetëm për të testuar aftësitë e bibliotekës VGA.

Vini re se kodi është shkruar në një mënyrë që lojërat e tjera të shtohen lehtësisht në të ardhmen (ESP32 ka shumë hapësirë!). Nëse ky projekt merr mjaft interes, mund ta bëj atë…

Së fundi, dëshiroj t'i shpreh tanket e mia Fabrizio Di Vittorio për bibliotekën e tij të mrekullueshme ESP32 VGA. Për më shumë detaje, shembuj dhe… Pushtuesit e Hapësirës, vizitoni faqen e tij.

Recommended: