Indholdsfortegnelse:
- Trin 1: ESP32 -plader, Arduino IDE -installation og VGA -bibliotekskonfiguration
- Trin 2: Upload "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"
- Trin 3: Tilslutning af VGA -porten
- Trin 4: Tilslut de fire knapper
- Trin 5: Tilslut joysticket
- Trin 6: Konklusion og anerkendelse
Video: ESP32 VGA Arcade Games og Joystick: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
I denne instruktive vil jeg vise, hvordan man gengiver fire arkade -lignende spil - Tetris - Snake - Breakout - Bomber - ved hjælp af en ESP32, med output til en VGA -skærm.
Opløsningen er 320 x 200 pixels, i 8 farver. Jeg har tidligere lavet en version med en Arduino Uno (se her), men opløsningen var kun 120 x 60 pixels, 4 farver, og Arduino -hukommelsen var næsten fuld. Takket være ESP32's større præstationer er både opløsning og spilbarhed højere. Desuden er der stadig masser af hukommelse til rådighed, så tilføjelse af nye spil i fremtiden vil være ligetil.
Jeg vil også vise varmt at tilslutte et simpelt joystick gennem et RS232 -kabel. Jeg bruger den samme pinout af Commodore 64 one.
Dette projekt er muliggjort af det fantastiske ESP32 VGA -bibliotek skrevet af Fabrizio Di Vittorio. Se her for flere detaljer.
Trin 1: ESP32 -plader, Arduino IDE -installation og VGA -bibliotekskonfiguration
Først og fremmest skal du købe en ESP32 revision 1 eller øvre. Der er mange versioner til rådighed, men jeg anbefaler at vælge en med mange ben, helst en model som den på dette billede, med 38 ben. Jeg bruger denne version, men jeg synes også mange andre er fine. På ebay kan du finde denne model til mindre end 7 Euro, inklusive levering.
Når du har fået tavlen, skal du fortsætte med følgende tre undertrin:
- Installer den sidste Arduino IDE
- Konfigurer ESP32 i IDE og
- Download og installer VGA -biblioteket
Deltrin 1. Der er forskellige metoder til at programmere ESP32, men her skal du bruge Arduino IDE (jeg bruger i øvrigt version 1.8.9). For at installere det kan du gå til Arduino IDE -siden og følge instruktionerne.
Deltrin 2. Når den tidligere handling er udført, skal du konfigurere din ESP32 inden for Arduino IDE. Dette er ikke trivielt, da ESP32 ikke (endnu?) Er hjemmehørende i det. Du kan følge denne vejledning eller følgende trin.
1) Åbn Arduino IDE
2) Åbn indstillingsvinduet, Fil/præference, eller tryk på "Ctrl+komma"
3) gå til "Yderligere bestyrelsesmanager -webadresser", kopier og indsæt følgende tekst:
https://dl.espressif.com/dl/package_esp32_index.js…
og klik på knappen OK.
4) Åben bestyrelseschef. Gå til Tools/Board/Boards Manager …
5) Søg efter ESP32, og tryk på installationsknappen for "ESP32 by Espressif Systems":
6) På dette tidspunkt, når du tilslutter din ESP32 første gang, skal du vælge den rigtige model på den lange liste over tilgængelige ESP32 -tavler (se billedet i dette trin). Hvis du er i tvivl om modellen, skal du bare vælge den generiske, dvs. den første. Det virker for mig.
7) systemet skal også vælge den rigtige USB (COM) port og uploadhastigheden (normalt 921600). På dette tidspunkt bør forbindelsen mellem din pc og ESP32 -kortet etableres.
Deltrin 3. Endelig skal du installere FabGL VGA-biblioteket. Klik her for at downloade den komplette komprimerede fil. Komprimer den og kopier den resulterende mappe (FabGL-master) i mappen Arduino IDE biblioteker, der ligner:
"… / arduino-1.8.12 / biblioteker".
Trin 2: Upload "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"
Download ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip nederst i dette trin. Pak den ud, og åbn den med Arduino IDE, og upload den derefter til din ESP32. Hvis du ikke har nogen fejlmeddelelser, skal koden allerede køre, og du skal bare tilslutte VGA -porten og knapper (eller joystick).
Trin 3: Tilslutning af VGA -porten
Du har brug for følgende dele:
- et DSUB15 -stik, dvs. et VGA -hunstik eller et VGA -kabel, der skal skæres.
- tre 270 Ohm modstande.
Tilslut ESP32 GPIO pin 2, 15 og 21 til henholdsvis VGA rød, grøn og blå gennem 270 Ohm modstande.
Tilslut VGA Hsync og Vsync til henholdsvis ESP32 GPIO ben 17 og 4.
Tilslut DSUB15 -stikstifterne 5, 6, 7, 8 og 10 til ESP32 GND.
For definition af VGA DSUB15 -stik pin, se billedet i dette trin. NB, dette er lodningssiden af hunstikket.
Trin 4: Tilslut de fire knapper
Hvis du ikke har et C64 -joystick, kan du tilslutte fire knapper efter dette trin. Hvis du har joysticket, kan du springe dette trin over og springe til det næste, men du kan alligevel forbinde både knapperne og joysticket (de er alligevel "parallelle").
Skematikken i dette trin viser, hvordan du tilslutter en enkelt knap (normalt åben) fra +5V til den angivne ESP32 -pin.
Bemærk, at du også skal tilslutte den ESP -givne pin til GND gennem en 1 til 5 kOhm modstand. På denne måde er knappen, når knappen slippes (åben), nøjagtigt nul volt. Mere specifikt skal du forbinde fire knapper med følgende rækkefølge:
- Pin 12 til højre knap
- Pin 25 til op -knap
- Pin 14 til venstre knap
- Pin 35 til knappen Ned
Trin 5: Tilslut joysticket
Et C64 -joystick har pinout vist på det første billede af dette trin. For at slutte den til ESP32 skal du bruge et 9 -bens DSUB -hanstik (dvs. en stikkontakt), som vist på det andet billede. Jeg fjernede en med synlige stifter fra et gammelt elektronisk bord. Du kan bruge en varmepistol til at fjerne den (men gør det udendørs!).
Du skal forbinde stifterne efter den numeriske rækkefølge på disse billeder. Bemærk, at skematikken refererer til joysticksiden, og dermed repræsenterer forbindelsen af dens hunstik. Stikkontakten (han) til tilslutning til ESP32 har stifterne med en "spejl" disposition. I tvivlstilfælde skal du huske, at pinkoden altid rapporteres på han- og hunstik, som vist på det tredje billede.
Hvis du kun vil styre spillene med joysticket, skal du slutte den fælles pin (9) til ESP32 +5V, og joystickstifterne 1, 2, 3, 4 og 6 til de ESP -givne stifter efter følgende liste.
- ESP pin 12 til højre knap (RS232 pin 4)
- ESP pin 14 til venstre knap (RS232 pin 3)
- ESP pin 35 til Down -knap (RS232 pin 2)
- ESP pin 25 til Up -knap (RS232 pin 1 og 6, dvs. joystick -brand)
NB ESP -benene 12, 14, 25 og 35 skal også tilsluttes GND gennem en 1 til 5 kOhm modstand. På denne måde er knappen, når knappen slippes (åben), nøjagtigt nul volt.
NB2 joystick UP-position og brandknap er forbundet til ESP pin 25-
Jeg har tilsluttet fire knapper på pc -kortet, på denne måde behøver jeg ikke joysticket til at spille (selvom det med joysticket er meget mere sjovt). Igen skal RS232 -pin 9 tilsluttes +5 V, og joystick -benene er lige parallelt med knapperne.
Trin 6: Konklusion og anerkendelse
Hvis alt fungerer korrekt, skal du bare tilslutte VGA -skærmen, og du bør kunne nyde et gammelt spil!
Du kan også tegne et Mandelbrot -sæt med en opløsning på 640 x 350 pixels, bare for at teste VGA -bibliotekets muligheder.
Bemærk, at koden er skrevet på en måde, hvorpå andre spil let kan tilføjes i fremtiden (ESP32 har masser af plads!). Hvis dette projekt får nok interesse, kan jeg gøre det …
Endelig vil jeg gerne udtrykke mine tanke til Fabrizio Di Vittorio for hans fantastiske ESP32 VGA -bibliotek. For flere detaljer, eksempler og … Space Invaders, besøg hans websted.
Anbefalede:
Joystick -styret kørestol hjulpet med forhindringssporing: 3 trin (med billeder)
Joystickstyret kørestol hjulpet med forhindringssporing: For at lette fysisk handicappede med sikker kørsel bruges en ultralydssensor til at spore forhindringer på vejen. Baseret på joystickens bevægelse kører motorerne kørestol i alle fire retninger og hastighed på hver di
Platform med uendelige niveauer på GameGo med Makecode Arcade: 5 trin (med billeder)
Platform med uendelige niveauer på GameGo med Makecode Arcade: GameGo er en Microsoft Makecode -kompatibel retro gaming bærbar konsol udviklet af TinkerGen STEM education. Den er baseret på STM32F401RET6 ARM Cortex M4 -chip og lavet til STEM -undervisere eller bare folk, der kan lide at have det sjovt med at skabe retro -videospil
Arduino Basic PC med VGA -output: 5 trin (med billeder)
Arduino Basic PC Med VGA Output: I min tidligere Instructable har jeg vist, hvordan man bygger en retro 8-bit computer, der kører BASIC, ved hjælp af to Arduino og med et udgangssignal i B & W til en tv-skærm. Nu vil jeg vise, hvordan man bygger den samme computer, men med udgangssignalet i
Kid's Toy Light Switch Box + Games Remix: 19 trin (med billeder)
Kid's Toy Light Switch Box + Games Remix: Dette er et remix, jeg lige skulle gøre lige siden jeg så to fantastiske instruktører og ikke kunne stoppe med at tænke på at kombinere de to! Denne mashup kombinerer dybest set grænsefladen til Light Switch Box med enkle spil (Simon, Whack-a-Mole osv …) på t
Arduino Arcade Lego Games Box: 19 trin (med billeder)
Arduino Arcade Lego Games Box: Hvis du har børn, står du sandsynligvis over for de samme problemer som vi gjorde med Lego -sætene, du købte til dem. De samler og leger med dem, men efter et stykke tid forvandles sættene til en enkelt bunke mursten. Børnene vokser op, og du ved ikke, hvad de skal