İçindekiler:

Arduino ile PUBG Tema Şarkısı+Animasyon!: 13 Adım (Resimli)
Arduino ile PUBG Tema Şarkısı+Animasyon!: 13 Adım (Resimli)

Video: Arduino ile PUBG Tema Şarkısı+Animasyon!: 13 Adım (Resimli)

Video: Arduino ile PUBG Tema Şarkısı+Animasyon!: 13 Adım (Resimli)
Video: Pubg mobile - Evde yapabileceğınız ateş tuşu- 2024, Kasım
Anonim
Image
Image
Tüm Parçaların Toplanması.
Tüm Parçaların Toplanması.

Merhaba ve bu eğlenceli eğitime hoş geldiniz! Umarım hepiniz iyisinizdir ve sağlıklı kalıyorsunuzdur. Bu küçük ama harika proje, PUBG tema şarkısını çalmak ve hatta arduino kullanarak bazı oyun animasyonları oluşturmakla ilgili.

Kullanılan bileşenler çok kolay temin edilebilir ve bir parça breadboard üzerinde montajı çok kolaydır. Tüm bina ve kodlama sürecini bu talimatta paylaşacağım, sonuna kadar sadık kalacağım!

Proje hakkında fikir sahibi olmanız için videoyu izlemenizi şiddetle tavsiye ederim:) Beğendiyseniz videoyu beğenip paylaşın. Yapımı beğendiyseniz kanalıma abone olmayı düşünün. Teşekkürler!

O halde, daha fazla gecikmeden başlayalım!

Adım 1: Tüm Parçaların Toplanması.

Tüm Parçaların Toplanması.
Tüm Parçaların Toplanması.

Yapı esas olarak bu projenin ana çekirdeği olan bir Arduino Nano'dan oluşuyor. Popüler Arduino Uno, Arduino Pro Mini, Arduino Mega vb. Gibi diğer Arduino çeşitlerini kullanabilirsiniz. Animasyonları ve görüntüleri görüntülemek için 128 x 64 piksel çözünürlüğe sahip 0.96 inç OLED ekran kullanmaya karar verdim. Bu ekran, veri ve saat için sadece iki kablo gerektiren I2C protokolüne sahip arduino ile arayüzler olabilir, böylece bağlantı sayısını azaltır ve projeyi daha kompakt hale getirir. PUBG tema melodisini çalmak için, pozitif pimini arduino'nun dijital pim 6'sına bağladığım ve topraklamanın Arduino'nun toprağına gittiği 5V'luk bir buzzer kullandım.

Bunlar proje için gerekli olan parçaların listesi:

  1. Arduino Nano (veya seçtiğiniz herhangi bir arduino kartı)
  2. 0.96 İnç OLED ekran modülü
  3. 5V sesli uyarıcı
  4. Atlama telleri
  5. ekmek tahtası
  6. Arduino programlama kablosu

2. Adım: OLED Ekranı Bağlama

OLED Ekranı Bağlama
OLED Ekranı Bağlama
OLED Ekranı Bağlama
OLED Ekranı Bağlama
OLED Ekranı Bağlama
OLED Ekranı Bağlama

OLED ekranın arduinodan bağlanabilmesi için toplam 4 bağlantı gereklidir:

Arduino'nun Vcc 5V'si

Arduino'nun Gnd Gnd'si

Arduino'nun SDA A4'ü

Arduino'nun SCK A5'i

Arduino'nun A4 ve A5 pinleri, I2C iletişimi için pinlerin yanı sıra analog girişlerin çoklu amacına hizmet eder. Burada, ekran modülü ile arayüz oluşturmak için I2C protokolü pinlerini kullandık.

Bu projede kullanılan Adafruit kütüphanesinin linki:

Adım 3: Buzzer'ı Bağlama

Buzzer'ı bağlama
Buzzer'ı bağlama
Buzzer'ı bağlama
Buzzer'ı bağlama

5V buzzer pozitif ve negatif besleme terminaline sahiptir.

Arduino'nun pozitif pin D6'sı(dijital pin 6)(Arduino'nun herhangi bir dijital pinini kullanabilirsiniz)

Arduino'nun negatif pin Gnd'si

Buzzer'ın melodiyi çalacağı dijital pin D6 üzerinde istenilen tonu oluşturacağız.

Adım 4: Tüm Donanım Bağlantıları Tamamlandı.

Tüm Donanım Bağlantıları Tamamlandı.
Tüm Donanım Bağlantıları Tamamlandı.
Tüm Donanım Bağlantıları Tamamlandı.
Tüm Donanım Bağlantıları Tamamlandı.

OLED ekran ve buzzer için gerekli tüm bağlantılar tamamlandı. Şimdi projenin programlama yönünü anlamak için devam edelim..

Adım 5: Kitaplığı Dahil Etme ve Görüntü Protokollerini Başlatma

Kitaplığı Dahil Etme ve Görüntü Protokollerini Başlatma
Kitaplığı Dahil Etme ve Görüntü Protokollerini Başlatma

Tüm program 3 bileşene ayrılmıştır:

  1. Başlatma ve görüntü gösterimi ve melodi dizilerinden oluşan ana program
  2. Nota listesi ve ilgili frekanstan oluşan "pitchs.h" dosyası
  3. Görüntülenecek resimlerin bitmaplerinden oluşan "pictures.h" dosyası.

Bir görüntünün OLED ekranı için bir bitmap dizisine nasıl dönüştürüleceği sonraki adımlarda tartışılacaktır.

Ayrıca, kullanmanız için bu talimatla birlikte tüm kodu ekleyeceğim:)

Adım 6: Tema Şarkısı Melodisi.

Tema Şarkısı Melodisi.
Tema Şarkısı Melodisi.
Tema Şarkısı Melodisi.
Tema Şarkısı Melodisi.

PUBG tema şarkısını oluşturan temel notaları internette aradım ve ardından bunları melodi dizisine ekledim.

Melodi dizisini çalmak ve yeniden çalmak için önemli miktarda zaman harcayarak, her notanın ne kadar süreyle çalınması gerektiğiyle ilgilenen süre dizisini oluşturdum. Melodi dizisi ve süre dizisinin kombinasyonu, şarkıyı çalmak için tüm bilgileri içerir.

Adım 7: Başlangıç Sırasında Şarkının Çalınması.

Başlatma Sırasında Şarkının Çalınması.
Başlatma Sırasında Şarkının Çalınması.

Melodi dizisini oluşturmak için kullandığım toplam 63 nota var. Bir for döngüsü kullanarak ve her nota arasında önceden belirlenmiş bir duraklama ile notalar ve süre dizisinde yineleme yaparak, tüm dizi bir kez çalınır, çünkü bu kod parçası yatar. boşluk kurulumunda(). İlginç bir şekilde, bu projenin hiçbir kodu, görüntüleri yalnızca bir kez oynatmayı ve görüntülemeyi düşündüğüm için arduino kodunun void döngüsünü() kullanmıyor. Tabii ki, yinelenen bir dizi istiyorsanız, bunun void loop() işlevine yerleştirilmesi gerekir.

Adım 8: Görüntüleri Bitmaplere Dönüştürme.

Görüntüleri Bitmaplere Dönüştürmek.
Görüntüleri Bitmaplere Dönüştürmek.

Şimdi, projenin ilginç kısmı, piksel yoğunluğuna göre bir görüntüyü OLED ekran için bir bitmap dizisine dönüştürme işlemidir. Bunun için özel bitmapler oluşturmamıza izin veren mükemmel çevrimiçi aracı buldum.

Bu çevrimiçi başvurunun bağlantısı:

Bu uygulamanın harika yaratıcıları sayesinde işimi çok kolaylaştırıyor.

Bağlantıya gittikten sonra, önce bitmap'ini oluşturmak istediğiniz görüntüyü yüklemelisiniz. Burada dikkat edilmesi gereken bir nokta, içinde çok fazla renk kontrastı olmayan görüntüleri seçmeye çalışmanız, daha iyi sonuçlar elde etmek için herhangi bir degrade olmadan birkaç düz renkle görüntülere yapışmayı denemeniz gerektiğidir.

9. Adım: Çözünürlüğü Ekranınıza Göre Ayarlama

Çözünürlüğü Ekranınıza Göre Ayarlama
Çözünürlüğü Ekranınıza Göre Ayarlama

Bir sonraki adımda, görüntüyü ekran çözünürlüğüne göre yeniden boyutlandırmamız gerekiyor. OLED ekranımız için resimde görüldüğü gibi ayarladığım 28 piksel genişlik ve 64 piksel yüksekliktir. Görüntünün oldukça net olduğundan emin olmak için parlaklık eşiğini ayarlayın (burada düz renkli görüntüleri kullanmanın avantajı devreye girer, renk gradyanları ne kadar fazla olursa, monokrom ekranda görüntü kalitesi parlaklık eşiğini bozduğundan düşer.).

Sonraki adım, orantıları koruyarak ve seçeneklerin zaten mevcut olduğu simetriyi ayarlayarak görüntüyü ekrana sığdırmaktır. İstediğiniz görüntü çıktısını elde etmek için bu seçenekleri keşfedebilirsiniz. Başvuru için ayrıca harika önizleme seçeneğine de sahip olursunuz!

Adım 10: Bitmap Dizisini Oluşturma.

Bitmap Dizisi Oluşturuluyor.
Bitmap Dizisi Oluşturuluyor.

Görüntü parametrelerini ayarladıktan sonra, bir sonraki adımda çıktı formatı olarak Arduino kodunu seçin ve istenen bitmap dizisini elde etmek için oluştur'a tıklayın!

Orası! resminizi başarıyla istediğiniz bitmap dizisine dönüştürdünüz. Toplamda 7 görsel için bu işlemi yaptım ve kaydettim.

Adım 11: Görüntüleri Sıra Olarak Görüntüleme

Görüntüleri Sıra Olarak Görüntüleme
Görüntüleri Sıra Olarak Görüntüleme
Görüntüleri Sıra Olarak Görüntüleme
Görüntüleri Sıra Olarak Görüntüleme
Görüntüleri Sıra Olarak Görüntüleme
Görüntüleri Sıra Olarak Görüntüleme

Görüntüleri görüntülemek için, temelde ekranı temizlemek, bitmap dizisini OLED'e çizmek ve ekranı başlatmak için bir dizi komut olan draw() işlevini çağırmak için Arduino millis() işlevini kullandım. Ana mantık, her 3.5 saniyede bir görüntünün değişmesi ve bir sonraki görüntünün gösterilmesidir. 3.5 saniye benzersiz bir sayı değil, tüm melodi süresini 7 görüntüye bölersem, her ekran için yaklaşık 3,5 saniyem olduğunu anladım. Buna daha fazla resim ekleyebilir ve isterseniz her bir resmin gösterim süresini azaltabilirsiniz.

Kod parçacıkları, millis() işlevine dayalı olarak işlevlerin nasıl çağrıldığını açıklar.

Görüntülerin tüm bitmap dizileri "pictures.h" dosyasında saklanır.

Adım 12: Tüm Kod:

Burada hepinizin oynaması ve denemesi için tüm kodu paylaşıyorum!

Her şey yolunda göründüğünde, tahtaya yükleme zamanı geldi:)

Adım 13: Sonuçlar:

Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar

Gördüğünüz gibi görüntüler harika çıktı! Ve melodi de öyle! Umarım tüm gösterinin yer aldığı videoyu izlemişsinizdir.

Umarım bu Arduino'nun PUBG versiyonu, tüm oyun ve elektronik meraklıları için heyecan verici bir projedir.

Lütfen görüşlerinizi yorumlarda paylaşmaktan ve önerilerinizi paylaşmaktan çekinmeyin. Ayrıca, üzerinde çalıştığım OLED serisinin bir parçası olduğu için bu tür içerikler için kanalıma abone olmayı düşünün. Bu eğlenceli projeyi inşa edersen bana haber ver:)

Bir sonrakine kadar.

Önerilen: