Tartalomjegyzék:

ESP8266 VGA pong: 5 lépés (képekkel)
ESP8266 VGA pong: 5 lépés (képekkel)

Videó: ESP8266 VGA pong: 5 lépés (képekkel)

Videó: ESP8266 VGA pong: 5 lépés (képekkel)
Videó: ESP8266 VGA Pong 2024, November
Anonim
Image
Image
Anyagok listája
Anyagok listája

Ebben az utasításban megmutatom, hogyan lehet a klasszikus Pong játék reprodukcióját létrehozni egy VGA monitorhoz, egy ESP8266 és néhány más összetevő használatával.

Ezt a játékot az EspVGAx könyvtár teszi lehetővé, amelyet Sandro Maffiodo (más néven Smaffer) nemrég publikált a GitHub -on, és ha jól tudom, ez az első játék, amely kihasználja.

A könyvtár 512 x 480 képpontos felbontást valósít meg, amelyet a RAM -ban lévő keretbuffer tárol, ami 30720 bájtot igényel. A felbontás hatalmas az Arduino TVouthoz vagy a VGAx -hoz képest (128 x 96 és 120 x 60 pixel). Remélem, ez a játék más programozókat is inspirál, hogy bonyolultabb játékokat fejlesszenek ki vagy reprodukáljanak.

1. lépés: Az anyagok listája

Az EspVGAx könyvtárhoz ESP8266 szükséges, amelyen minden GPIO látható, például ESP-12E, NodeMCU-12E kártya vagy bármely olyan kártya, amely GPIO5 (D1), GPIO4 (D2) és GPIO13 (D7)

Különösen a következőket használtam:

  • egy ESP8266 NodeMCU-12E (link itt)
  • egy DSUB15 csatlakozó (azaz egy VGA csatlakozó)
  • 330 ohmos ellenállás
  • másik ellenállás (kb. 1-3 kOhm)
  • két 10 kOhm potenciométer
  • egy nyomógomb (n.o.)
  • két dióda (például 1N4007s)
  • egy kenyértábla
  • vezetékek

A DSUB15 csatlakozót egy régi VGA PC kártyáról kaptam. Alternatív megoldásként levághatja a régi VGA -kábelt, és közvetlenül a kenyérlaphoz csatlakoztathatja a vezetékeket.

2. lépés: Könyvtár és vázlat feltöltése

Könyvtár és vázlat feltöltése
Könyvtár és vázlat feltöltése

Különféle módszerek programozhatók és ESP8266; Az Arduino IDE -t használtam Pong írásához és a kód feltöltéséhez.

Felhívjuk figyelmét, hogy az EspVGAx könyvtár az Arduino IDE 1.8.1 verziónál működik. Ha más verziói is vannak, akkor a legjobb, ha letölti a.zip fájlokat, és kibontja egy dedikált mappába. Itt a Windows verzió. Itt vannak a többi operációs rendszer verziói.

Ezután töltse le az EspVGAx könyvtárat a GithHub oldalról (közvetlen link a zip verzióhoz itt), és bontsa ki az Arduino szoftver mappakönyvtáraiban.

Megjegyzés Van egy kis hiba az espvgax_draw.h fájlban. A javításhoz cserélje ki a 17. sort:

while (x0%32) {with while (x0%32 && sw> 32) {

Végül a lépés végén letöltheti az ESP8266_Pong.rar fájlt.

A kicsomagolás után az ESP8266 készülékre való feltöltéshez konfigurálnia kell az Arduino IDE -t.

Ha még soha nem tette meg, megtalálja az összes szükséges utasítást ezen az utasításban, különösen a 2. lépésben.

Miután mindent konfigurált, az ESP8266 beállításoknak a fenti képen láthatóknak kell lenniük.

Ha hiba nélkül fel tudja tölteni a kódot, megkezdheti az alkatrészek összeszerelését.

3. lépés: Az alkatrészek csatlakoztatása: a VGA csatlakozó

Az alkatrészek csatlakoztatása: a VGA csatlakozó
Az alkatrészek csatlakoztatása: a VGA csatlakozó
Az alkatrészek csatlakoztatása: a VGA csatlakozó
Az alkatrészek csatlakoztatása: a VGA csatlakozó
Az alkatrészek csatlakoztatása: a VGA csatlakozó
Az alkatrészek csatlakoztatása: a VGA csatlakozó

Javaslom, hogy először a VGA portot csatlakoztassa, ahogy a fenti képeken látható. Kérjük, vegye figyelembe, hogy a három piros, zöld és kék érintkező (azaz a DSUB15 csatlakozó 1., 2. és 3. csapja) összekapcsolásával fekete -fehér kép jelenik meg a képernyőn. Különféle színkombinációkat is használhat. A részleteket a Könyvtár GitHub oldalán találja.

Ezenkívül 330 ohmos ellenállást kell csatlakoztatnia az RGB érintkezők és az ESP8266 D7 (GPIO13) közé. Ez egy kicsit szürkés képet adott a monitoromon, így néhány próbálkozás után úgy döntöttem, hogy egyáltalán megszüntetem.

Ezen a ponton, ha minden megfelelően működik, akkor már csatlakoztathatja a monitort, és megtekintheti a játék kezdőképernyőjét az "ESP8266 VGAx Pong" szalaggal.

4. lépés: Az alkatrészek csatlakoztatása: a potenciométerek és a gomb

Az alkatrészek csatlakoztatása: a potenciométerek és a gomb
Az alkatrészek csatlakoztatása: a potenciométerek és a gomb

A gombot a 3.3V és a D0 érintkező (GPIO16) közé kell csatlakoztatni. Csatlakoztassa az 1-3 kOhm -os ellenállást is a D0 -ról a földre. Ezzel elkerülhető, hogy a D0 a gomb nyitva tartása előtt meghatározatlan állapotba kerüljön.

A két potenciométer csatlakoztatása kevésbé triviális, mivel az ESP8266 csak analóg A0 (ADC0) bemeneti porttal rendelkezik! A trükk az, hogy mindkét pot.s kimenetet ugyanahhoz a porthoz kösse, és multiplexelje őket. A multiplexelés egyszerűen azt jelenti, hogy bekapcsolja a potenciométert, elolvassa, majd kikapcsolja, és a másodikra lép.

Ha többet szeretne megtudni erről a módszerről, olvassa el ezt az utasításokat.

Csatlakoztassa az egyik szélső potenciométert a GND -hez, a másik végpontot a D5 -hez a bal játékos potenciométeréhez, és a D6 -ot a jobb játékoshoz.

Minden potenciométer középső csapnak külön diódához kell csatlakoznia, a diódák másik oldalát pedig az A0 -hoz (ADC0) kell csatlakoztatni, a fenti képen látható polaritással.

5. lépés: Következtetés és köszönetnyilvánítás

Hálás vagyok Sandro Maffiodónak - SMAFFER - az ESPVGAX könyvtárért. Ez a játék nem jöhetett volna létre nélküle.

Remélem, ez az Instructable inspirációt fog adni más programozóknak, hogy a bonyolultabb klasszikus árkádjátékok reprodukcióit készítsék az ESP8266 -mal, amely sokkal kevesebb korlátozással rendelkezik, mint az Arduino.

Végül azért írtam meg ezt az utasítást, hogy beküldhessem a Játékok versenyre: ha tetszik vagy reprodukálod, kérlek, szánj egy pillanatot arra, hogy szavazz!

Ajánlott: