Innholdsfortegnelse:
- Trinn 1: Liste over materialer
- Trinn 2: Bibliotek og skisseopplasting
- Trinn 3: Koble til delene: VGA -kontakten
- Trinn 4: Koble sammen delene: Potensiometre og knapp
- Trinn 5: Konklusjon og anerkjennelser
Video: ESP8266 VGA Pong: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
I denne instruksen vil jeg vise hvordan du bygger en gjengivelse av det klassiske spillet Pong for en VGA -skjerm, ved hjelp av en ESP8266 og få andre komponenter.
Dette spillet er muliggjort av EspVGAx -biblioteket som nylig ble utgitt på GitHub av Sandro Maffiodo (aka Smaffer), og så vidt jeg vet er dette det første spillet som utnytter det.
Biblioteket implementerer en oppløsning på 512 x 480 piksler, lagret i en rammebuffer inne i RAM, som krever 30720 byte. Oppløsningen er enorm i forhold til Arduino TVout eller VGAx (128 x 96 og 120 x 60 piksler). Jeg håper dette spillet inspirerer andre programmerere til å utvikle eller reprodusere mer komplekse spill.
Trinn 1: Liste over materialer
EspVGAx-biblioteket krever en ESP8266 med alle GPIO eksponert, som ESP-12E, NodeMCU-12E-kort eller ethvert kort som viser GPIO5 (D1), GPIO4 (D2) og GPIO13 (D7)
Spesielt brukte jeg:
- en ESP8266 NodeMCU-12E (lenke her)
- en DSUB15 -kontakt (dvs. en VGA -hunkontakt)
- en 330 Ohm motstand
- en annen motstand (ca. 1 til 3 kOhm)
- to 10 kOhm potensiometre
- en trykknapp (n.o.)
- to dioder (for eksempel 1N4007s)
- et brødbrett
- ledninger
Jeg fikk DSUB15 -kontakten fra et gammelt VGA -PC -kort. Alternativt kan du også kutte en gammel VGA -kabel og koble ledningene direkte til brødbrettet.
Trinn 2: Bibliotek og skisseopplasting
Det er forskjellige metoder for å programmere og ESP8266; Jeg brukte Arduino IDE til å skrive Pong og laste opp koden.
Vær oppmerksom på at EspVGAx -biblioteket fungerer for Arduino IDE 1.8.1. Hvis du har andre versjoner, er det beste å laste ned.zip -filene og pakke den ut i en dedikert mappe. Windows -versjonen er her. Versjoner for annet operativsystem er her.
Etter det bør du laste ned EspVGAx -biblioteket fra GithHub -siden her (direkte lenke for zip -versjonen her), og pakke det ut i mappebibliotekene i Arduino -programvaren.
NB Det er en liten feil i filen espvgax_draw.h. For å korrigere det, bare erstatt linje 17:
while (x0%32) {med while (x0%32 && sw> 32) {
Til slutt kan du laste ned ESP8266_Pong.rar på slutten av dette trinnet.
Når du har pakket den ut, for å laste den opp på ESP8266, må du konfigurere Arduino IDE.
Hvis du aldri har gjort det, kan du finne all nødvendig instruksjon om denne instruksen, spesielt i trinn 2.
Når alt er konfigurert, skal ESP8266 -innstillingene se ut som de som er vist på bildet ovenfor.
Hvis du kan laste opp koden uten feil, kan du begynne å montere delene.
Trinn 3: Koble til delene: VGA -kontakten
Jeg anbefaler å koble til først VGA -porten, som vist på bildene ovenfor. Vær oppmerksom på at ved å koble de tre pinnene Rød, Grønn og Blå sammen (dvs. pinne 1, 2 og 3 på DSUB15 -kontakten), får du et svart -hvitt -bilde på skjermen. Du kan også ha forskjellige fargekombinasjoner. Se detaljene på Library GitHub -siden.
Videre bør du koble en 330 Ohm motstand mellom RGB -pinnene og D7 (GPIO13) på ESP8266. Dette ga meg et litt gråaktig bilde på skjermen, og etter noen forsøk bestemte jeg meg for å eliminere det i det hele tatt.
På dette tidspunktet, hvis alt fungerer som det skal, kan du allerede koble til skjermen og se startskjermen til spillet, med banneret "ESP8266 VGAx Pong".
Trinn 4: Koble sammen delene: Potensiometre og knapp
Knappen må være tilkoblet mellom 3.3V og pin D0 (GPIO16). Koble også 1 til 3 kOhm motstanden fra D0 til bakken. Dette unngår at D0 har en ubestemt status når knappen er åpen.
Tilkoblingen mellom de to potensiometrene er mindre triviell, for ESP8266 har faktisk bare en analog inngangsport A0 (ADC0)! Trikset er å koble begge pot.s -utgangene til den samme porten og "multiplexere" dem. Multiplexing betyr ganske enkelt at du vil slå på et potensiometer, lese det, deretter slå det av og gå til det andre.
Hvis du vil lære mer om denne metoden, kan du lese denne Instructable.
Koble ett potensiometer ekstrem til GND, det andre ekstreme til D5 for venstre spiller potensiometer og D6 for høyre spiller ett.
Hver potensiometer sentral pin må koble til en individuell diode, og de andre sidene av dioder må være koblet til A0 (ADC0), med polariteten vist i bildet ovenfor.
Trinn 5: Konklusjon og anerkjennelser
Jeg er takknemlig overfor Sandro Maffiodo - SMAFFER - for ESPVGAX libary. Dette spillet ville ikke vært mulig uten det.
Jeg håper denne Instructable vil være en inspirasjon for andre programmerere til å lage reproduksjoner av mer komplekse klassiske arkadespill med ESP8266, som har mye mindre begrensning enn Arduino.
Til slutt skrev jeg denne instruksen for å sende den til lekerekonkurransen: Hvis du liker eller reproduserer den, kan du ta et øyeblikk til å stemme den!
Anbefalt:
Ekstern VGA / GPU for bærbare datamaskiner som bruker EXP GDC Beast: 15 trinn (med bilder)
Ekstern VGA / GPU for bærbare datamaskiner som bruker EXP GDC Beast: Hei gutter .. Dette er min første opplæring om instrukser. Engelsk er ikke mitt morsmål, så tilgi mine grammatiske feil. Jeg lagde dette basert på min erfaring med å oppgradere min bærbare. Og jeg kommer ikke til å kjede deg med lang introduksjon siden jeg vet nei
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: 6 trinn (med bilder)
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: Introduksjon PongMate CyberCannon Mark III er det nyeste og mest avanserte stykke ølpongteknologi som noensinne er solgt til publikum. Med den nye CyberCannon kan enhver person bli den mest fryktede spilleren ved ølpongbordet. Hvordan er dette
Lag ditt eget 1D Pong -spill: 5 trinn (med bilder)
Lag ditt eget 1D Pong -spill: For dette prosjektet vil jeg vise deg hvordan jeg kombinerte et MDF -brett med summerknapper, lysdioder og en Arduino Nano for å lage et 1D Pong -spill som er veldig morsomt å spille. Underveis vil jeg vise deg hvordan du oppretter elektronikkretsen og hvor forskjellig
ESP32 VGA arkadespill og joystick: 6 trinn (med bilder)
ESP32 VGA Arcade Games og Joystick: I denne instruksjonsfilen vil jeg vise hvordan du reproduserer fire arkade som spill - Tetris - Snake - Breakout - Bomber - ved hjelp av en ESP32, med utgang for en VGA -skjerm. Oppløsningen er 320 x 200 piksler, i 8 farger. Jeg har tidligere gjort en versjon med
Arduino Basic PC med VGA -utgang: 5 trinn (med bilder)
Arduino Basic PC Med VGA-utgang: I min forrige Instructable har jeg vist hvordan jeg bygger en retro 8-biters datamaskin som kjører BASIC, ved hjelp av to Arduino, og med et utgangssignal i B & W for en TV-skjerm. Nå skal jeg vise hvordan du bygger den samme datamaskinen, men med utgangssignalet i