Mündəricat:

ESP8266 VGA Pong: 5 addım (şəkillərlə birlikdə)
ESP8266 VGA Pong: 5 addım (şəkillərlə birlikdə)

Video: ESP8266 VGA Pong: 5 addım (şəkillərlə birlikdə)

Video: ESP8266 VGA Pong: 5 addım (şəkillərlə birlikdə)
Video: Mining Dogecoin Menggunakan VGA Withdraw Otomatis Ke Indodax 2024, Iyul
Anonim
Image
Image
Materialların siyahısı
Materialların siyahısı

Bu Təlimat kitablarında, bir ESP8266 və bir neçə digər komponentdən istifadə edərək, VGA monitoru üçün klassik Pong oyununun necə yaradılacağını göstərəcəyəm.

Bu oyun, Sandro Maffiodo (aka Smaffer) tərəfindən bu yaxınlarda GitHub -da nəşr olunan EspVGAx kitabxanası sayəsində mümkün oldu və bildiyimə görə, bu onu istismar edən ilk oyundur.

Kitabxana, 30720 bayt tələb edən RAM içərisində bir çərçivə buferində saxlanılan 512 x 480 piksellik bir qətnamə tətbiq edir. Çözünürlük, Arduino TVout və ya VGAx ilə müqayisədə çox böyükdür (müvafiq olaraq 128 x 96 və 120 x 60 piksel). Ümid edirəm ki, bu oyun digər proqramçıları daha mürəkkəb oyunları inkişaf etdirmək və ya təkrar istehsal etmək üçün ilhamlandırır.

Addım 1: Materialların siyahısı

EspVGAx kitabxanası, ESP-12E, NodeMCU-12E lövhəsi və ya GPIO5 (D1), GPIO4 (D2) və GPIO13 (D7) ifşa edən hər hansı bir lövhə kimi bütün GPIO məruz qalmış bir ESP8266 tələb edir.

Xüsusilə istifadə etdim:

  • bir ESP8266 NodeMCU-12E (link burada)
  • DSUB15 konnektoru (yəni VGA dişi konnektoru)
  • 330 Ohm müqavimət
  • başqa bir rezistor (təxminən 1-3 kOhm)
  • iki 10 kOhm potensiometr
  • basma düyməsi (n.o.)
  • iki diod (1N4007s kimi)
  • çörək taxtası
  • tellər

Köhnə bir VGA PC lövhəsindən DSUB15 bağlayıcısını aldım. Alternativ olaraq, köhnə bir VGA kabelini kəsə və telləri birbaşa çörək taxtasına bağlaya bilərsiniz.

Addım 2: Kitabxana və Sketch Yükləmə

Kitabxana və Sketch Yükləmə
Kitabxana və Sketch Yükləmə

Proqramlaşdırmanın fərqli üsulları və ESP8266 var; Pong yazmaq və kodu yükləmək üçün Arduino IDE -dən istifadə etdim.

Nəzərə alın ki, EspVGAx kitabxanası Arduino IDE 1.8.1 üçün işləyir. Başqa versiyalarınız varsa, ən yaxşısı.zip fayllarını yükləmək və xüsusi bir qovluqda sıxışdırmaqdır. Windows versiyası burada. Digər OS üçün versiyalar burada.

Bundan sonra, EspVGAx kitabxanasını buradakı GithHub səhifəsindən yükləməlisiniz (buradakı zip versiyası üçün birbaşa link) və Arduino proqramındakı qovluq kitabxanalarında açın.

NB espvgax_draw.h faylında kiçik bir səhv var. Düzəltmək üçün 17 -ci sətri dəyişdirin:

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

Nəhayət, bu addımın sonunda ESP8266_Pong.rar yükləyə bilərsiniz.

Açıldıqdan sonra onu ESP8266 -ya yükləmək üçün Arduino IDE -ni konfiqurasiya etməlisiniz.

Bunu heç etməmisinizsə, bu Təlimatlarda, xüsusən 2 -ci addımda lazım olan bütün təlimatları tapa bilərsiniz.

Hər şey konfiqurasiya edildikdən sonra ESP8266 parametrləri yuxarıdakı şəkildə göstərilənlərə bənzəməlidir.

Kodu səhvsiz yükləyə bilsəniz, hissələri yığmağa başlaya bilərsiniz.

Addım 3: hissələri birləşdirmək: VGA bağlayıcısı

Parçaları birləşdirmək: VGA bağlayıcısı
Parçaları birləşdirmək: VGA bağlayıcısı
Parçaları birləşdirmək: VGA bağlayıcısı
Parçaları birləşdirmək: VGA bağlayıcısı
Parçaları birləşdirmək: VGA bağlayıcısı
Parçaları birləşdirmək: VGA bağlayıcısı

Yuxarıdakı şəkillərdə göstərildiyi kimi əvvəlcə VGA portunu bağlamağı məsləhət görürəm. Qırmızı, Yaşıl və Mavi üç sancağı birləşdirərək (yəni DSUB15 konnektorunda 1, 2 və 3 sancaqlar) bir araya gətirərək, ekranda B&W şəklinin olacağını unutmayın. Fərqli rəng birləşmələrinə də sahib ola bilərsiniz. Kitabxana GitHub səhifəsindəki detallara baxın.

Bundan əlavə, RGB pinləri ilə ESP8266 üzərindəki D7 (GPIO13) arasında 330 Ohm rezistor bağlamalısınız. Bu, monitorumda bir az boz rəngli bir görüntü verdi, buna görə də bir neçə cəhddən sonra onu tamamilə aradan qaldırmağa qərar verdim.

Bu anda, hər şey düzgün işləyirsə, "ESP8266 VGAx Pong" pankartı ilə artıq monitoru bağlaya və oyunun başlanğıc ekranını görə bilərsiniz.

Addım 4: Parçaları birləşdirmək: Potensiometrlər və Düymə

Parçaları birləşdirmək: Potensiometrlər və Düymə
Parçaları birləşdirmək: Potensiometrlər və Düymə

Düymə 3.3V və pin D0 (GPIO16) arasında bağlanmalıdır. D0 -dan yerə 1-3 kOhm müqavimət də bağlayın. Bu, düymənin açıq olduğu zaman D0 -nin təyin olunmamış bir vəziyyətdə olmasını qarşısını alır.

İki potensiometrin əlaqəsi daha az əhəmiyyət kəsb edir, əslində ESP8266 -nın yalnız analoq giriş portu A0 (ADC0) var! Hiylə, hər iki pot.s çıxışını eyni porta bağlamaq və onları 'multipleksləşdirməkdir. Multiplexing, sadəcə bir potansiyometri açacağınız, oxuduğunuz, sonra söndürdüyünüz və ikincisinə keçəcəyiniz deməkdir.

Bu üsul haqqında daha çox məlumat əldə etmək istəyirsinizsə, bu Təlimatı oxuya bilərsiniz.

Bir potensialiometr həddini GND -yə, digəri sol oyunçu üçün D5 -ə və sağ oyunçu üçün D6 -ya bağlayın.

Hər bir potensiometr mərkəzi pin ayrı bir dioda bağlanmalı və diodların digər tərəfləri yuxarıdakı şəkildə göstərilən polarite ilə A0 (ADC0) ilə bağlanmalıdır.

Addım 5: Nəticə və Təşəkkürlər

Sandro Maffiodo - SMAFFER - ESPVGAX libary üçün minnətdaram. Onsuz bu oyun mümkün olmazdı.

Ümid edirəm ki, bu Təlimat Arduinodan daha az məhdudiyyətə malik olan ESP8266 ilə daha mürəkkəb klassik arcade oyunlarının bərpası üçün digər proqramçılara ilham olacaq.

Nəhayət, bu Təlimatı Oyuncaqlar Müsabiqəsinə təqdim etmək üçün yazdım: bəyənirsinizsə və ya təkrarlayırsınızsa, lütfən, bir dəqiqə ayıraraq səs verin!

Tövsiyə: