Satura rādītājs:

ESP8266 VGA teniss: 5 soļi (ar attēliem)
ESP8266 VGA teniss: 5 soļi (ar attēliem)

Video: ESP8266 VGA teniss: 5 soļi (ar attēliem)

Video: ESP8266 VGA teniss: 5 soļi (ar attēliem)
Video: TIRANA ALBANIA 2014 NIGHTLIFE 2024, Jūlijs
Anonim
Image
Image
Materiālu saraksts
Materiālu saraksts

Šajā instrukcijā es parādīšu, kā izveidot klasiskās spēles Pong reprodukciju VGA monitoram, izmantojot ESP8266 un dažas citas sastāvdaļas.

Šo spēli ir padarījusi iespējama EspVGAx bibliotēka, kuru nesen vietnē GitHub publicēja Sandro Mafiodo (aka Smaffer), un, cik es zinu, šī ir pirmā spēle, kas to izmanto.

Bibliotēka ievieš 512 x 480 pikseļu izšķirtspēju, kas tiek saglabāta RAM bufera buferī, kam nepieciešami 30720 baiti. Izšķirtspēja ir milzīga, salīdzinot ar Arduino TVout vai VGAx (attiecīgi 128 x 96 un 120 x 60 pikseļi). Es ceru, ka šī spēle iedvesmo citus programmētājus izstrādāt vai reproducēt sarežģītākas spēles.

1. solis: Materiālu saraksts

Lai izmantotu EspVGAx bibliotēku, ir nepieciešams ESP8266 ar visu GPIO, piemēram, ESP-12E, NodeMCU-12E plāksni vai jebkuru paneli, kas atklāj GPIO5 (D1), GPIO4 (D2) un GPIO13 (D7)

Jo īpaši es izmantoju:

  • ESP8266 NodeMCU-12E (saite šeit)
  • DSUB15 savienotājs (ti, VGA sieviešu savienotājs)
  • 330 omu rezistors
  • cits rezistors (apmēram 1 līdz 3 kOhm)
  • divi 10 kOhm potenciometri
  • spiedpoga (n.o.)
  • divas diodes (piemēram, 1N4007s)
  • maizes dēlis
  • vadi

Es saņēmu DSUB15 savienotāju no vecas VGA datora plates. Varat arī nogriezt veco VGA kabeli un pievienot vadus tieši pie maizes dēļa.

2. darbība: bibliotēkas un skices augšupielāde

Bibliotēkas un skices augšupielāde
Bibliotēkas un skices augšupielāde

Programmēšanai ir dažādas metodes un ESP8266; Es izmantoju Arduino IDE, lai rakstītu Pong un augšupielādētu kodu.

Lūdzu, ņemiet vērā, ka bibliotēka EspVGAx darbojas ar Arduino IDE 1.8.1. Ja jums ir citas versijas, vislabāk ir lejupielādēt.zip failus un atspiest tos īpašā mapē. Šeit ir Windows versija. Šeit ir pieejamas citas OS versijas.

Pēc tam jums vajadzētu lejupielādēt EspVGAx bibliotēku no GithHub lapas šeit (tiešā saite uz ZIP versiju šeit) un atspiest to Arduino programmatūras mapju bibliotēkās.

NB! Failā espvgax_draw.h ir neliela kļūda. Lai to labotu, vienkārši nomainiet 17. rindu:

kamēr (x0%32) {ar while (x0%32 && sw> 32) {

Visbeidzot, šī soļa beigās varat lejupielādēt ESP8266_Pong.rar.

Kad tas ir izpakots, lai to augšupielādētu savā ESP8266, jums jākonfigurē Arduino IDE.

Ja jūs to nekad neesat darījis, šajā instrukcijā varat atrast visus nepieciešamos norādījumus, jo īpaši 2. darbībā.

Kad viss ir konfigurēts, ESP8266 iestatījumiem vajadzētu izskatīties tāpat kā attēlā.

Ja jūs varat augšupielādēt kodu bez kļūdām, varat sākt salikt detaļas.

3. darbība: detaļu pievienošana: VGA savienotājs

Daļu pievienošana: VGA savienotājs
Daļu pievienošana: VGA savienotājs
Daļu pievienošana: VGA savienotājs
Daļu pievienošana: VGA savienotājs
Daļu pievienošana: VGA savienotājs
Daļu pievienošana: VGA savienotājs

Es iesaku vispirms pieslēgt VGA portu, kā parādīts iepriekš attēlos. Lūdzu, ņemiet vērā, ka, savienojot trīs sarkanās, zaļās un zilās tapas (t. I., DSUB15 savienotāja 1., 2. un 3. tapas), ekrānā parādīsies melnbalts attēls. Jums var būt arī dažādu krāsu kombinācija. Skatiet informāciju bibliotēkas GitHub lapā.

Turklāt starp RGB tapām un ESP8266 D7 (GPIO13) ir jāpievieno 330 omu rezistors. Tas man monitorā radīja nedaudz pelēcīgu attēlu, tāpēc pēc dažiem mēģinājumiem es nolēmu to vispār novērst.

Šajā brīdī, ja viss darbojas pareizi, jūs jau varat pievienot monitoru un redzēt spēles sākuma ekrānu ar reklāmkarogu "ESP8266 VGAx Pong".

4. solis: detaļu pievienošana: potenciometri un poga

Daļu savienošana: potenciometri un poga
Daļu savienošana: potenciometri un poga

Pogai jābūt savienotai starp 3.3V un tapu D0 (GPIO16). Pievienojiet arī 1 līdz 3 kOhm rezistoru no D0 līdz zemei. Tas ļauj izvairīties no D0 nenoteiktā stāvoklī, kad poga ir atvērta.

Abu potenciometru savienojums ir mazāk triviāls, jo ESP8266 faktiski ir tikai analogās ievades ports A0 (ADC0)! Triks ir savienot abas pot.s izejas ar to pašu portu un “multipleksēt” tās. Multipleksēšana vienkārši nozīmē, ka jūs ieslēgsit potenciometru, izlasīsit to, pēc tam izslēgsit un pāriesit uz otro.

Ja vēlaties uzzināt vairāk par šo metodi, varat izlasīt šo pamācību.

Pievienojiet vienu galējo potenciometru GND, otru galējo - D5 kreisā atskaņotāja potenciometram un D6 labajam atskaņotājam.

Katram potenciometra centrālajam tapam jābūt savienotam ar atsevišķu diodi, un pārējām diodes pusēm jābūt savienotām ar A0 (ADC0), ar polaritāti, kas parādīta iepriekšējā attēlā.

5. solis. Secinājumi un pateicības

Esmu pateicīgs Sandro Maffiodo - SMAFFER - par ESPVGAX bibliotēku. Šī spēle nebūtu iespējama bez tās.

Es ceru, ka šī Instructable būs iedvesma citiem programmētājiem, lai kopētu sarežģītākas klasiskās arkādes spēles ar ESP8266, kurai ir daudz mazāk ierobežojumu nekā Arduino.

Visbeidzot, es uzrakstīju šo pamācību, lai to iesniegtu Rotaļlietu konkursam: ja jums tas patīk vai pavairo, lūdzu, veltiet laiku, lai nobalsotu!

Ieteicams: