INHOUDSOPGAWE:

ESP8266 VGA Pong: 5 stappe (met foto's)
ESP8266 VGA Pong: 5 stappe (met foto's)

Video: ESP8266 VGA Pong: 5 stappe (met foto's)

Video: ESP8266 VGA Pong: 5 stappe (met foto's)
Video: ESP8266 VGA Pong 2024, Julie
Anonim
Image
Image
Lys van materiaal
Lys van materiaal

In hierdie instruksies sal ek wys hoe u 'n weergawe van die klassieke spel Pong kan bou vir 'n VGA -monitor, met behulp van 'n ESP8266 en 'n paar ander komponente.

Hierdie speletjie word moontlik gemaak deur die EspVGAx -biblioteek wat onlangs op GitHub gepubliseer is deur Sandro Maffiodo (ook bekend as Smaffer) en, sover ek weet, is dit die eerste speletjie wat dit benut.

Die biblioteek implementeer 'n resolusie van 512 x 480 pixels, gestoor in 'n raambuffer in die RAM, wat 30720 grepe benodig. Die resolusie is groot in vergelyking met die Arduino TVout of VGAx (onderskeidelik 128 x 96 en 120 x 60 pixels). Ek hoop dat hierdie speletjie ander programmeerders inspireer om meer komplekse speletjies te ontwikkel of weer te gee.

Stap 1: Lys van materiaal

Die EspVGAx-biblioteek benodig 'n ESP8266 met alle GPIO blootgestel, soos ESP-12E, NodeMCU-12E-bord of enige bord wat GPIO5 (D1), GPIO4 (D2) en GPIO13 (D7) blootstel

In die besonder gebruik ek:

  • 'n ESP8266 NodeMCU-12E (skakel hier)
  • 'n DSUB15 -aansluiting (dws 'n VGA -vroulike aansluiting)
  • 'n Weerstand van 330 Ohm
  • 'n ander weerstand (ongeveer 1 tot 3 kOhm)
  • twee potensiometers van 10 kOhm
  • 'n drukknop (n.o.)
  • twee diodes (soos 1N4007s)
  • 'n broodbord
  • drade

Ek het die DSUB15 -aansluiting gekry van 'n ou VGA -rekenaarbord. U kan ook 'n ou VGA -kabel sny en die drade direk aan die broodbord koppel.

Stap 2: Biblioteek en sketsoplaai

Oplaai van biblioteek en skets
Oplaai van biblioteek en skets

Daar is verskillende metodes om te programmeer en ESP8266; Ek het die Arduino IDE gebruik om Pong te skryf en die kode op te laai.

Let asseblief daarop dat die EspVGAx -biblioteek werk vir Arduino IDE 1.8.1. As u ander weergawes het, is dit die beste om die.zip -lêers af te laai en dit in 'n spesiale gids uit te pak. Die Windows -weergawe is hier. Weergawes vir ander bedryfstelsel is hier.

Daarna moet u die EspVGAx -biblioteek hier van die GithHub -bladsy aflaai (direkte skakel vir die zip -weergawe hier) en dit uitpak in die vouerbiblioteke in die Arduino -sagteware.

NB Daar is 'n klein foutjie in die lêer espvgax_draw.h. Om dit reg te stel, vervang net reël 17:

terwyl (x0%32) {met terwyl (x0%32 && sw> 32) {

Uiteindelik kan u ESP8266_Pong.rar aan die einde van hierdie stap aflaai.

As u dit eers losgemaak het, moet u die Arduino IDE instel om dit op u ESP8266 op te laai.

As u dit nog nooit gedoen het nie, kan u al die nodige instruksies vind oor hierdie instruksies, veral in stap 2.

Sodra alles gekonfigureer is, behoort die ESP8266 -instellings te lyk soos die op die foto hierbo.

As u die kode sonder foute kan oplaai, kan u die onderdele begin monteer.

Stap 3: Koppel die onderdele: die VGA -aansluiting

Die onderdele verbind: die VGA -aansluiting
Die onderdele verbind: die VGA -aansluiting
Die onderdele verbind: die VGA -aansluiting
Die onderdele verbind: die VGA -aansluiting
Die onderdele verbind: die VGA -aansluiting
Die onderdele verbind: die VGA -aansluiting

Ek beveel aan om eers die VGA -poort aan te sluit, soos in die foto's hierbo getoon. Let asseblief daarop dat deur die drie penne Rooi, Groen en Blou aan mekaar te verbind (dws penne 1, 2 en 3 op die DSUB15 -aansluiting), 'n swart -wit beeld op u skerm verskyn. U kan ook 'n kombinasie van verskillende kleure hê. Sien die besonderhede op die Library GitHub -bladsy.

Verder moet u 'n weerstand van 330 Ohm tussen die RGB -penne en die D7 (GPIO13) op die ESP8266 koppel. Dit het my 'n bietjie grys beeld op my monitor gegee, en na 'n paar pogings het ek besluit om dit glad nie uit te skakel nie.

As alles op die regte manier werk, kan u die monitor reeds aansluit en die beginskerm van die spel sien, met die vaandel "ESP8266 VGAx Pong".

Stap 4: Koppel die dele: die potensiometers en die knoppie

Die onderdele verbind: die potensiometers en die knoppie
Die onderdele verbind: die potensiometers en die knoppie

Die knoppie moet tussen 3.3V en pin D0 (GPIO16) verbind word. Koppel ook die 1 tot 3 kOhm weerstand van D0 aan die grond. Dit vermy dat D0 'n onbepaalde status het as die knoppie oop is.

Die verbinding van die twee potensiometers is minder triviaal, want in werklikheid het die ESP8266 slegs 'n analoog ingangspoort A0 (ADC0)! Die truuk is om beide pot.s -uitsette aan dieselfde poort te koppel en dit te 'multiplex'. Multiplexing beteken eenvoudig dat u 'n potensiometer aanskakel, lees, dan afskakel en na die tweede een gaan.

As u meer wil leer oor hierdie metode, kan u hierdie instruksies lees.

Koppel een potensiometer uiterste aan GND, die ander uiterste aan D5 vir die linkerspeler potensiometer en D6 vir die regte speler een.

Elke sentrale pen van die potensiometer moet verbind word met 'n individuele diode, en die ander kante van die diodes moet met A0 (ADC0) verbind word, met die polariteit wat in die prent hierbo getoon word.

Stap 5: Gevolgtrekking en erkennings

Ek is dankbaar vir Sandro Maffiodo - SMAFFER - vir die ESPVGAX -biblioteek. Hierdie spel sou nie daarsonder moontlik wees nie.

Ek hoop dat hierdie Instructable 'n inspirasie vir ander programmeerders sal wees om reproduksies van meer komplekse klassieke arcade -speletjies te maak met die ESP8266, wat baie minder beperk is as die Arduino.

Uiteindelik het ek hierdie instruksie geskryf om dit aan die speelgoedkompetisie voor te lê: as u daarvan hou of dit weergee, neem 'n rukkie om dit te stem!

Aanbeveel: