Sadržaj:

ESP32 VGA Arkadne igre i joystick: 6 koraka (sa slikama)
ESP32 VGA Arkadne igre i joystick: 6 koraka (sa slikama)

Video: ESP32 VGA Arkadne igre i joystick: 6 koraka (sa slikama)

Video: ESP32 VGA Arkadne igre i joystick: 6 koraka (sa slikama)
Video: STM32F4 arcade game: Birds'n Zombie. 2024, Juli
Anonim
Image
Image
ESP32 VGA Arkadne igre i joystick
ESP32 VGA Arkadne igre i joystick
ESP32 VGA Arkadne igre i joystick
ESP32 VGA Arkadne igre i joystick

U ovom uputstvu pokazat ću kako reproducirati četiri arkadne igre - Tetris - Zmija - Proboj - Bombaš - koristeći ESP32, s izlazom za VGA monitor.

Rezolucija je 320 x 200 piksela, u 8 boja. Ranije sam radio verziju sa Arduino Uno (vidi ovdje), ali rezolucija je bila samo 120 x 60 piksela, 4 boje, a Arduino memorija je bila skoro puna. Zahvaljujući boljim performansama ESP32, i rezolucija i reprodukcija su veće. Nadalje, ima još dosta memorije na raspolaganju, pa će dodavanje novih igara u budućnosti biti jednostavno.

Takođe ću pokazati vruće za povezivanje jednostavnog džojstika preko RS232 kabla. Koristim isti pinout od Commodore 64.

Ovaj projekt omogućio je sjajna ESP32 VGA biblioteka koju je napisao Fabrizio Di Vittorio. Za više detalja pogledajte ovdje.

Korak 1: ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA biblioteke

ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA biblioteke
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA biblioteke
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA biblioteke
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA biblioteke
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA biblioteke
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA biblioteke

Prije svega morate kupiti ESP32 reviziju 1 ili gornju. Dostupne su mnoge verzije, ali preporučujem da odaberete onu s mnogo pinova, po mogućnosti model poput ovog na ovoj slici, s 38 pinova. Koristim ovu verziju, ali mislim da su i mnoge druge u redu. Na ebayu možete pronaći ovaj model za manje od 7 eura, uključujući dostavu.

Nakon što nabavite ploču, morate nastaviti sa sljedeća tri pod-koraka:

  1. Instalirajte posljednji Arduino IDE
  2. Konfigurirajte ESP32 u IDE -u i
  3. Preuzmite i instalirajte VGA biblioteku

Pod-korak 1. Postoje različiti načini programiranja ESP32, ali ovdje morate koristiti Arduino IDE (ja inače koristim verziju 1.8.9). Da biste ga instalirali, idite na stranicu Arduino IDE i slijedite upute.

Pod-korak 2. Nakon što je prethodna operacija završena, trebate konfigurirati svoj ESP32 unutar Arduino IDE-a. Ovo nije trivijalno, budući da ESP32 u njemu (još uvijek?) Nije izvorni. Možete slijediti ovaj vodič ili sljedeće korake.

1) otvorite Arduino IDE

2) otvorite prozor postavki, Datoteka/Postavke, ili pritisnite "Ctrl+zarez"

3) idite na „Dodatni URL -ovi upravitelja odbora“, kopirajte i zalijepite sljedeći tekst:

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

i kliknite na dugme U redu.

4) Otvorite upravitelja ploča. Idite na Tools/Board/Boards Manager…

5) Potražite ESP32 i pritisnite dugme za instalaciju za „ESP32 by Espressif Systems“:

6) U ovom trenutku, kada prvi put povežete svoj ESP32, trebali biste izabrati pravi model na dugačkoj listi dostupnih ESP32 ploča (pogledajte sliku u ovom koraku). U slučaju nedoumica oko modela, samo odaberite opći, odnosno prvi. Radi mi.

7) sistem bi takođe trebao izabrati pravi USB (COM) port i brzinu otpremanja (obično 921600). U ovom trenutku treba uspostaviti vezu između vašeg računala i ploče ESP32.

Podkorak 3. Na kraju morate instalirati FabGL VGA biblioteku. Kliknite ovdje za preuzimanje cijele komprimirane datoteke. Raspakirajte ga i kopirajte rezultirajuću mapu (FabGL-master) u mapu Arduino IDE biblioteka, koja izgleda ovako:

"… / Arduino-1.8.12 / biblioteke".

Korak 2: Prijenos "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"

Preuzmite ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip na dnu ovog koraka. Raspakirajte i otvorite ga pomoću Arduino IDE -a, a zatim ga prenesite na svoj ESP32. Ako nemate poruka o grešci, kôd bi već trebao biti pokrenut i samo trebate spojiti VGA port i gumbe (ili joystick).

Korak 3: Spajanje VGA porta

Povezivanje VGA porta
Povezivanje VGA porta

Potrebni su vam sledeći delovi:

  • konektor DSUB15, odnosno VGA ženski konektor ili VGA kabel za rezanje.
  • tri otpornika od 270 ohma.

Spojite ESP32 GPIO pin 2, 15 i 21 na VGA crvenu, zelenu i plavu boju, preko 270 Ohm otpornika.

Spojite VGA Hsync i Vsync na ESP32 GPIO pinove 17 i 4 respektivno.

Spojite pinove 5, 6, 7, 8 i 10 konektora DSUB15 na ESP32 GND.

Za definiciju pina konektora VGA DSUB15 pogledajte sliku u ovom koraku. Napomena: ovo je strana lemljenja ženskog konektora.

Korak 4: Povežite četiri dugmeta

Povežite četiri dugmeta
Povežite četiri dugmeta
Povežite četiri dugmeta
Povežite četiri dugmeta
Povežite četiri dugmeta
Povežite četiri dugmeta

Ako nemate džojstik C64, možete spojiti četiri dugmeta nakon ovog koraka. Ako imate joystick, možete preskočiti ovaj korak i preći na sljedeći, ali svejedno možete spojiti i tipke i joystick (ionako su "paralelni").

Shema u ovom koraku prikazuje kako spojiti jedno dugme (normalno otvoreno) od +5V na dati pin ESP32.

Imajte na umu da također morate spojiti dani ESP pin na GND preko otpornika od 1 do 5 kOhm. Na ovaj način, kada se dugme otpusti (otvori), ESP pin je na tačno nula volti. Preciznije, morate povezati četiri gumba sljedećim redoslijedom:

  • Zakačite 12 na desno dugme
  • Zakačite dugme 25 prema gore
  • Zakačite 14 na lijevo dugme
  • Zakačite 35 na dugme Dolje

Korak 5: Spojite joystick

Povežite džojstik
Povežite džojstik
Povežite džojstik
Povežite džojstik
Povežite džojstik
Povežite džojstik

Džojstik C64 ima pinout prikazan na prvoj slici ovog koraka. Za spajanje na ESP32 potreban vam je 9 -polni DSUB muški konektor (tj. Utičnica), kao što je prikazano na drugoj slici. Uklonio sam jedan sa izloženim iglama sa stare elektronske ploče. Za uklanjanje možete koristiti toplinski pištolj (ali to učinite na otvorenom!).

Morate spojiti pinove prema numeričkom redoslijedu na ovim slikama. Imajte na umu da se shema odnosi na stranu upravljačke palice, pa predstavlja vezu njegovog ženskog utikača. Utičnica (muški) za spajanje na ESP32 ima pinove sa "ogledalnim" rasporedom. U slučaju nedoumice, imajte na umu da se broj pina uvijek prikazuje na muškom i ženskom konektoru, kao što je prikazano na trećoj slici.

Ako želite kontrolirati igre samo pomoću joystick -a, spojite njegov zajednički pin (9) na ESP32 +5V, a pinove 1, 2, 3, 4 i 6 na ESP -u navedene spinove slijedeće liste.

  • ESP pin 12 na desno dugme (RS232 pin 4)
  • ESP pin 14 do lijevog dugmeta (RS232 pin 3)
  • ESP pin 35 do tipke za dolje (RS232 pin 2)
  • ESP pin 25 prema gore (RS232 pin 1 i 6, tj. Aktiviranje džojstika)

Napomena: ESP pinovi 12, 14, 25 i 35 moraju biti povezani na GND preko otpornika od 1 do 5 kOhm. Na ovaj način, kada se dugme otpusti (otvori), ESP pin je na tačno nula volti.

NB2 joystick UP položaj i tipka za paljenje povezani su zajedno na ESP pin 25-

Povezao sam četiri dugmeta na ploči računara, pa mi na ovaj način nije potreban džojstik za igru (mada je sa džojstikom mnogo smiješnije). Ponovo, RS232 pin 9 mora biti povezan na +5 V, a pinovi džojstika su paralelni sa tasterima.

Korak 6: Zaključak i priznanje

Zaključak i priznanje
Zaključak i priznanje

Ako sve radi kako treba, samo spojite VGA monitor i trebali biste moći uživati u igri starog stila!

Takođe možete nacrtati Mandelbrotov set rezolucije 640 x 350 piksela, samo da biste testirali mogućnosti VGA biblioteke.

Imajte na umu da je kod napisan na način da se u budućnosti mogu lako dodati druge igre (ESP32 ima dosta prostora!). Ako ovaj projekt dobije dovoljno interesa, mogu to učiniti …

Na kraju, želim izraziti svoje tenkove Fabriziju Di Vittorio za njegovu odličnu ESP32 VGA biblioteku. Za više detalja, primjera i… Space Invaders, posjetite njegovu web stranicu.

Preporučuje se: