Obsah:

ESP8266 VGA pong: 5 krokov (s obrázkami)
ESP8266 VGA pong: 5 krokov (s obrázkami)

Video: ESP8266 VGA pong: 5 krokov (s obrázkami)

Video: ESP8266 VGA pong: 5 krokov (s obrázkami)
Video: Вывод информации на монитор по VGA 2024, November
Anonim
Image
Image
Zoznam materiálov
Zoznam materiálov

V tomto návode vám ukážem, ako vytvoriť reprodukciu klasickej hry Pong pre monitor VGA pomocou ESP8266 a niekoľkých ďalších komponentov.

Túto hru umožňuje knižnica EspVGAx, ktorú nedávno zverejnil na GitHub Sandro Maffiodo (alias Smaffer), a pokiaľ viem, je to prvá hra, ktorá ju využíva.

Knižnica implementuje rozlíšenie 512 x 480 pixelov, uložené v medzipamäte snímok vo vnútri pamäte RAM, čo vyžaduje 30 720 bajtov. Rozlíšenie je obrovské v porovnaní s Arduino TVout alebo VGAx (128 x 96 a 120 x 60 pixelov). Dúfam, že táto hra inšpiruje ostatných programátorov k vývoju alebo reprodukcii zložitejších hier.

Krok 1: Zoznam materiálov

Knižnica EspVGAx vyžaduje ESP8266 so všetkými exponovanými GPIO, napríklad dosku ESP-12E, NodeMCU-12E alebo akúkoľvek dosku, ktorá odhalí karty GPIO5 (D1), GPIO4 (D2) a GPIO13 (D7)

Použil som najmä:

  • ESP8266 NodeMCU-12E (odkaz tu)
  • konektor DSUB15 (t. j. zásuvka VGA)
  • odpor 330 ohmov
  • ďalší odpor (asi 1 až 3 kOhm)
  • dva 10 kOhm potenciometre
  • tlačidlo (N. O.)
  • dve diódy (napríklad 1N4007s)
  • chlebník
  • drôty

Konektor DSUB15 som získal zo starej dosky VGA PC. Alternatívne môžete tiež odstrihnúť starý kábel VGA a prepojiť vodiče priamo s doskou.

Krok 2: Odovzdanie knižnice a náčrtu

Odovzdanie do knižnice a náčrtu
Odovzdanie do knižnice a náčrtu

Existujú rôzne metódy programovania a ESP8266; Na napísanie Pongu a nahranie kódu som použil IDE Arduino.

Upozorňujeme, že knižnica EspVGAx funguje pre Arduino IDE 1.8.1. Ak máte iné verzie, najlepšie je stiahnuť súbory.zip a dekomprimovať ich do vyhradeného priečinka. Verzia pre Windows je tu. Verzie pre iné OS sú tu.

Potom by ste mali stiahnuť knižnicu EspVGAx zo stránky GithHub tu (priamy odkaz na verziu zip tu) a rozbaliť ju v knižniciach priečinkov v softvéri Arduino.

Poznámka: V súbore espvgax_draw.h je malá chyba. Ak to chcete opraviť, stačí nahradiť riadok 17:

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

Nakoniec môžete na konci tohto kroku stiahnuť ESP8266_Pong.rar.

Keď ho rozbalíte, aby ste ho nahrali na svoj ESP8266, musíte nakonfigurovať Arduino IDE.

Ak ste to nikdy neurobili, všetky potrebné pokyny nájdete v tomto návode, najmä v kroku 2.

Keď je všetko nakonfigurované, nastavenia ESP8266 by mali vyzerať ako na obrázku vyššie.

Ak môžete kód nahrať bez chýb, môžete začať montovať diely.

Krok 3: Pripojenie častí: konektor VGA

Pripojenie dielov: VGA konektor
Pripojenie dielov: VGA konektor
Pripojenie dielov: VGA konektor
Pripojenie dielov: VGA konektor
Pripojenie dielov: VGA konektor
Pripojenie dielov: VGA konektor

Odporúčam najskôr pripojiť port VGA, ako je znázornené na obrázkoch vyššie. Upozorňujeme, že prepojením troch pinov červeného, zeleného a modrého (t. J. Kolíkov 1, 2 a 3 na konektore DSUB15) budete mať na obrazovke čiernobiely obraz. Môžete mať aj rôzne farebné kombinácie. Podrobnosti nájdete na stránke Library GitHub.

Ďalej by ste mali pripojiť 330 ohmový odpor medzi kolíky RGB a D7 (GPIO13) na ESP8266. To mi na monitore poskytlo trochu sivastý obraz, a tak som sa po niekoľkých pokusoch rozhodol ho úplne odstrániť.

V tomto mieste, ak všetko funguje správne, už môžete pripojiť monitor a zobraziť si úvodnú obrazovku hry s bannerom „ESP8266 VGAx Pong“.

Krok 4: Pripojenie dielov: potenciometre a tlačidlo

Pripojenie dielov: potenciometre a tlačidlo
Pripojenie dielov: potenciometre a tlačidlo

Tlačidlo musí byť zapojené medzi 3,3 V a pin D0 (GPIO16). Pripojte tiež odpor 1 až 3 kOhm z D0 k zemi. Tým sa zabráni tomu, aby bol D0 v neurčenom stave, keď je tlačidlo otvorené.

Pripojenie dvoch potenciometrov je menej triviálne, pretože ESP8266 má v skutočnosti iba analógový vstupný port A0 (ADC0)! Ide o to, prepojiť oba výstupy pot.s s rovnakým portom a „multiplexovať“ich. Multiplexovanie jednoducho znamená, že potenciometer zapnete, prečítate, potom vypnete a prejdete na druhý.

Ak sa chcete o tejto metóde dozvedieť viac, môžete si prečítať tento návod.

Pripojte jeden extrémny potenciometer k GND, druhý extrém k D5 pre potenciometer ľavého hráča a D6 pre pravý prehrávač.

Každý centrálny kolík potenciometra sa musí pripojiť k jednotlivej dióde a ostatné strany diód musia byť pripojené k A0 (ADC0) s polaritou uvedenou na obrázku vyššie.

Krok 5: Záver a poďakovanie

Som vďačný Sandrovi Maffiodoovi - SMAFFEROVI - za knižnicu ESPVGAX. Bez nej by táto hra nebola možná.

Dúfam, že tento Instructable bude inšpiráciou pre ostatných programátorov pri vytváraní reprodukcií zložitejších klasických arkádových hier s ESP8266, ktorý má oveľa menšie obmedzenia ako Arduino.

Nakoniec som napísal tento pokyn na jeho odoslanie do súťaže o hračky: ak sa vám páči alebo ho reprodukujete, nájdite chvíľu hlasovania!

Odporúča: