Përmbajtje:

ESP8266 Vong Pong: 5 hapa (me fotografi)
ESP8266 Vong Pong: 5 hapa (me fotografi)

Video: ESP8266 Vong Pong: 5 hapa (me fotografi)

Video: ESP8266 Vong Pong: 5 hapa (me fotografi)
Video: Знакомство с платой разработки Heltec LoRa CubeCell HTCC-AB01 2024, Nëntor
Anonim
Image
Image
Lista e materialeve
Lista e materialeve

Në këtë Instructables unë do të tregoj se si të krijoj një riprodhim të lojës klasike Pong për një monitor VGA, duke përdorur një ESP8266 dhe disa përbërës të tjerë.

Kjo lojë është bërë e mundur nga biblioteka EspVGAx e botuar kohët e fundit në GitHub nga Sandro Maffiodo (aka Smaffer) dhe, me sa di unë, kjo është loja e parë që e shfrytëzon atë.

Biblioteka zbaton një rezolucion prej 512 x 480 pikselë, të ruajtur në një framebuffer brenda RAM -it, e cila kërkon 30720 bajt. Rezolucioni është i madh në krahasim me ato Arduino TVout ose VGAx (128 x 96 dhe 120 x 60 pixel respektivisht). Shpresoj që kjo lojë të frymëzojë programuesit e tjerë për të zhvilluar ose riprodhuar lojëra më komplekse.

Hapi 1: Lista e materialeve

Biblioteka EspVGAx kërkon një ESP8266 me të gjithë GPIO të ekspozuar, si ESP-12E, bordi NodeMCU-12E ose ndonjë bord që ekspozon GPIO5 (D1), GPIO4 (D2) dhe GPIO13 (D7)

Në veçanti, kam përdorur:

  • një ESP8266 NodeMCU-12E (lidhja këtu)
  • një lidhës DSUB15 (dmth. një lidhës femër VGA)
  • një rezistencë 330 Ohm
  • një rezistencë tjetër (rreth 1 deri në 3 kOhm)
  • dy Potenciometra 10 kOhm
  • një buton Push (n.o.)
  • dy dioda (të tilla si 1N4007s)
  • një dërrasë buke
  • telat

Mora lidhësin DSUB15 nga një bord i vjetër i PC VGA. Përndryshe, ju gjithashtu mund të shkurtoni një kabllo të vjetër VGA dhe t'i lidhni telat drejtpërdrejt në tabelën e bukës.

Hapi 2: Ngarkimi i Bibliotekës dhe Skicës

Biblioteka dhe Skicimi i Ngarkimit
Biblioteka dhe Skicimi i Ngarkimit

Ka metoda të ndryshme për të programuar dhe ESP8266; Kam përdorur Arduino IDE për të shkruar Pong dhe për të ngarkuar kodin.

Ju lutemi vini re se biblioteka EspVGAx punon për Arduino IDE 1.8.1. Nëse keni versione të tjera, më e mira është të shkarkoni skedarët.zip dhe të mos i bëni ato në një dosje të dedikuar. Versioni i Windows është këtu. Versionet për OS të tjerë janë këtu.

Pas kësaj, duhet të shkarkoni bibliotekën EspVGAx nga faqja GithHub këtu (lidhja direkte për versionin zip këtu) dhe ta hiqni atë nga bibliotekat e dosjeve në programin Arduino.

NB Ka një defekt të vogël në skedarin espvgax_draw.h. Për ta korrigjuar atë, thjesht zëvendësoni rreshtin 17:

ndërsa (x0%32) {me ndërsa (x0%32 && sw> 32) {

Së fundi, mund të shkarkoni ESP8266_Pong.rar në fund të këtij hapi.

Pasi të keni hequr zinxhirin, për ta ngarkuar atë në ESP8266, duhet të konfiguroni Arduino IDE.

Nëse nuk e keni bërë kurrë, mund të gjeni të gjitha udhëzimet e nevojshme në këtë udhëzues, veçanërisht në hapin 2.

Pasi të jetë konfiguruar gjithçka, cilësimet ESP8266 duhet të duken si ato të paraqitura në figurën e mësipërme.

Nëse mund ta ngarkoni kodin pa gabime, mund të filloni të montoni pjesët.

Hapi 3: Lidhja e Pjesëve: Lidhësi VGA

Lidhja e Pjesëve: Lidhësi VGA
Lidhja e Pjesëve: Lidhësi VGA
Lidhja e Pjesëve: Lidhësi VGA
Lidhja e Pjesëve: Lidhësi VGA
Lidhja e Pjesëve: Lidhësi VGA
Lidhja e Pjesëve: Lidhësi VGA

Unë rekomandoj që së pari të lidh portën VGA, siç tregohet në fotot e mësipërme. Ju lutemi vini re se duke lidhur tre kunjat e kuq, jeshil dhe blu së bashku (p.sh. kunjat 1, 2 dhe 3 në lidhësin DSUB15), do të keni një imazh B&W në ekranin tuaj. Ju gjithashtu mund të kombinoni ngjyra të ndryshme. Shikoni detajet në faqen e Bibliotekës GitHub.

Për më tepër, duhet të lidhni një rezistencë 330 Ohm midis kunjave RGB dhe D7 (GPIO13) në ESP8266. Kjo më dha një imazh pak gri në monitorin tim, kështu që, pas disa përpjekjeve, vendosa ta eliminoja fare.

Në këtë pikë, nëse gjithçka funksionon siç duhet, tashmë mund të lidhni monitorin dhe të shihni ekranin fillestar të lojës, me flamurin "ESP8266 VGAx Pong".

Hapi 4: Lidhja e Pjesëve: Potenciometrat dhe Butoni

Lidhja e Pjesëve: Potenciometrat dhe Butoni
Lidhja e Pjesëve: Potenciometrat dhe Butoni

Butoni duhet të jetë i lidhur midis 3.3V dhe pin D0 (GPIO16). Lidhni gjithashtu rezistencën 1 deri në 3 kOhm nga D0 në tokë. Kjo shmang që D0 të jetë në një status të pacaktuar kur butoni është i hapur.

Lidhja e dy potenciometrave është më pak e parëndësishme, pasi në fakt ESP8266 ka vetëm një portë hyrëse analoge A0 (ADC0)! Truku qëndron në lidhjen e të dy daljeve të pot.s në të njëjtën port dhe 'multiplex' ato. Multipleksimi thjesht do të thotë që ju të ndizni një potenciometër, ta lexoni, pastaj ta fikni dhe të kaloni te i dyti.

Nëse doni të mësoni më shumë rreth kësaj metode, mund ta lexoni këtë Udhëzues.

Lidhni një ekstrem të potenciometrit me GND, ekstremin tjetër në D5 për potenciometrin e lojtarit të majtë dhe D6 për atë të lojtarit të djathtë.

Çdo pin qendror i potenciometrit duhet të lidhet me një diodë individuale, dhe anët e tjera të diodave duhet të lidhen me A0 (ADC0), me polaritetin e treguar në foton e mësipërme.

Hapi 5: Përfundim dhe Mirënjohje

I jam mirënjohës Sandro Maffiodo - SMAFFER - për librin ESPVGAX. Kjo lojë nuk do të ishte e mundur pa të.

Shpresoj se ky Instructable do të jetë një frymëzim për programuesit e tjerë për të bërë riprodhime të lojërave më komplekse të lojërave klasike me ESP8266, i cili ka shumë më pak kufizime sesa Arduino.

Më në fund, unë shkrova këtë Instructable për ta paraqitur atë në Konkursin e Lodrave: nëse ju pëlqen ose riprodhoni atë, ju lutemi merrni një moment për ta votuar!

Recommended: