Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:54
Bu təlimatda, bir VGA monitoru çıxışı olan bir ESP32 istifadə edərək - Tetris - Snake - Breakout - Bomber - oyun kimi dörd arcade -in necə təkrarlanacağını göstərəcəyəm.
Çözünürlük 8 rəngdə 320 x 200 pikseldir. Daha əvvəl Arduino Uno ilə bir versiya hazırladım (buraya baxın), ancaq qətnamə yalnız 120 x 60 piksel, 4 rəng idi və Arduino yaddaşı demək olar ki, dolu idi. ESP32 -nin daha böyük performansları sayəsində həm qətnamə, həm də oynatma qabiliyyəti daha yüksəkdir. Bundan əlavə, hələ də kifayət qədər yaddaş var, beləliklə gələcəkdə yeni oyunlar əlavə etmək asan olacaq.
RS232 kabeli ilə sadə bir joystick bağlamaq üçün isti göstərəcəyəm. Commodore 64 -ün eyni pinoutundan istifadə edirəm.
Bu layihə Fabrizio Di Vittorio tərəfindən yazılan möhtəşəm ESP32 VGA kitabxanası sayəsində mümkün oldu. Ətraflı məlumat üçün bura baxın.
Addım 1: ESP32 Kartları, Arduino IDE Quraşdırması və VGA Kitabxana Konfiqurasiyası
Əvvəlcə bir ESP32 versiyası 1 və ya daha yüksək bir satın almalısınız. Mövcud bir çox versiya var, amma bir çox sancağı olan birini, bu şəkildəki kimi 38 pinli bir model seçməyi məsləhət görürəm. Bu versiyanı istifadə edirəm, amma düşünürəm ki, bir çoxları da yaxşıdır. Ebayda bu modeli çatdırılma daxil olmaqla 7 Avrodan aşağı qiymətə tapa bilərsiniz.
Lövhəni əldə etdikdən sonra aşağıdakı üç alt addıma davam etməlisiniz:
- Son Arduino IDE -ni quraşdırın
- IDE -də ESP32 -ni konfiqurasiya edin
- VGA kitabxanasını yükləyin və quraşdırın
Alt addım 1. ESP32-ni proqramlaşdırmağın fərqli üsulları var, ancaq burada Arduino IDE-dən istifadə etməlisiniz (bu arada 1.8.9 versiyasını istifadə edirəm). Qurmaq üçün Arduino IDE səhifəsinə gedib təlimatları izləyə bilərsiniz.
Alt addım 2. Əvvəlki əməliyyat edildikdən sonra, Arduino IDE-də ESP32-ni konfiqurasiya etməlisiniz. Bu əhəmiyyətsiz deyil, çünki ESP32 özündə deyil (hələ?). Bu təlimatı və ya aşağıdakı addımları izləyə bilərsiniz.
1) Arduino IDE -ni açın
2) üstünlüklər pəncərəsini açın, Fayl/Tercih, alternativ olaraq "Ctrl+virgül" düymələrini basın.
3) "Əlavə İdarə Heyəti Menecer URL'ləri" nə gedin, aşağıdakı mətni kopyalayın və yapışdırın:
https://dl.espressif.com/dl/package_esp32_index.js…
və OK düyməsini basın.
4) Açıq lövhələr meneceri. Alətlərə/İdarə Heyətinə/İdarə Heyətinə gedin …
5) ESP32 axtarın və "ESP32 by Espressif Systems" üçün quraşdırma düyməsini basın:
6) ESP32 -ni ilk dəfə bağladığınız zaman, mövcud ESP32 lövhələrinin uzun siyahısında doğru modeli seçməlisiniz (bu addımdakı şəklə baxın). Modeldən şübhə edirsinizsə, ümumi olanı, yəni birincisini seçin. Mənim üçün işləyir.
7) sistem eyni zamanda düzgün USB (COM) portunu və Yükləmə Sürətini (normal olaraq 921600) seçməlidir. Bu zaman kompüterinizlə ESP32 lövhəsi arasında əlaqə qurulmalıdır.
Alt addım 3. Nəhayət, FabGL VGA kitabxanasını quraşdırmalısınız. Tam sıxılmış faylı yükləmək üçün bura vurun. Açın və ortaya çıxan qovluğu (FabGL-master) Arduino IDE kitabxana qovluğuna kopyalayın:
"… / arduino-1.8.12 / kitabxanalar".
Addım 2: "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0" yüklənir
Bu addımın altındakı ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip yükləyin. Arduino IDE ilə açın və açın, sonra ESP32 -yə yükləyin. Heç bir səhv mesajınız yoxdursa, kod artıq işləməlidir və yalnız VGA portunu və düymələrini (və ya joystick) bağlamanız lazımdır.
Addım 3: VGA Portuna qoşulun
Aşağıdakı hissələrə ehtiyacınız var:
- DSUB15 Konnektoru, yəni kəsiləcək VGA dişi konnektoru və ya VGA kabeli.
- üç 270 Ohm rezistor.
270 Ohm rezistorlar vasitəsilə ESP32 GPIO pin 2, 15 və 21 -ni sırasıyla VGA Red, Green və Blue -a qoşun.
VGA Hsync və Vsync -ni sırasıyla ESP32 GPIO pinlərinə 17 və 4 -ə qoşun.
5, 6, 7, 8 və 10 DSUB15 bağlayıcı pinlərini ESP32 GND -ə qoşun.
VGA DSUB15 bağlayıcı pinin tərifi üçün bu addımdakı şəklə baxın. NB, bu qadın bağlayıcının lehimləmə tərəfidir.
Addım 4: Dörd Düyməni Bağlayın
C64 joystickiniz yoxdursa, bu addımı izləyən dörd düyməni birləşdirə bilərsiniz. Joystickiniz varsa, bu addımı atıb bir sonrakı mərhələyə keçə bilərsiniz, amma hər halda həm düymələri, həm də joysticki bağlaya bilərsiniz (onlar hər halda "paralel" dir).
Bu addımdakı sxem, +5V -dən ESP32 -ə verilən tək bir düyməni (Normal Açıq) necə bağlayacağınızı göstərir.
Diqqət yetirin ki, ESP verilən pini 1 ilə 5 kOhm müqavimət vasitəsi ilə GND -yə bağlamalısınız. Bu şəkildə düymə buraxıldıqda (açıldıqda) ESP pimi tam sıfır Voltdur. Daha dəqiq desək, aşağıdakı düyməni basaraq dörd düyməni bağlamalısınız:
- 12 düyməsini sağ düyməyə bərkidin
- 25 düyməsini yuxarı qaldırın
- 14 düyməsini sol düyməyə bərkidin
- 35 düyməsini Aşağı düyməsinə bərkidin
Addım 5: Joystick'i bağlayın
C64 joystick -də bu addımın ilk şəkilində göstərilən pinout var. ESP32 -yə bağlamaq üçün, ikinci şəkildə göstərildiyi kimi 9 pinli DSUB kişi konnektoru (yəni, priz) lazımdır. Açıq sancaqlar olan birini köhnə elektron lövhədən çıxardım. Çıxarmaq üçün istilik silahı istifadə edə bilərsiniz (ancaq açıq havada edin!).
Bu şəkillərdəki rəqəm sırasına uyğun olaraq pinləri bağlamalısınız. Diqqət yetirin ki, sxem, joystick tərəfinə aiddir, buna görə də qadın fişinin əlaqəsini təmsil edir. ESP32 -yə qoşulmaq üçün yuva (kişi) "güzgü" mövqeyinə malik pinlərə malikdir. Şübhə halında, üçüncü nömrədə göstərildiyi kimi pin nömrəsinin həmişə kişi və qadın konnektorlarda bildirildiyini unutmayın.
Oyunları yalnız joystick ilə idarə etmək istəyirsinizsə, onun ümumi pinini (9) ESP32 +5V -ə və 1, 2, 3, 4 və 6 -cı joystick pinlərini aşağıdakı siyahıdan sonra verilən ESP pinlərinə bağlayın.
- ESP pin 12 - sağ düymə (RS232 pin 4)
- ESP pin 14 - Sol düymə (RS232 pin 3)
- ESP pin 35 Aşağı düyməsinə (RS232 pin 2)
- ESP pin 25 -dən yuxarı düyməsinə (RS232 pin 1 və 6, yəni joystick atəşi)
NB ESP sancaqları 12, 14, 25 və 35 də 1 ilə 5 kOhm müqavimət vasitəsi ilə GND -yə qoşulmalıdır. Bu şəkildə düymə buraxıldıqda (açıldıqda) ESP pimi tam sıfır Voltdur.
NB2 joystick YUKARI mövqeyi və yanğın düyməsi ESP pin 25-ə birləşdirilir.
PC lövhəsində dörd düyməni bağladım, bu şəkildə oynamaq üçün joystickə ehtiyacım yoxdur (baxmayaraq ki, joystick ilə daha gülməli olsa da). Yenə RS232 pin 9 +5 V -ə qoşulmalıdır və joystick pinləri düymələrə paraleldir.
Addım 6: Nəticə və Təsdiq
Hər şey düzgün işləyirsə, sadəcə VGA monitorunu bağlayın və köhnə üslublu oyunlardan zövq ala bilərsiniz!
Yalnız VGA kitabxana imkanlarını yoxlamaq üçün 640 x 350 piksel qətnamə ilə Mandelbrot dəsti çəkə bilərsiniz.
Kodun digər oyunların gələcəkdə asanlıqla əlavə oluna biləcəyi şəkildə yazıldığını unutmayın (ESP32 -də çox yer var!). Bu layihə kifayət qədər maraq görürsə, bunu edə bilərəm …
Nəhayət, zəhmli ESP32 VGA kitabxanası üçün tanklarımı Fabrizio Di Vittorio -ya bildirmək istəyirəm. Daha ətraflı məlumat, nümunələr və… Space Invaders üçün saytına daxil olun.
Tövsiyə:
Sıralı LED Ekran Arduino Oyunları: 7 Addım (Şəkillərlə birlikdə)
In-Line LED Ekran Arduino Oyunları: aka LED Ladder Display Game System. "Video" aksiyasını oynamaq üçün aparat və proqram təminatı ilə təchiz olunmuş bir Attiny-85. oyunlar, sıralı LED displeydə. Multiplexed 12 LED nərdivan ekranına malikdir və 6 düyməyə qədər girişi və opti
Bir Analog Girişdən istifadə edən 4 Düymə Oyunları: 6 Addım (Şəkillərlə)
Bir Analog Girişdən istifadə edərək 4 Düymə Oyunları: Bu təlimat, bir-birindən asılı olmayaraq aşkar edilə bilən birdən çox düymələr üçün bir analoq giriş xəttindən istifadə etməyə yönəlmişdir. Bütün oyunlar (8 -də
Oyunları Arduboy-a və 500 Oyunları Flash-arabaya necə yükləmək olar: 8 addım
Oyunları Arduboy-a və 500 Oyunları Flash-arabaya necə yükləmək olar: Yolda oynamaq üçün maksimum 500 oyunu saxlaya bilən Serial Flash yaddaşlı bir ev istehsalı Arduboy etdim. Oyunları seriyalı flash yaddaşa necə saxlamağı və öz konsolidasiya edilmiş oyun paketinizi yaratmaq da daxil olmaqla, oyunların necə yüklənəcəyini bölüşməyi ümid edirəm
Yamaç paraşütü oyunları üçün DIY nəzarətçi: 5 addım (şəkillərlə)
Yamaç Paraşütü Oyunları üçün DIY Nəzarətçi: Bir neçə fərqli yamac paraşütü oyunu oynadım və həmişə istifadə etdiyiniz idarəetmə problemini tapdım. Paraşütlə uçmaq çox analoq olduğu üçün siçan və klaviatura əla deyil. Bir uçuş simulyatoruna və ya avtomobil yarışına bənzəyir, bir zövqə ehtiyacınız var
Oyunları Atgames Genesis Flashback HD -yə əlavə etmək: 5 addım (şəkillərlə)
Oyunları Atgames Genesis Flashback HD -yə əlavə etmək: Bu, Atgames Genesis Flashback HD -yə oyunların necə əlavə olunacağına dair qısa bir yol olacaq. Nə etdiyinizi bilmirsinizsə və diqqətli deyilsinizsə, vahidinizi tamamilə kərpicə vura bilərsiniz, çünki bu təlimat həssas bir ərazinin dəyişdirilməsini tələb edir