Mundarija:

ESP8266 VGA Pong: 5 qadam (rasmlar bilan)
ESP8266 VGA Pong: 5 qadam (rasmlar bilan)

Video: ESP8266 VGA Pong: 5 qadam (rasmlar bilan)

Video: ESP8266 VGA Pong: 5 qadam (rasmlar bilan)
Video: ESP8266 VGA Pong 2024, Noyabr
Anonim
Image
Image
Materiallar ro'yxati
Materiallar ro'yxati

Bu yo'riqnomada men ESP8266 va boshqa bir nechta komponentlardan foydalangan holda VGA monitor uchun klassik Pong o'yinining klassik nusxasini qanday yaratishni ko'rsataman.

Bu o'yin yaqinda Sandro Maffiodo (aka Smaffer) tomonidan GitHub -da chop etilgan EspVGAx kutubxonasi yordamida amalga oshirildi va men bilganimdek, bu uni ishlatgan birinchi o'yin.

Kutubxona 512 x 480 pikselli, RAM ichidagi ramka buferida saqlanadi, buning uchun 30720 bayt kerak bo'ladi. Ruxsat Arduino TVout yoki VGAx bilan solishtirganda juda katta (mos ravishda 128 x 96 va 120 x 60 piksel). Umid qilamanki, bu o'yin boshqa dasturchilarni yanada murakkab o'yinlarni ishlab chiqish yoki qayta ishlab chiqarishga ilhomlantiradi.

1 -qadam: materiallar ro'yxati

EspVGAx kutubxonasi ESP-12E, NodeMCU-12E kartasi yoki GPIO5 (D1), GPIO4 (D2) va GPIO13 (D7) ni ochadigan har qanday karta kabi barcha GPIO ochiq bo'lgan ESP8266 ni talab qiladi.

Xususan, men foydalanganman:

  • ESP8266 NodeMCU-12E (havola bu erda)
  • DSUB15 ulagichi (ya'ni VGA ayol ulagichi)
  • 330 Ohm qarshilik
  • boshqa qarshilik (taxminan 1-3 kOm)
  • ikkita 10 kOm potentsiometr
  • bosish tugmasi (no)
  • ikkita diod (masalan, 1N4007s)
  • non taxtasi
  • simlar

Men eski VGA kompyuter kartasidan DSUB15 ulagichini oldim. Shu bilan bir qatorda, siz eski VGA kabelini kesib, simlarni to'g'ridan -to'g'ri non taxtasiga ulashingiz mumkin.

2 -qadam: Kutubxona va eskizni yuklash

Kutubxona va eskiz yuklash
Kutubxona va eskiz yuklash

Dasturlashning turli usullari va ESP8266 mavjud; Men Pong yozish va kodni yuklash uchun Arduino IDE -dan foydalandim.

E'tibor bering, EspVGAx kutubxonasi Arduino IDE 1.8.1 uchun ishlaydi. Agar sizda boshqa versiyalar bo'lsa, eng yaxshisi.zip fayllarini yuklash va uni maxsus papkada ochishdir. Windows versiyasi bu erda. Boshqa OS uchun versiyalar bu erda.

Shundan so'ng, siz EspVGAx kutubxonasini GithHub sahifasidan bu erga yuklashingiz kerak (bu erda zip versiyasi uchun to'g'ridan -to'g'ri havola) va Arduino dasturiy ta'minot papkalari kutubxonalarida oching.

Eslatma espvgax_draw.h faylida kichik xato bor. Buni tuzatish uchun 17 -qatorni almashtiring:

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

Nihoyat, ushbu qadam oxirida ESP8266_Pong.rar -ni yuklashingiz mumkin.

Yuklab olingandan so'ng, uni ESP8266 -ga yuklash uchun siz Arduino IDE -ni sozlashingiz kerak.

Agar siz buni hech qachon qilmagan bo'lsangiz, ushbu yo'riqnomadagi barcha kerakli ko'rsatmalarni, xususan, 2 -bosqichda topishingiz mumkin.

Hammasi sozlangandan so'ng, ESP8266 sozlamalari yuqoridagi rasmda ko'rsatilganidek bo'lishi kerak.

Agar siz kodni xatosiz yuklay olsangiz, qismlarni yig'ishni boshlashingiz mumkin.

3 -qadam: qismlarni ulash: VGA ulagichi

Qismlarni ulash: VGA ulagichi
Qismlarni ulash: VGA ulagichi
Qismlarni ulash: VGA ulagichi
Qismlarni ulash: VGA ulagichi
Qismlarni ulash: VGA ulagichi
Qismlarni ulash: VGA ulagichi

Yuqoridagi rasmlarda ko'rsatilgandek, avval VGA portini ulashni tavsiya qilaman. E'tibor bering, uchta pinni qizil, yashil va ko'kni bir -biriga ulash orqali (ya'ni DSUB15 ulagichidagi 1, 2 va 3 -pinlar) siz ekraningizda B&W tasviriga ega bo'lasiz. Bundan tashqari, siz turli xil ranglar kombinatsiyasiga ega bo'lishingiz mumkin. Tafsilotlarni kutubxona GitHub sahifasida ko'ring.

Bundan tashqari, siz ESP8266 dagi RGB pinlari va D7 (GPIO13) o'rtasida 330 Ohmli rezistorni ulashingiz kerak. Bu menga monitorimda biroz kulrang tasvirni berdi, shuning uchun bir necha urinishlardan so'ng men uni butunlay yo'q qilishga qaror qildim.

Bu erda, agar hamma narsa to'g'ri ishlayotgan bo'lsa, siz allaqachon monitorni ulashingiz va "ESP8266 VGAx Pong" banner bilan o'yinning boshlang'ich ekranini ko'rishingiz mumkin.

4 -qadam: qismlarni ulash: potentsiometr va tugma

Qismlarni ulash: potentsiometr va tugma
Qismlarni ulash: potentsiometr va tugma

Tugma 3.3V va pin D0 (GPIO16) o'rtasida ulangan bo'lishi kerak. Shuningdek, 1 dan 3 kOm gacha bo'lgan qarshilikni D0 dan erga ulang. Bu D0 tugmasi ochiq bo'lganda aniqlanmagan holatga tushishiga yo'l qo'ymaydi.

Ikkita potentsiometrning ulanishi unchalik ahamiyatsiz, chunki ESP8266 faqat analog kirish porti A0 (ADC0) ga ega! Hiyla shundaki, ikkala pot.s chiqishini bir xil portga ulash va ularni "ko'paytirish". Multiplekslash - bu potentsiometrni yoqish, o'qish, keyin o'chirish va ikkinchisiga o'tish degan ma'noni anglatadi.

Agar siz ushbu usul haqida ko'proq bilmoqchi bo'lsangiz, ushbu ko'rsatmani o'qishingiz mumkin.

Bir potentsiometrni GND ga, ikkinchisini chap o'yinchi potentsiometrini D5 ga va o'ng o'yinchi uchun D6 ga ulang.

Har bir potentsiometrning markaziy pimi alohida diodga ulanishi kerak va diodlarning boshqa tomonlari yuqoridagi rasmda ko'rsatilgan qutb bilan A0 (ADC0) ga ulangan bo'lishi kerak.

5 -qadam: Xulosa va minnatdorchilik

Men Sandro Maffiododan minnatdorman - SMAFFER - ESPVGAX kutubxonasi uchun. Busiz bu o'yin mumkin emas edi.

Umid qilamanki, bu ko'rsatma boshqa dasturchilarga Arduino -ga qaraganda ancha kam cheklangan ESP8266 bilan yanada murakkab klassik arja o'yinlarini ishlab chiqarishga ilhom beradi.

Nihoyat, men uni "O'yinchoqlar tanlovi" ga yuborish uchun "Ko'rsatma" ni yozdim: agar siz uni yoqtirsangiz yoki takrorlasangiz, iltimos, bir oz vaqt ajrating!

Tavsiya: