Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:08
V tem navodilu bom pokazal, kako reproducirati štiri arkadne igre - Tetris - Snake - Breakout - Bomber - z uporabo ESP32 z izhodom za monitor VGA.
Ločljivost je 320 x 200 slikovnih pik, v 8 barvah. Prej sem naredil različico z Arduino Uno (glej tukaj), vendar je bila ločljivost le 120 x 60 slikovnih pik, 4 barve, pomnilnik Arduino pa je bil skoraj poln. Zaradi boljših zmogljivosti ESP32 sta ločljivost in igralnost višji. Poleg tega je na voljo še veliko pomnilnika, zato bo dodajanje novih iger v prihodnosti preprosto.
Prikazal bom tudi vročo povezavo preproste krmilne palice prek kabla RS232. Uporabljam isti pinout Commodore 64.
Ta projekt je omogočila odlična knjižnica ESP32 VGA, ki jo je napisal Fabrizio Di Vittorio. Za več podrobnosti glejte tukaj.
1. korak: plošče ESP32, namestitev Arduino IDE in konfiguracija knjižnice VGA
Najprej morate kupiti ESP32 revizijo 1 ali novejšo. Na voljo je veliko različic, vendar priporočam, da izberete eno z mnogimi zatiči, po možnosti model, kot je ta na tej sliki, s 38 zatiči. Uporabljam to različico, vendar mislim, da je tudi veliko drugih v redu. Na ebayu lahko najdete ta model za manj kot 7 evrov, vključno z dostavo.
Ko dobite ploščo, morate nadaljevati z naslednjimi tremi podkoraki:
- Namestite zadnji Arduino IDE
- Konfigurirajte ESP32 v IDE in
- Prenesite in namestite knjižnico VGA
Pod-korak 1. Za programiranje ESP32 obstajajo različne metode, vendar morate tukaj uporabiti Arduino IDE (mimogrede uporabljam različico 1.8.9). Če ga želite namestiti, pojdite na stran Arduino IDE in sledite navodilom.
Pod-korak 2. Ko je prejšnja operacija opravljena, morate svoj ESP32 konfigurirati v Arduino IDE. To ni nepomembno, saj ESP32 v njem (še?) Ni domač. Lahko sledite tej vadnici ali naslednjim korakom.
1) odprite Arduino IDE
2) odprite okno z nastavitvami, datoteka/nastavitve, ali pa pritisnite "Ctrl+vejica"
3) pojdite na “Dodatni URL -ji upravitelja plošč”, kopirajte in prilepite naslednje besedilo:
https://dl.espressif.com/dl/package_esp32_index.js…
in kliknite gumb V redu.
4) Odprite upravitelja desk. Pojdite na Orodja/Upravni odbor/deske …
5) Poiščite ESP32 in pritisnite gumb za namestitev za „ESP32 by Espressif Systems“:
6) Na tej točki, ko prvič povežete svoj ESP32, bi morali izbrati pravi model na dolgem seznamu razpoložljivih plošč ESP32 (glejte sliko v tem koraku). V primeru dvoma o modelu izberite samo generičnega, torej prvega. Deluje zame.
7) sistem mora izbrati tudi prava vrata USB (COM) in hitrost nalaganja (običajno 921600). Na tej točki je treba vzpostaviti povezavo med računalnikom in ploščo ESP32.
Podkorak 3. Nazadnje morate namestiti knjižnico FabGL VGA. Kliknite tukaj za prenos celotne stisnjene datoteke. Razširite ga in kopirajte nastalo mapo (FabGL-master) v mapo knjižnic Arduino IDE, ki izgleda tako:
"… / Arduino-1.8.12 / knjižnice".
2. korak: nalaganje »ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0«
Prenesite ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip na dnu tega koraka. Razpakirajte in odprite z Arduino IDE, nato pa ga naložite v svoj ESP32. Če nimate nobenih sporočil o napakah, bi se morala koda že izvajati, samo priključite vrata VGA in gumbe (ali krmilno palčko).
Korak: Priključite vrata VGA
Potrebujete naslednje dele:
- priključek DSUB15, to je ženski konektor VGA ali kabel VGA, ki ga je treba odrezati.
- tri upore 270 ohmov.
Pinove 2, 15 in 21 ESP32 GPIO priključite na rdečo, zeleno in modro VGA prek uporov 270 Ohm.
VGA Hsync in Vsync priključite na nožici 17 in 4 ESP32 GPIO.
Pinove 5, 6, 7, 8 in 10 priključkov DSUB15 priključite na ESP32 GND.
Za definicijo priključka VGA DSUB15 si oglejte sliko v tem koraku. Opomba: to je spajkalna stran ženskega priključka.
4. korak: Povežite štiri gumbe
Če nimate krmilne palice C64, lahko po tem koraku povežete štiri gumbe. Če imate ročno krmilno palčko, lahko ta korak preskočite in skočite na naslednjega, vseeno pa lahko povežete oba gumba in krmilno palčko (vseeno sta "vzporedni").
Shema v tem koraku prikazuje, kako priključiti en sam gumb (običajno odprt) od +5V na dani pin ESP32.
Upoštevajte, da morate z vtičem 1 do 5 kOhm priključiti dani pin ESP na GND. Na ta način, ko gumb sprostite (odprete), je pin ESP natančno na nič voltov. Natančneje, morate povezati štiri gumbe v naslednjem vrstnem redu:
- Pin 12 na desni gumb
- Pripnite 25 do gumba navzgor
- Zataknite 14 na levi gumb
- Pripnite 35 do gumba dol
5. korak: Priključite igralno palico
Krmilna palica C64 ima pinout, prikazan na prvi sliki tega koraka. Če ga želite priključiti na ESP32, potrebujete 9 -polni moški konektor DSUB (tj. Vtičnico), kot je prikazano na drugi sliki. Enega z izpostavljenimi zatiči sem odstranil s stare elektronske plošče. Za odstranitev lahko uporabite toplotno pištolo (vendar to storite na prostem!).
Zatiče morate povezati po številčnem vrstnem redu na teh slikah. Upoštevajte, da se shema nanaša na stran krmilne ročice, zato predstavlja povezavo njegovega ženskega vtiča. Vtičnica (moški) za povezavo z ESP32 ima nožice z "ogledalom". V primeru dvoma ne pozabite, da je številka pina vedno navedena na moških in ženskih priključkih, kot je prikazano na tretji sliki.
Če želite igre upravljati samo z igralno palico, priključite njen skupni zatič (9) na ESP32 +5V, zatiči 1, 2, 3, 4 in 6 pa na spodnji seznam za ESP.
- ESP pin 12 proti desni tipki (RS232 pin 4)
- ESP pin 14 do leve tipke (RS232 pin 3)
- ESP pin 35 do gumba Down (RS232 pin 2)
- ESP pin 25 do gumba navzgor (RS232 pin 1 in 6, to je požar krmilne palice)
Upoštevajte, da morajo biti pin ESP 12, 14, 25 in 35 priključeni tudi na GND prek upora 1 do 5 kOhm. Na ta način, ko gumb sprostite (odprete), je pin ESP natančno na nič voltov.
NB2 krmilna palica UP položaj in gumb za požar sta skupaj povezana z ESP pin 25-
Na ploščo PC -ja sem priključil štiri gumbe, zato mi za uporabo igralne palice ni treba (čeprav je z igralno palico veliko bolj smešno). Ponovno je treba priključek 9 RS232 priključiti na +5 V, zatiči krmilne ročice pa so vzporedno s tipkami.
Korak 6: Zaključek in priznanje
Če vse deluje pravilno, samo priključite monitor VGA in uživali boste v igri starega sloga!
Lahko tudi narišete komplet Mandelbrot z ločljivostjo 640 x 350 slikovnih pik, samo da preizkusite zmogljivosti knjižnice VGA.
Upoštevajte, da je koda napisana na način, da lahko v prihodnje preprosto dodate druge igre (ESP32 ima veliko prostora!). Za ta projekt imam dovolj zanimanja, lahko to storim …
Končno želim svoje tanke izraziti Fabriziju Di Vittorio za njegovo čudovito knjižnico ESP32 VGA. Za več podrobnosti, primere in … Space Invaders obiščite njegovo spletno stran.
Priporočena:
USB -igralna palica z učinkom Hall: 7 korakov (s slikami)
USB -igralna palica Hall Effect: Ta navodila kažejo, kako uporabiti industrijsko igralno palico Hall Effect za izdelavo visokozmogljive USB -krmilne palice. Obstaja še ena povezana krmilna palica z navodili, ki lahko zagotovi nizkocenovno rešitev; >
Brezžična igralna palica/kolesni gumb za računalnik: 4 koraki (s slikami)
Brezžične igralne palice/kolesne tipke za računalnik: V zadnjih nekaj letih sem ustvarjal novo dirkalno sim kartico in se odločil, da bom šel z volanom DIY Direct Drive. Čeprav je lahko samo ta projekt sam po sebi več navodil, je to navodilo za izdelavo vseh gumbov na t
Edinstvena igralna palica: 11 korakov
Edinstvena igralna palica: te dni sem sedel kot običajno, ko se mi je porodila zamisel o izdelavi te čudovite malenkosti. To naj bi bila rešitev problema, ki sem ga imel pred časom, ko sem poskušal oblikovati nadomestek za krogelni in vtični spoj, in samo
Arduino robot s krmilnikom PS2 (igralna palica PlayStation 2): 10 korakov (s slikami)
Arduino robot s krmilnikom PS2 (igralna palica PlayStation 2): V tej vadnici vam bom pokazal, kako z brezžično igralno palico Playstation 2 (PS2) upravljati robotski rezervoar. V središču tega projekta je bila uporabljena plošča Arduino Uno. Od brezžičnega krmilnika sprejema ukaze in nastavlja hitrost motorjev
Mini igralna palica z gumbom za požar: 9 korakov (s slikami)
Mini igralna palica z gumbom za požar: to je miniaturna krmilna palica, narejena iz nekaj stikal in kemičnega svinčnika. Izbirni gumb za požar lahko dodate, če je vaše peresnik tip klika. Akcija je zelo gladka in odzivna. Sledi nekaj zgodbe nazaj, zato jo preskočite in si privoščite