Mündəricat:
- Addım 1: Video
- Addım 2: Oyunun dizaynı
- Addım 3: Oyun Cihazının Dizaynı
- Addım 4: Cihazın qurulması
- Addım 5: Oyunun proqramlaşdırılması
- Addım 6: Pong oynamaq
Video: Əl Arduino Pong Konsolu: 6 Adım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Bu yaxınlarda DFRobot, mənim xüsusi Arduino Nano lövhəsini və OLED -dən istifadə etməyimi istədi. Əvvəlcə ağıllı bir velosiped yaratmaq istədim və onu tamamilə qurdum. Ancaq təəssüf ki, Nano lazım olan kütləvi eskizin işlədilməsi və saxlanması üçün çox zəif idi. Buna görə də əvvəlki layihələrimdən birini - Pong oyunu keçirən Neopixel matrisini yenidən nəzərdən keçirmək qərarına gəldim. Bunun əvəzinə onu portativ etmək istəyirdim və 1.7 OLED mükəmməl bir ekran olardı.
Parçaların siyahısı:
- Arduino nano
- OLED
- Dinamik
Addım 1: Video
Addım 2: Oyunun dizaynı
Bu Pong oyunu üçün nisbətən sadə saxlamaq istədim ki, bu da kompüterlə idarə olunan avarçəkmə və ya xülya top əks etmə alqoritmləri deməkdir. Əsasən, bir istifadəçinin yuxarı və ya aşağı hərəkət edə biləcəyi tək bir avarçəkən var və topun avarla toqquşması onun x ox vektorunun sürüşməsinə səbəb olar. Hər dəfə topa dəyəndə oynayan bir səs eşidilir. Oyun cihazı işə salındıqda, oyunun adı və təlimatları ilə bir ekran gəlir. Əlavə olaraq, anam yuxarıdakı düyməyə basılana qədər arxa planda uzanan kiçik bir mövzu mahnısı yaratdı.
Addım 3: Oyun Cihazının Dizaynı
CAD proqramım Fusion 360-dır, buna görə də pong oyun cihazımı dizayn etmək üçün istifadə etməyə qərar verdim. İstifadə olunan hər bir komponenti dizayn etməyə başladım: OLED, Arduino Nano və dinamik. Bu şəkildə hər bir komponentin korpusun içərisinə harada və necə uyğun gəlməsini dəqiq görə bilərəm. Daha sonra korpusun arxa hissəsinə Nano və PCB, üstünə isə OLED qoydum. Sonrakıda dinamik və düymələri hara yerləşdirmək məsələsi idi. 3W dinamikin ekranın altına (yuxarıdan baxaraq) keçə biləcəyinə qərar verdim və bunun üçün səsin boğulmaması üçün dinamikin üstünə "ızgara" qoyulması tələb olundu. Nəhayət, nəzarət etmək üçün sol tərəfdəki iki düyməni əlavə etdim.
Addım 4: Cihazın qurulması
Aşağı hissə, yuxarı yarı və 2 düymədən ibarət olan hər hissəni 3D çap etməyə başladım. Sonra 4x6 sm ölçüdə bir qadın başlığı lehimlədim və Nanoya bağladım. Bu, yalnız OLED -nin asanlıqla çıxarılmasına imkan vermir, həm də Arduino Nanonun üstünə qaldırır. Kabel məlumatları üçün sxemə baxın. Sonra güc üçün sadə bir mikro USB açma lövhəsi ilə birlikdə iki düyməni bağladım. Dinamik də əlavə edildi və düzgün mövqeyini verdi. My Fusion 360 dizaynı, 3 mm -lik maşın vintlərinin OLED, hoparlörü basıb saxlamasına və cihazın iki yarısını birləşdirməsinə imkan verir. Ancaq bunları dəqiqləşdirməli oldum, buna görə qazma maşınımdan istifadə edərək 8 delik açdım: 2 dinamik üçün, 2 ekran üçün və altındakı 4. Fayllar üçün Thingiverse linkinə daxil ola bilərsiniz.
Addım 5: Oyunun proqramlaşdırılması
Proqramın kiçik olması üçün sadə bir interfeysdən istifadə vacibdir. Bir neçə kitabxana əlavə etməklə başladım: Adafruit_GFX, Adafruit_SSD1351 və Arduino Timer kitabxanası. Sonra, OLED pinləri və 16 bit rəng tərifləri kimi pinlərimi və rənglərimi təyin etdim. Kodumda, oyunun necə oynanacağını dəyişməyin 4 yolu var, məsələn, avar ölçülərini dəyişdirmək və topun nə qədər sürətli hərəkət etməsi. Hesab və müxtəlif koordinatlar daxil olmaqla hər bir dəyişənin təyin olunduğu bir bölmə var. Cihaz bir top şəkli ilə işləyərkən və kodun əvvəlində müəyyən edilmiş kiçik bir mahnı ilə birlikdə ekranda bir mətn görünür. Oyun başladıqdan sonra iki taymer yaradılır, biri avarçəkəni, digəri isə topu yeniləyir. Topun mövqeyi hər dəfə yeniləndikdə koordinatları yoxlanılaraq ekranın kənarından keçmədiyinə və ya bir avara toxunduğu yoxlanılır. Hər dəfə ya x, ya da y oxu ters çevrilir və kiçik bir ton çalınır. Oyunun necə oynandığını görmək üçün bu yazının əvvəlindəki videoya baxın.
Addım 6: Pong oynamaq
Oyunun adı mümkün olan ən aşağı balı toplamaqdır. Vaxt məhdudiyyəti yoxdur, buna görə çox zövqlü və hətta transa səbəb olur. Lazım olan tək şey, avarını yuxarı və ya aşağı hərəkət etdirmək üçün iki düymədən birinə basmaqdır. Arduinonun EEPROM -dan istifadə edərək ən yüksək balı saxlamaq üçün bir yol da əlavə etmək mümkündür.
Tövsiyə:
DIY Raspberry Pi Zero El Oyun Konsolu: 6 Addım (Şəkillərlə birlikdə)
DIY Raspberry Pi Zero Əl Oyun Konsolu: Bu layihədə sizə Raspberry Pi Zero, NiMH batareyaları, ev şəraitində çox boşalma qoruma dövrəsi, arxa görünüşlü bir lcd və səs gücləndiricisini oynaya bilən bir oyun konsolu yaratmaq üçün necə göstərəcəyəm. retro oyunlar. Gəlin başlayaq
ESP32 Əl Oyun Konsolu: 21 Adım (Şəkillərlə birlikdə)
ESP32 Əl Oyun Konsolu: Bu təlimatlar NES emulator oyun konsolu qurmaq üçün ESP32 və ATtiny861 -dən necə istifadə olunacağını göstərir
GamePi - Əl Emulator Konsolu: 17 Adım (Şəkillərlə birlikdə)
GamePi - El Emulator Konsolu: Giriş: Bu təlimatlı bir Raspberry Pi 3 ilə işləyən el emulyasiya konsolunun quruluşunu təsvir edir - mən onu GamePi vəftiz etdim. Bu cür cihazlar üçün oxşar təlimatlar çoxdur, amma zövqümə görə əksəriyyəti ya çox böyük, ya da çox kiçikdir
Evdə hazırlanmış Əl Konsolu: 12 Adım (Şəkillərlə birlikdə)
Evdə hazır Əl Konsolu: Raspberry Pi 3 və Retropie emulyasiya proqramı ilə öz DIY GameBoyunuzu necə yaratacağınıza dair addım -addım bələdçimə xoş gəldiniz. ya da elektrik
Atari Retropie Konsolu: 7 Adım (Şəkillərlə birlikdə)
Atari Retropie Konsolu: Bu təlimatda, sizə Raspberry Pi Zero ilə işləyən Retropie oyun sistemi üçün bu xüsusi qutunun necə yaradılacağını göstərmək istərdim. Dörd portlu USB hub, güc açarı, LED göstərici işığı və Atari 2600 kartuşunun bütün retro görünüşünə malikdir