Innehållsförteckning:

ESP32 VGA Tetris: 3 steg
ESP32 VGA Tetris: 3 steg

Video: ESP32 VGA Tetris: 3 steg

Video: ESP32 VGA Tetris: 3 steg
Video: Модуль TTGO VGA32 2024, November
Anonim
ESP32 VGA Tetris
ESP32 VGA Tetris

I denna instruktionsbok kommer jag att visa hur man bygger en klon det klassiska spelet Tetris, använder en ESP32 och genererar utdata för en VGA -bildskärm. Detta spel möjliggörs av det fantastiska ESP32Lib Arduino -biblioteket gjort av bitluni.

Du behöver ESP32 -kortstödet installerat i Arduino IDE (jag använder den senaste versionen som är tillgänglig nu, dvs 1.8.9 IDE). Du hittar den i bibliotekshanteraren som söker efter "bitluni". Eftersom den senaste versionen har publicerats för bara ett par veckor sedan pågår den fortfarande, men den ger redan några enkla exempel.

Jämfört med mina tidigare projekt där jag skrev liknande vintage -spelkloner för Arduino eller ESP8266, är ESP32 extremt kraftfullare, VGA -utgången med olika upplösningar (320x200, 320x240, 360x400, 460x480) och upp till 14Bit -färger. Dessutom har du storleksordningar mer minne.

I denna Tetris -klon använder jag bara en upplösning på 320x200 med 8 färger. Koden är en snabb "konvertering" av en tidigare version för Arduino VGA, så den är dåligt utformad och ooptimerad. Å andra sidan är ESP32 VGA -potentialen mycket högre, vilket ger möjlighet att skriva mer och mer sofistikerade spel som jag antar kan jämföras med dem från DOS -eran. Jag önskar att detta projekt skulle vara till nytta för andra tillverkare för att skriva många andra spel i framtiden.

Steg 1: ESP32 -kort, Arduino IDE -installation och konfiguration

ESP32 -kort, Arduino IDE Installation och konfiguration
ESP32 -kort, Arduino IDE Installation och konfiguration

Först och främst måste du köra en ESP32. Det finns många versioner tillgängliga, men jag rekommenderar att välja en med många stift. Jag köpte den här versionen, men du kan hitta tre andra versioner i beskrivningen av den här videon.

Det finns olika metoder för att programmera ESP32, men här måste du använda den senaste Arduino IDE. För att installera det och ladda upp bitluni ESP32lib VGA -biblioteket kan du följa denna enkla handledning. Det visar också hur du konfigurerar ditt specifika ESP32 -kort i Arduino IDE.

Vid det här laget kan du börja ladda upp det första exemplet: gå till Arkiv/Exempel/bitluni ESP32Lib/VGA2DFunktioner, som visas på bilden i början av detta steg. Om uppladdningen fungerar utan problem måste du ansluta VGA -porten som visas i nästa steg.

Steg 2: VGA- och knappanslutning

VGA och knappar anslutning
VGA och knappar anslutning

För att ansluta VGA -bildskärmen till ESP32 kan du antingen använda en DSUB15 -honkontakt (dvs. en vanlig 15 -stifts VGA -kontakt) eller bara klippa av en VGA -kabel.

För Tetris och biblioteksexemplen med 8 färger behöver du inget motstånd, anslut bara stiften enligt följande:

  • VGA röd till ESP32 ping G2
  • VGA grön till ESP32 ping G15
  • VGA blå till ESP32 ping G21
  • VGA Hsync till ESP32 ping G32
  • VGA Vsync till ESP32 ping G33
  • VGA GND till ESP32 GND

Vid det här laget bör du kunna se exemplet VGA2DFeatures på din VGA -skärm.

För att spela Tetris behöver du fyra knappar och fyra motstånd på cirka 1 till 2 kOhm.

Anslut de fyra motstånden till från GND till ESP32 -stiften G25, G26, G34 och G35.

Anslut ena sidan av knappen till ESP32 3.3 Volt, och den andra sidan enligt följande:

  • knappen höger till G26
  • knappen vänster till G34
  • knappen rotera till G25
  • knappen ner till G35

Sista steget: ladda ner ESP32_VGA_Tetris_V1.0.ino i slutet av denna sida och kopiera den till en mapp med samma namn.

Ladda upp den på ESP32 mikrokontroller och du kan omedelbart börja spela Tetris!

Steg 3: Slutsats och erkännanden

Jag är mycket tacksam för bitluni, författaren till ESP32 VGA -biblioteket och självstudier och exempel för att använda och utnyttja det.

Besök hans webbplats och video för att se mer information och all dess potential.

Slutligen, om du gillade den här instruerbara, överväg att rösta på den i Arduino & microcontrollers -tävlingen!

Rekommenderad: