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, Srpanj
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. Prethodno sam radio verziju s Arduino Uno (vidi ovdje), ali rezolucija je bila samo 120 x 60 piksela, 4 boje, a Arduino memorija bila je gotovo puna. Zahvaljujući boljim performansama ESP32, i rezolucija i reprodukcija su veće. Nadalje, još je dosta memorije na raspolaganju, pa će dodavanje novih igara u budućnosti biti jednostavno.

Također ću pokazati vruće za spajanje jednostavne upravljačke palice putem RS232 kabela. Koristim isti pinout Commodore 64.

Ovaj projekt omogućio je izvrsna ESP32 VGA knjižnica koju je napisao Fabrizio Di Vittorio. Za više detalja pogledajte ovdje.

Korak 1: ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA knjižnice

ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA knjižnice
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA knjižnice
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA knjižnice
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA knjižnice
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA knjižnice
ESP32 ploče, Arduino IDE instalacija i konfiguracija VGA knjižnice

Prije svega morate kupiti ESP32 reviziju 1 ili gornju. Dostupne su mnoge inačice, 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 ovaj model možete pronaći 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čite metode za programiranje 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 dovršena, morate konfigurirati svoj ESP32 unutar Arduino IDE-a. To nije trivijalno, budući da ESP32 u njemu (još?) 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 ploče", kopirajte i zalijepite sljedeći tekst:

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

i kliknite gumb U redu.

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

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

6) U ovom trenutku, kada prvi put povežete svoj ESP32, trebali biste odabrati pravi model na dugom popisu dostupnih ESP32 ploča (pogledajte sliku u ovom koraku). U slučaju nedoumica oko modela, samo odaberite generički, tj. Prvi. Radi mi.

7) sustav bi također trebao odabrati pravi USB (COM) priključak i brzinu prijenosa (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 knjižnicu. Kliknite ovdje za preuzimanje cijele komprimirane datoteke. Raspakirajte ga i kopirajte rezultirajuću mapu (FabGL-master) u mapu Arduino IDE knjižnica, koja izgleda ovako:

"… / Arduino-1.8.12 / knjižnice".

2. korak: 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 s Arduino IDE -om, a zatim ga prenesite na svoj ESP32. Ako nemate poruka o pogrešci, kôd bi već trebao biti pokrenut i samo trebate spojiti VGA port i gumbe (ili joystick).

Korak 3: Spajanje VGA porta

Spajanje VGA porta
Spajanje VGA porta

Potrebni su vam sljedeći dijelovi:

  • priključak DSUB15, tj. VGA ženski priključak 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, kroz otpornike od 270 Ohma.

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 priključka.

Korak 4: Spojite četiri gumba

Spojite četiri gumba
Spojite četiri gumba
Spojite četiri gumba
Spojite četiri gumba
Spojite četiri gumba
Spojite četiri gumba

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

Shema u ovom koraku pokazuje kako spojiti jedan gumb (normalno otvoren) od +5V na dati pin ESP32.

Imajte na umu da također morate spojiti dani ESP pin na GND kroz otpornik od 1 do 5 kOhm. Na taj način, kada se gumb otpusti (otvori), ESP pin je točno na nuli volti. Točnije, morate spojiti četiri gumba sljedećim redoslijedom:

  • Pin 12 na desnu tipku
  • Pin 25 prema gore
  • Pin 14 na lijevu tipku
  • Pričvrstite 35 na gumb Dolje

Korak 5: Spojite joystick

Spojite joystick
Spojite joystick
Spojite joystick
Spojite joystick
Spojite joystick
Spojite joystick

Upravljačka palica 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 elektroničke 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 stoga predstavlja vezu njegovog ženskog utikača. Utičnica (muški) za spajanje na ESP32 ima pinove s "zrcalnim" rasporedom. U slučaju sumnje, imajte na umu da se broj pina uvijek prikazuje na muškim i ženskim konektorima, 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 pinove slijedećeg popisa.

  • ESP pin 12 na desnoj tipki (RS232 pin 4)
  • ESP pin 14 do lijeve tipke (RS232 pin 3)
  • ESP pin 35 do tipke za dolje (RS232 pin 2)
  • ESP pin 25 do tipke Gore (RS232 pinovi 1 i 6, tj. Aktiviranje upravljačke palice)

Napomena: ESP pinovi 12, 14, 25 i 35 također moraju biti spojeni na GND kroz otpornik od 1 do 5 kOhm. Na taj način, kada se gumb otpusti (otvori), ESP pin je točno na nuli volti.

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

Spojio sam četiri gumba na PC ploču, pa mi na taj način ne treba joystick za igru (iako je s joystickom mnogo smiješnije). Opet, RS232 pin 9 mora biti spojen na +5 V, a pinovi upravljačke palice su paralelni s gumbima.

Korak 6: Zaključak i priznanje

Zaključak i priznanje
Zaključak i priznanje

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

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

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

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

Preporučeni: