Obsah:

ESP8266 VGA Pong: 5 kroků (s obrázky)
ESP8266 VGA Pong: 5 kroků (s obrázky)

Video: ESP8266 VGA Pong: 5 kroků (s obrázky)

Video: ESP8266 VGA Pong: 5 kroků (s obrázky)
Video: ESP8266 VGA Pong 2024, Červenec
Anonim
Image
Image
Seznam materiálů
Seznam materiálů

V tomto Instructables ukážu, jak vytvořit reprodukci klasické hry Pong pro monitor VGA pomocí ESP8266 a několika dalších komponent.

Tuto hru umožňuje knihovna EspVGAx, kterou nedávno na GitHubu zveřejnil Sandro Maffiodo (aka Smaffer), a pokud vím, je to první hra, která ji využívá.

Knihovna implementuje rozlišení 512 x 480 pixelů, uložené ve vyrovnávací paměti snímků uvnitř paměti RAM, což vyžaduje 30 720 bajtů. Rozlišení je obrovské ve srovnání s Arduino TVout nebo VGAx (128 x 96 respektive 120 x 60 pixelů). Doufám, že tato hra inspiruje ostatní programátory k vývoji nebo reprodukci složitějších her.

Krok 1: Seznam materiálů

Knihovna EspVGAx vyžaduje ESP8266 se všemi exponovanými GPIO, jako je deska ESP-12E, NodeMCU-12E nebo jakákoli deska, která odhaluje GPIO5 (D1), GPIO4 (D2) a GPIO13 (D7)

Zejména jsem použil:

  • ESP8266 NodeMCU-12E (odkaz zde)
  • konektor DSUB15 (tj. konektor VGA female)
  • odpor 330 ohmů
  • další odpor (asi 1 až 3 kOhm)
  • dva potenciometry 10 kOhm
  • a Tlačítko (č.)
  • dvě diody (například 1N4007s)
  • prkénko
  • dráty

Konektor DSUB15 jsem dostal ze staré desky VGA PC. Alternativně můžete také odstřihnout starý kabel VGA a připojit vodiče přímo k prkénku.

Krok 2: Nahrání knihovny a skici

Nahrání knihovny a skici
Nahrání knihovny a skici

Existují různé metody programování a ESP8266; K napsání Pongu a nahrání kódu jsem použil Arduino IDE.

Knihovna EspVGAx funguje pro Arduino IDE 1.8.1. Pokud máte jiné verze, je nejlepší soubory ZIP stáhnout a dekomprimovat do vyhrazené složky. Verze pro Windows je zde. Verze pro jiné OS jsou zde.

Poté byste měli stáhnout knihovnu EspVGAx ze stránky GithHub zde (přímý odkaz na verzi zip zde) a rozbalit ji v knihovnách složek v softwaru Arduino.

Poznámka: V souboru espvgax_draw.h je malá chyba. Chcete -li to opravit, stačí nahradit řádek 17:

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

Nakonec můžete na konci tohoto kroku stáhnout ESP8266_Pong.rar.

Jakmile jej rozbalíte, budete jej muset nahrát na svůj ESP8266, musíte nakonfigurovat Arduino IDE.

Pokud jste to nikdy neudělali, najdete všechny potřebné pokyny v tomto Instructables, zejména v kroku 2.

Jakmile je vše nakonfigurováno, nastavení ESP8266 by mělo vypadat jako na obrázku výše.

Pokud můžete nahrát kód bez chyb, můžete začít sestavovat součásti.

Krok 3: Připojení částí: konektor VGA

Připojení částí: konektor VGA
Připojení částí: konektor VGA
Připojení částí: konektor VGA
Připojení částí: konektor VGA
Připojení částí: konektor VGA
Připojení částí: konektor VGA

Doporučuji nejprve připojit port VGA, jak je znázorněno na obrázcích výše. Vezměte prosím na vědomí, že propojením tří pinů červeného, zeleného a modrého (tj. Kolíků 1, 2 a 3 na konektoru DSUB15) budete mít na obrazovce černobílý obraz. Můžete mít také různé barevné kombinace. Podrobnosti najdete na stránce Library GitHub.

Kromě toho byste měli připojit 330 ohmový odpor mezi RGB piny a D7 (GPIO13) na ESP8266. To mi na monitoru poskytlo trochu našedlý obraz, a tak jsem se po několika pokusech rozhodl jej vůbec odstranit.

V tomto okamžiku, pokud vše funguje správně, již můžete připojit monitor a zobrazit úvodní obrazovku hry s bannerem „ESP8266 VGAx Pong“.

Krok 4: Připojení částí: potenciometry a tlačítko

Připojení částí: potenciometry a tlačítko
Připojení částí: potenciometry a tlačítko

Tlačítko musí být připojeno mezi 3,3 V a pinem D0 (GPIO16). Připojte také odpor 1 až 3 kOhm od D0 k zemi. Tím se zabrání tomu, aby byl D0 v neurčeném stavu, když je tlačítko otevřené.

Propojení obou potenciometrů je méně triviální, protože ve skutečnosti má ESP8266 pouze analogový vstupní port A0 (ADC0)! Jde o to, propojit oba výstupy pot.s na stejný port a 'multiplexovat' je. Multiplexování jednoduše znamená, že potenciometr zapnete, přečtete, poté vypnete a přejdete na druhý.

Pokud se chcete o této metodě dozvědět více, můžete si přečíst tento Instructable.

Připojte jeden extrémní potenciometr ke GND, druhý extrém k D5 pro potenciometr levého hráče a D6 pro pravý hráč.

Každý centrální pin potenciometru musí být připojen k jednotlivé diodě a ostatní strany diod musí být připojeny k A0 (ADC0), přičemž polarita je uvedena na výše uvedeném obrázku.

Krok 5: Závěr a poděkování

Jsem vděčný Sandrovi Maffiodoovi - SMAFFER - za knihovnu ESPVGAX. Bez toho by tato hra nebyla možná.

Doufám, že tento Instructable bude inspirací pro ostatní programátory k vytváření reprodukcí složitějších klasických arkádových her s ESP8266, který má mnohem menší omezení než Arduino.

Nakonec jsem sepsal tento návod k odeslání do soutěže o hračky: pokud se vám líbí nebo jej reprodukujete, věnujte prosím chvíli hlasování!

Doporučuje: