Innholdsfortegnelse:

ESP32 VGA Tetris: 3 trinn
ESP32 VGA Tetris: 3 trinn

Video: ESP32 VGA Tetris: 3 trinn

Video: ESP32 VGA Tetris: 3 trinn
Video: ESP32 VGA [Arduino, 3D] 2024, Juli
Anonim
ESP32 VGA Tetris
ESP32 VGA Tetris

I denne instruksen vil jeg vise hvordan du bygger en klon av det klassiske spillet Tetris, ved hjelp av en ESP32 og genererer utdata for en VGA -skjerm. Dette spillet er muliggjort av det fantastiske ESP32Lib Arduino -biblioteket gjort av bitluni.

Du trenger ESP32 -kortstøtten installert i Arduino IDE (jeg bruker den siste versjonen som er tilgjengelig nå, dvs. 1.8.9 IDE). Du finner den i Library Manager og søker etter "bitluni". Siden den siste versjonen ble publisert for bare et par uker siden, pågår den fremdeles, men den gir allerede noen enkle eksempler.

Sammenlignet med mine tidligere prosjekter der jeg skrev lignende vintage -spillkloner for Arduino eller ESP8266, er ESP32 ekstremt kraftigere, VGA -utgangen med forskjellige oppløsninger (320x200, 320x240, 360x400, 460x480) og opptil 14Bit farger. Videre har du størrelsesordener mer minne.

I denne Tetris -klonen bruker jeg bare en oppløsning på 320x200 med 8 farger. Koden er en rask "konvertering" av en tidligere versjon for Arduino VGA, og er derfor dårlig designet og ikke-optimalisert. På den annen side er ESP32 VGA -potensialet mye høyere, noe som gir muligheten til å skrive flere og mer sofistikerte spill, antar jeg, til de fra DOS -tiden. Jeg skulle ønske at dette prosjektet ville være til nytte for andre produsenter for å skrive mange andre spill i fremtiden.

Trinn 1: ESP32 -kort, Arduino IDE -installasjon og konfigurasjon

ESP32 -kort, Arduino IDE -installasjon og konfigurasjon
ESP32 -kort, Arduino IDE -installasjon og konfigurasjon

Først av alt må du kjøpe en ESP32. Det er mange versjoner tilgjengelig, men jeg anbefaler å velge en med mange pins. Jeg kjøpte denne versjonen, men du kan finne tre andre versjoner i beskrivelsen av denne videoen.

Det er forskjellige metoder for å programmere ESP32, men her må du bruke den nyeste Arduino IDE. For å installere det og laste opp bitluni ESP32lib VGA -biblioteket, kan du følge denne enkle opplæringen. Den viser også hvordan du konfigurerer ditt spesifikke ESP32 -kort i Arduino IDE.

På dette tidspunktet kan du begynne å laste opp det første eksemplet: gå til Fil/eksempler/bitluni ESP32Lib/VGA2DFeatures, som vist på bildet i begynnelsen av dette trinnet. Hvis opplastingen fungerer uten problemer, må du koble til VGA -porten som vist i neste trinn.

Trinn 2: Tilkobling av VGA og knapper

Tilkobling av VGA og knapper
Tilkobling av VGA og knapper

For å koble VGA -skjermen til ESP32 kan du enten bruke en DSUB15 hunkontakt (dvs. en standard 15 -pinners VGA) eller bare kutte en VGA -kabel.

For Tetris og bibliotekeksemplene med 8 farger trenger du ingen motstand, bare koble pinnene som følger:

  • VGA rød til ESP32 ping G2
  • VGA grønn til ESP32 ping G15
  • VGA blå til ESP32 ping G21
  • VGA Hsync til ESP32 ping G32
  • VGA Vsync til ESP32 ping G33
  • VGA GND til ESP32 GND

På dette tidspunktet bør du kunne se eksempelet VGA2DFeatures på din VGA -skjerm.

For å spille Tetris trenger du fire knapper og fire motstander på omtrent 1 til 2 kOhm.

Koble de fire motstandene til fra GND til ESP32 -pinnene G25, G26, G34 og G35.

Koble den ene siden av knappen til ESP32 3.3 Volt, og den andre siden som følger:

  • knappen rett til G26
  • knappen venstre til G34
  • knappen rotere til G25
  • knappen ned til G35

Siste trinn: Last ned ESP32_VGA_Tetris_V1.0.ino på slutten av denne siden, og kopier den til en mappe med samme navn.

Last den opp på ESP32 -mikrokontrolleren, og du kan umiddelbart begynne å spille Tetris!

Trinn 3: Konklusjon og anerkjennelser

Jeg er veldig takknemlig for bitluni, forfatteren av ESP32 VGA -biblioteket og opplæringsprogrammer og eksempler for bruk og utnyttelse av det.

Besøk nettstedet og videoen hans for å se flere detaljer og all dens potensial.

Til slutt, hvis du likte denne Instructable, kan du vurdere å stemme på den i Arduino- og mikrokontrollerkonkurransen!

Anbefalt: