Mündəricat:
- Addım 1: Bütün hissələri toplayın
- Addım 2: OLED Ekranı bağlayın
- Addım 3: Buzzerə qoşulun
- Addım 4: Bütün Avadanlıq Bağlantıları Tamamlandı
- Addım 5: Kitabxana və Ekran Protokollarının Başlanması
- Addım 6: Tema Mahnı Melodiyası
- Addım 7: Başlanğıcda Mahnının Çalınması
- Addım 8: Şəkilləri Bitmaplərə çevirmək
- Addım 9: Ekranınıza uyğun olaraq qətnamənin tənzimlənməsi
- Addım 10: Bitmap Arrayının Yaradılması
- Addım 11: Şəkilləri Ardıcıllıqla Göstərin
- Addım 12: Bütün Kod:
- Addım 13: Nəticələr:
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Oraya salam və öyrədici bu əyləncəyə xoş gəldiniz! Hamınızın sağlam və sağlam olmasını diləyirəm. Bu kiçik, lakin inanılmaz bir layihə, PUBG mövzusunda mahnı oxumaq və hətta arduino istifadə edərək bəzi oyun animasiyaları yaratmaqdır.
İstifadə olunan komponentlər çox asanlıqla əldə edilir və bir parça çörək taxtasına yığmaq çox asandır. Bütün binanı və kodlaşdırma prosesini bu təlimatda paylaşacağam, sona qədər qalın!
Layihə haqqında fikir sahibi olmaq üçün videoya baxmanızı şiddətlə təklif edərdim:) Bəyənsəniz videonu bəyənib paylaşın. Quruluşumdan zövq alırsınızsa kanalıma abunə olmağı düşünün. Təşəkkürlər!
Beləliklə, heç bir gecikmə olmadan, başlayaq!
Addım 1: Bütün hissələri toplayın
Quruluş əsasən bu layihənin əsas nüvəsi olan Arduino Nanodan ibarətdir. Populyar Arduino Uno, Arduino Pro Mini, Arduino Mega kimi hər hansı digər Arduino variantlarından istifadə edə bilərsiniz. Animasiyaları və şəkilləri göstərmək üçün 128 x 64 piksel qətnamə ilə 0.96 düymlük OLED ekranla getməyə qərar verdim. Bu ekran, məlumat və saat üçün yalnız iki tel tələb edən I2C protokolu olan arduino ilə interfeyslər ola bilər, beləliklə əlaqələrin sayını azaldar və layihəni daha yığcam hala gətirər. PUBG tema melodiyasını çalmaq üçün 5V səs siqnalı istifadə etdim, pozitiv pinini 6 rəqəmsal pin arduino ilə bağladım və Arduinonun torpağına getdim.
Layihə üçün lazım olan hissələrin siyahısı:
- Arduino Nano (və ya seçdiyiniz hər hansı digər arduino lövhəsi)
- 0.96 düymlük OLED ekran modulu
- 5V səs siqnalı
- Jumper telləri
- Çörək lövhəsi
- Arduino proqramlaşdırma kabeli
Addım 2: OLED Ekranı bağlayın
OLED ekranın arduinodan bağlanması üçün cəmi 4 əlaqə lazımdır:
Arduino Vcc 5V
Arduino Gnd Gnd
Arduino SDA A4
Arduino SCK A5
Arduinonun A4 və A5 sancaqları, I2C rabitəsi üçün çoxlu analoq girişlərə və pinlərə xidmət edir. Burada ekran modulu ilə əlaqə yaratmaq üçün I2C protokolu üçün sancaqlardan istifadə etdik.
Bu layihədə istifadə olunan Adafruit kitabxanasına keçid:
Addım 3: Buzzerə qoşulun
5V səs siqnalı müsbət və mənfi bir təchizat terminalına malikdir.
Arduinonun müsbət D6 pin (rəqəmsal pin 6) (arduinonun istənilən rəqəmsal pinindən istifadə edə bilərsiniz)
Mənfi pin Gnd Arduino
Siqnalın melodiyanı çalacağı rəqəmsal pin D6 -da istədiyiniz ton yaradacağıq.
Addım 4: Bütün Avadanlıq Bağlantıları Tamamlandı
OLED ekran və səs siqnalının bütün lazımi əlaqələri tamamlandı. İndi layihənin proqramlaşdırma aspektini başa düşmək üçün davam edək.
Addım 5: Kitabxana və Ekran Protokollarının Başlanması
Bütün proqram 3 komponentdən ibarətdir:
- Başlanğıcdan və görüntü nümayişinin və melodiyanın ardıcıllığından ibarət olan əsas proqram
- musiqi notlarının siyahısı və əlaqəli tezlikdən ibarət "pitches.h" faylı
- göstəriləcək şəkillərin bitmaplərindən ibarət "pictures.h" faylı.
Bir görüntünün OLED displey üçün bir bitmap massivinə necə çevrilməsi prosesi qarşıdakı addımlarda müzakirə ediləcək.
İstifadə etməyiniz üçün bütün kodu bu təlimatla birlikdə əlavə edəcəyəm:)
Addım 6: Tema Mahnı Melodiyası
İnternetdə PUBG temalı mahnını ehtiva edən əsas qeydləri axtardım və sonra melodiya sırasına əlavə etdim.
Melodiya ardıcıllığını çalmaq və təkrarlamaq üçün xeyli vaxt sərf edərək, hər bir notun nə qədər çalınması lazım olduğu ilə əlaqəli olan vaxt aralığını yaratdım. Melodiya serialı və müddəti serialının birləşməsi mahnını ifa etmək üçün tam məlumatı ehtiva edir.
Addım 7: Başlanğıcda Mahnının Çalınması
Melodiya ardıcıllığını düzəltmək üçün istifadə etdiyim cəmi 63 not var. For istifadə edərək hər not arasında əvvəlcədən müəyyən edilmiş fasilə ilə notlar və müddətlər aralığını təkrarlamaq üçün bütün kod bir dəfə ifa olunur, çünki bu kod parçası yalan danışır. boşluqda (). Maraqlıdır ki, bu layihənin heç bir kodu arduino kodunun boşluq döngəsini () istifadə etmir, çünki şəkilləri yalnız bir dəfə oynamaq və göstərmək niyyətindəyəm. Əlbəttə ki, təkrarlanan bir ardıcıllıq istəyirsinizsə, o zaman void loop () funksiyasına daxil edilməlidir.
Addım 8: Şəkilləri Bitmaplərə çevirmək
Layihənin maraqlı hissəsi, görüntünün piksel sıxlığına görə OLED ekranı üçün bitmap sırasına çevirmək prosesidir. Bunun üçün xüsusi bitmaplər yaratmağımıza imkan verən bir onlayn vasitə tapdım.
Bu onlayn tətbiqin linki:
Bu tətbiqin inanılmaz yaradıcıları sayəsində işimi çox asanlaşdırır.
Bağlantıya girərkən əvvəlcə bitmap yaratmaq istədiyiniz şəkli yükləməlisiniz. Burada qeyd etmək lazım olan bir şey, çoxlu rəng kontrastı olmayan şəkilləri seçməyə çalışmalı, daha yaxşı nəticələr əldə etmək üçün heç bir qradiyasız şəkillərə yapışmağa çalışmalısınız.
Addım 9: Ekranınıza uyğun olaraq qətnamənin tənzimlənməsi
Növbəti addımda görüntünün ölçüsünü ekran ölçüsünə uyğun olaraq dəyişdirməliyik. OLED displeyimiz üçün 28 piksel genişliyində və 64 piksel hündürlüyündə, şəkildə göstərildiyi kimi düzəltmişəm. Görünüşün kifayət qədər aydın olduğundan əmin olmaq üçün parlaqlıq həddini tənzimləyin (aydın rəngli şəkillərdən istifadə etmənin üstünlüyü burada, rəng qradiyentləri nə qədər çox olarsa, monoxrom ekrandakı görüntü keyfiyyəti, parlaqlıq həddini pozduqda pisləşəcək.).
Növbəti addım, nisbətləri dəyişməz saxlamaq və seçimlərin mövcud olduğu simmetriyanı düzəltməklə görüntünü ekranda yerləşdirməkdir. İstədiyiniz görüntü çıxışı əldə etmək üçün bu variantları araşdıra bilərsiniz. İstinad üçün inanılmaz bir önizləmə seçimini də əldə edə bilərsiniz!
Addım 10: Bitmap Arrayının Yaradılması
Şəkil parametrlərini düzəltdikdən sonra, növbəti addımda yalnız çıxış formatı olaraq Arduino kodunu seçin və istədiyiniz bitmap massivini əldə etmək üçün yaratmaq düyməsini basın!
Orda! görüntünüzü istədiyiniz bitmap massivinə uğurla çevirdiniz. Bu prosesi ümumilikdə 7 görüntü üçün etdim və saxladım.
Addım 11: Şəkilləri Ardıcıllıqla Göstərin
Şəkilləri göstərmək üçün Arduino millis () funksiyasından istifadə edərək, əsasən ekranı təmizləmək üçün əmrlər toplusu olan draw () funksiyasını çağırıram, bitmap massivini OLED -ə çəkin və ekranı işə salın. Əsas məntiq ondan ibarətdir ki, hər 3,5 saniyədən sonra şəkil dəyişdirilir və növbəti şəkil göstərilir. 3.5 saniyə unikal bir rəqəm deyil, bütün melodiyanın müddətini 7 şəkilə bölsəm, hər ekran üçün təxminən 3,5 saniyə aldığımı anladım. İstəsəniz buna daha çox şəkil əlavə edə və hər bir görüntünün göstərilmə müddətini azalda bilərsiniz.
Kod parçaları millis () funksiyasına əsaslanaraq funksiyaların necə çağırıldığını izah edir.
Şəkillərin bütün bitmap serialları "pictures.h" faylında saxlanılır
Addım 12: Bütün Kod:
Hamınızın ətrafında oynamağınız və sınamağınız üçün bütün kodu paylaşıram!
Hər şey yaxşı göründükdən sonra lövhəyə yükləməyin vaxtı gəldi:)
Addım 13: Nəticələr:
Gördüyünüz kimi şəkillər əla çıxdı! Və melodiya da belə oldu! Ümid edirəm ki, nümayişin hamısının yer aldığı videoya baxmısınız.
Ümid edirəm ki, bu Arduino -nun PUBG versiyası bütün oyun və elektron həvəskarları üçün maraqlı bir layihədir.
Zəhmət olmasa şərhlərinizdə rəyinizi bildirməkdən və hər hansı bir təklifinizi bölüşməkdən çəkinməyin. Bundan əlavə, üzərində çalışdığım OLED seriyasının bir hissəsi olduğu üçün daha çox məzmun üçün kanalıma abunə olmağı düşünün. Bu əyləncəli layihəni qurarsanız mənə bildirin:)
Növbəti dəfə qədər.
Tövsiyə:
Money Heist BELLA CIAO Arduino Uno Mahnısı: 9 Addım (Şəkillərlə birlikdə)
Money Heist BELLA CIAO Arduino Uno Mahnısı: Bu dərslikdə, Piezoelektrik səs siqnalı ilə hər hansı bir Arduinoda Money Heist Mahnı Bella Ciao'yu necə çalacağını sizə göstərəcəyəm. Bu sərin layihə, bütün dünyada bütün Money Heist pərəstişkarlarına həsr edilmişdir. Beləliklə, başlayaq
Arduino Uno Dərsliyi #2 - Buzzer Mahnısı: 4 Addım (Şəkillərlə)
Arduino Uno Dərsliyi #2 - Buzzer Mahnısı: Hər kəsə salam, ilk dərsimin yaxşı bir qumar olduğunu gördüm və qərara aldım ki, sizin üçün bir sıra Arduino Uno dərsləri hazırlayacağam
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
Uzun Mesafe, 1.8km, Arduino-dan Arduino ilə HC-12 ilə Simsiz Əlaqə: 6 Addım (Şəkillərlə)
Uzun məsafə, 1.8km, Arduino-dan Arduino-ya HC-12 ilə Simsiz Əlaqə: Bu təlimatda Arduinos arasında 1.8km-ə qədər açıq havada necə ünsiyyət qurmağı öyrənəcəksiniz. HC-12 simsiz serial portudur. çox faydalı, son dərəcə güclü və istifadəsi asan olan ünsiyyət modulu. Əvvəlcə sızlayacaqsınız
Animasiya şokolad qutusu (Arduino Uno ilə): 3 addım (şəkillərlə)
Animated Chocolate Box (Arduino Uno ilə): Bir dəfə mağazada gözəl bir qutu şokolad gördüm. Bu qutudan möhtəşəm bir hədiyyə - şokoladlı cizgi qutusu hazırlamaq fikrim gəldi: Ehtiyacımız olan: təmiz plastik şokolad qutusu 9V batareya Batareya kabel adapteri uSD 1GB Arduino U