
Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:54



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ə

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ı



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ə

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ə:
EXP GDC Beast istifadə edən noutbuklar üçün xarici VGA / GPU: 15 addım (şəkillərlə)

EXP GDC Beast istifadə edən noutbuklar üçün xarici VGA / GPU: Salam uşaqlar .. Bu, təlimat verilə bilən ilk dərsliyimdir. İngilis dili mənim ilk dilim deyil, qrammatik səhvlərimi bağışla. Laptopu təkmilləşdirmək təcrübəmə əsaslanaraq bunu etdim. Və heç bir şey bilmədiyim üçün sizi uzun bir girişlə bezdirməyəcəyəm
ESP32 VGA Arcade Oyunları və Joystick: 6 addım (şəkillərlə)

ESP32 VGA Arcade Oyunları və Joystick: Bu təlimatda, bir VGA monitoru üçün çıxışı olan bir ESP32 istifadə edərək, oyunlar kimi dörd arcade - Tetris - Snake - Breakout - Bomber - necə yaradılacağını göstərəcəyəm. Çözünürlük 8 rəngdə 320 x 200 pikseldir. Daha əvvəl bir versiya hazırlamışam
VGA Çıxışlı Arduino Basic PC: 5 Addım (Şəkillərlə birlikdə)

VGA Çıxışlı Arduino Basic PC: Əvvəlki Təlimatımda, BASIC işləyən, iki Arduino vasitəsi ilə və TV ekranı üçün B & W çıxış siqnalına malik retro 8-bitli kompüterin necə qurulacağını göstərmişəm. İndi eyni kompüteri necə quracağımı göstərəcəyəm, ancaq çıxış siqnalı ilə
Əl Arduino Pong Konsolu: 6 Adım (Şəkillərlə birlikdə)

Əl Arduino Pong Konsolu: DFRobot bu yaxınlarda mənə xüsusi Arduino Nano lövhəsi və OLED istifadə etməyimi istədi. Əvvəlcə ağıllı bir velosiped yaratmaq istədim və onu tamamilə qurdum. Təəssüf ki, Nano, böyük eskizləri idarə etmək və saxlamaq üçün çox zəif idi
ESP8266 Basic ilə Proqramlaşdırılmış ESP8266 Robot Avtomobil: 18 Addım (Şəkillərlə birlikdə)

ESP8266 Basic ilə Proqramlaşdırılmış ESP8266 Robot Avtomobil: Mən orta məktəb elm müəllimiyəm və eyni zamanda Robotik Klub Məsləhətçisiyəm. Robotları şagirdlərimin əlinə keçirməyin daha sərfəli yollarını axtarıram. ESP8266 lövhələrinin aşağı qiymətləri ilə muxtar bir şirkət yarada bildim