Mündəricat:
- Addım 1: hissələr
- Addım 2: Kabel çəkmə
- Addım 3: Alternativ Kablolama
- Addım 4: Kod + İzahat
- Addım 5: Oxuduğunuz üçün təşəkkürlər
Video: LED Matrix, Arduino və Joysticks ilə Pong Tennis: 5 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu layihə həm yeni başlayanlar, həm də təcrübəli tinkerlər üçün nəzərdə tutulmuşdur. Əsas səviyyədə bir çörək taxtası, tullanan tellər ilə edilə bilər və Blu-Tack ilə lehimsiz bir parça hurda materialına (taxta istifadə etdim) yapışdırıla bilər. Ancaq daha inkişaf etmiş bir səviyyədə mükəmməl lövhəyə və ya xüsusi bir PCB -yə lehimlənə bilər.
Bu bir kilidləmə layihəsi olduğundan, bir çox alətə və ya materiala daxil ola bilmədim, buna görə də Blu-Tack ilə bir az çox kiçik bir hurda ağac parçasına yapışdı, buna baxmayaraq bir araya gələn əyləncəli bir layihədir. tez və internetdə ucuz tapıla bilən ümumi hissələrdən ibarətdir.
Addım 1: hissələr
Pong Oyunu etmək üçün sizə lazım;
- 1x Arduino (istənilən növ işləyəcək)
- 4x MAX7219 8x8 LED Matrislər
- 2x Joysticks
- 1x Piezo Buzzer (İsteğe bağlı)
- 15x Dişi-Dişi Atlama Teli (5 ədəd 3x qrupu)
- 15x Kişi-Dişi Atlama Teli (5 ədəd 3x qrupu)
- 18x Kişi-Kişi Jumper Telləri
- 1x Çörək Paneli
- 1x 220Ω rezistor
Arduino Uno və ya Nano lövhəsi əvəzinə Arduino əsaslı çörək taxtasından istifadə edə bilərsiniz;
- 1x ATmega328p 28pin IC
- 1x 16 kHz Kristal Osilatör
- 2x 22pF Seramik Kondansatörler
- 1x USB FTDI UART çeviricisi
- 1x 100uF elektrolitik kondansatör
- 1x Micro USB Breakout (İsteğe bağlı)
Alətlər;
- Arduino IDE (və LedControl Kitabxanası) olan kompüter
- Arduino üçün uyğun USB Kabel
- Oyunu kompüterinizdən uzaqlaşdırmaq üçün Power Bank
Addım 2: Kabel çəkmə
Kablolama çox sadədir, çünki Matrices və Joysticks -in başlıqlarını Arduino -ya bağlamaq üçün sizə lazım olan tullanan tellərdir. Arduino Uno -nun yalnız 3 GND bağlantısı və bir 5v bağlantısı olduğu üçün yeganə çətinlik gücdür. Çörək taxtasının daxil olduğu və bütün komponentlər üçün bir güc paylayıcı ray rolunu oynadığı bir yer, NANO istifadə edirsinizsə, çörək taxtası eyni məqsədə xidmət edəcək və hər şeyi daxil etməyə imkan verəcəkdir.
Kabel qurmaq üçün bu əlaqələri izləyin.
- Sol Joystick - GND və 5v müvafiq elektrik raylarına. SW - pin 9, VRx - A0, VRy - A1.
- Sağ Joystick - GND və 5v müvafiq elektrik raylarına. SW - pin 8, VRx - A2, VRy - A3.
- Ən sağdakı LED Matrix - GND və 5v müvafiq elektrik raylarına. DIN - 13, CS - 11, CLK - 12. (25 -ci sətrə görə)
- Bütün digər LED Matrices, kodun düzgün işləməsi üçün birincisinin çıxışı sağdan sola gedərək papatya ilə bağlana bilər.
- İsteğe bağlı Buzzer - Anod (+) vasitəsilə 220Ω cərəyan məhdudlaşdırıcı müqavimət 10, Katot (-) - GND.
Addım 3: Alternativ Kablolama
Məkanı qənaət etmək üçün Arduino UNO ilə bağladıqdan sonra, Arduino IC -ni UNO -dan 16Mhz Kristal Osilatoru və hər tərəfdən yerə 22pF kondansatörlü bir çörək taxtasına qoymağa qərar verdim. Layihəni daha səliqəli və daha tamamlanmış göründüyü üçün bunun dəyərli bir dəyişiklik olduğunu hiss edirəm, ancaq proqramı yeniləmək üçün bir USB FTDI proqramçısı istifadə etməlisiniz.
Addım 4: Kod + İzahat
Kodu Arduinoya yükləmək üçün GitHub -dan LedControl kitabxanasını buradan yükləyin, github.com/wayoda/LedControl və Zip faylını əlavə edin və ya IDE daxilindəki Kitabxana Meneceri vasitəsi ilə əlavə edin. Bundan sonra əlavə edilmiş eskizi açın, alətlər altından lövhədə və port parametrlərində Arduino seçin və arduinoya yükləyin.
İzahat
1 -ci sətir: Kitabxananı əlavə edir
Satır 5-23: Bütün dəyişənləri, sabitləri və pin nömrələrini qurur.
Satır 25: LED Martix qurur və idarəetmə pinlərini və neçə ekranı təyin edir.
Satır 27: Sıfırlama funksiyasını qurur.
Satır 30-35: Bütün ekranları birlikdə açmaq/söndürmək üçün bağlama funksiyası.
Satır 38-43: Bütün ekranların parlaqlığını birlikdə təyin etmək üçün SetIntensity funksiyası.
Satır 46-51: ClearAll bütün ekranları birlikdə silmək funksiyasına malikdir.
Line 53-64: joystick funksiyası, joysticklərin mövqeyini əldə etmək üçün onları topa vurmaq üçün 7 mümkün yarasa mövqeyinə uyğunlaşdırın və sonra yarasa yeni mövqeyə keçir.
67-435 xətti: Topu göstərilən yüksəklikdə və sürətdə sol oyunçuya keçirən, oyunçunun vurub vurmadığını yoxlayan və ya davam etdirən və qəza vəziyyətini doğru olaraq təyin edən və ya topu geri salan funksiyası, hesaba 1 əlavə edir və sürəti artırır.
Xətt 438-811: Topu göstərilən yüksəklikdə və sürətdə sağ oyunçuya daşıyan, oyunçunun vurub vurmadığını yoxlayan və ya davam etdirən və qəza vəziyyətini doğru olaraq təyin edən və ya topu geri salan funksiya, hesaba 1 əlavə edir və sürəti artırır.
Satır 813-823: Smiley Face, Tick, Cross və ya Sual İşarəsini göstərilən ekranda göstərmək üçün funksiya (sağda 0-dan 3 solda).
Satır 861-979: Göstərilən ekranda 0-9 rəqəmlərini göstərmək funksiyası.
Xətt 981-1047: Hesabın ekranın hər bir oyunçusuna göstərilməsi funksiyası.
Line 1049-1064: Oyunçunun hazır olub olmadığını yoxlamaq funksiyası.
Satır 1066-1076: Proqram başladıqda bir dəfə işlədilən kodun kod bölməsi.
Xət 1078-1136: Bütün funksiyaların istifadə edildiyi və kimin qalib gəldiyinə qərar verilən oyun məntiqi üçün Əsas Döngə bölməsi, hesab göstərildikdən 5 saniyə sonra proqramı yenidən başlatır.
Addım 5: Oxuduğunuz üçün təşəkkürlər
Bu təlimatı oxuduğunuz üçün təşəkkürlər, Arduino proqramlaşdırması haqqında daha çox məlumat əldə etdiyim üçün bir neçə gün ərzində bir araya gələn əyləncəli bir kilidləmə layihəsi idi. Zövq alsanız, Arduino yarışmasında səs verməkdən çekinmeyin.
Tövsiyə:
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: Bu təlimatlarda Arduino IDE istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını görəcəyik. PWM əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə olunur və bu analog çıxış 0V ilə 3.3V arasında ola bilər (esp32 vəziyyətində) & dan
Stolüstü Tennis Scoreboard: 16 Addım (Şəkillərlə birlikdə)
Stolüstü Tennis Scoreboard: Stolüstü Tennis / Ping Pong hesabınızı izləmək üçün çox tənbəlsiniz? Və ya bəlkə də həmişə onu unutmaqdan əziyyət çəkirsiniz? Əgər belədirsə, bu rəqəmsal Stolüstü Tennis Scoreboardunu qurmaqla maraqlana bilərsiniz. , oyunlar, server və p
Arduino Uno (Arduino Powered Robot Face) ilə LED Matrix Arrayına Nəzarət: 4 Addım (Şəkillərlə)
Arduino Uno (Arduino Powered Robot Face) ilə LED Matrix Arrayına Nəzarət: Bu təlimat, bir Arduino Uno istifadə edərək 8x8 LED matrislərindən ibarət bir sıra necə idarə olunacağını göstərir. Bu təlimat, öz layihələriniz üçün sadə (və nisbətən ucuz bir ekran) yaratmaq üçün istifadə edilə bilər. Bu şəkildə hərfləri, rəqəmləri və ya xüsusi animatları göstərə bilərsiniz
Pong ilə LED Şapka Ekranı: 12 addım (şəkillərlə)
Pong ilə LED Şapka Ekranı: Bir müddət əvvəl ilk mikrokontroller layihəm olaraq 5x7 LED displeydə bir Pong oyunu hazırladım, amma sonra heç nə alınmadı. Bu yaxınlarda bir formanın bir hissəsi olaraq (bir mühəndislik yarışması üçün) bir sərt şapka verdim və onu düzəltməyi söylədim və xatırladım
Tennis Can LED Fənər: 4 Addım (Şəkillərlə)
Tennis Can LED Lantern: Mən bu fənəri qaranlıqda bir LED işıq işığı və bir top tenis topu ilə gəzərkən qurdum (hərdən hoqqabazlıq etdiyim tanınır). Masada oturanda gözəl bir parlaq işıq yaradır və açıla bilər