Merhaba, bugün arduino ile kapı zili müziğini istediğiniz gibi değiştirmenizi sağlayacak bir proje yapacağız.
[embedyt] https://www.youtube.com/watch?v=JquDqBf_Jwo[/embedyt]
Bu proje için şu malzemeler gerekli:
Malzeme Listesi
- Arduino Uno
- Minimum 8 ohm 5 watt hoparlör (Kapı zilinin kendi hoparlörü de olur)
- SD kart modülü ve modül ile uyumlu herhangi bir SD kart
- Buton
- Direnç (220ohm, 1K, 10K, 22K vs. olabilir)
- Erkek-erkek jumper kablo
- İsteğe bağlı olarak; müzik sesini yükseltmek için TDA2030 Amfi Modülü kullanabilirsiniz.
İlk önce devremizi oluşturalım.
Arduino ile Kapı Zili Müziği Devresi
Devremizi Tanıma
Öncelikle SD kart modülünden bahsetmek istiyorum. SD kart modülünde güç pinleri dışında kullandığımız MOSI, MISO, SCK ve CS pinleri var. SCK pini seri haberleşmeyi sağlayan, veri iletimini senkronize eden pindir. CS ya da diğer adıyla SS (Slave Select) pini ise Arduino tarafından SD kart modülümüzü aktifleştirmek için kullanılır. MOSI (Master Out Slave In) pini SD kart modülüne SPI girişi ve MISO (Master In Slave Out) pini SD kart modülünden SPI çıkışıdır.
Peki SPI nedir? SD kartlarla bağlantı kurmanın iki yolu vardır; SPI veya SDIO modları. SDIO modu çok daha hızlıdır ve cep telefonlarında vs. kullanılır. Ancak karmaşıktır. Bu nedenle biz bu projemizde her SD kart modülü ile uyumlu ve basit olan SPI modunu kullanıyoruz
Hoparlörümüzün GND hattı Arduino’daki GND ye giderken diğer kablosu Arduino’nun 9. pinine bağlı olmakla beraber 9. pinden gelecek bilgiye göre hoparlörümüz ses çıkışı verecektir.
Ayrıca SD kartın MOSI, MISO, SCK pinleri ve hoparlörümüzün sinyal kablosunun bağlanması gereken yerler kullanacağımız kütüphanede önceden belirlendiği için bu pinlerin yerini değiştiremiyoruz.
Müzik Dosyamızı Hazırlama
Şimdi sırada müzik dosyamızı hazırlamak var. Arduino’ da müzik dosyası çalabilmemiz için dosyamızın .wav uzantılı olması gerekiyor. Peki neden? Hemen açıklayalım. Öncelikle müzik dosyası uzantılarını “Sıkıştırılmamış” (.wav), “Sıkıştırılmış Kayıpsız” ve “Sıkıştırılmış Kayıplı” (.mp3) olarak 3 e ayırmak mümkün. Her ne kadar günlük hayatımızda .mp3 uzantılı müzik dosyalarını çok görsek de bu onun en iyi olduğu anlamına gelmiyor. Sıkıştırılmamış olanlar diğerlerine göre daha yüksek kaliteye sahip olsalar da dosya boyutlarının büyük olması gibi bir dezavantajları var ve bu yüzden birçok platformda tercih edilmiyor. Sıkıştırılmış olanlar ise isminden de anlaşılacağı gibi dosya boyutu çözünürlük ve kaliteden ödünç verilerek küçültülmüş olanlardır. Bu yüzden Arduino, Raspberry Pi gibi platformlarda her ne kadar boyutları büyük olsa da .wav uzantılı dosyaların kullanımı daha doğrudur.
Ben projem için Barış Manço’nun “Sarı Çizmeli Mehmet Ağa” şarkısının giriş kısmını kullanmak istedim. Şarkımı ilk önce .mp3 uzantılı dosya türüne çevirmem gerek. Dönüştürme işlemi için herhangi bir “Youtube mp3 Converter” sitesini kullanabilirsiniz.
Şarkımızı .mp3 uzantılı dosya türüne çevirdikten sonra şimdi .mp3 -> .wav dönüşümünü gerçekleştirelim. Bu işlem için bu siteyi kullanmanızı tavsiye ederim. Ayarlarımızı görseldeki gibi yapılandırmayı unutmayalım.
Ayarlarımızı yapılandırdıktan sonra dosyamızı indirip, SD kartımızın içine atalım.
Resimde “Hz” kısmı sesin tizliğini, “Bit” ise kalitesini belirliyor desek yanlış olmaz. Kanalı “Mono” seçmemizin sebebi ise tek hoparlör ile çalışmamızdan kaynaklanmaktadır.
Detayları da bitirdiğimize göre kodumuza geçebiliriz.
Arduino ile Kapı Zili Müziği Kodları
#include <SimpleSDAudio.h> //ses çalma kütüphanesi
#define Buton 8 //butonumuzun bağlı olduğu pin
void setup() {
pinMode(Buton, INPUT);
SdPlay.setSDCSPin(4); // sd cart cs pini
if (!SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER)) //*
{
while(1);
}
if(!SdPlay.setFile("music.wav")) // müzik dosyamızın adını girelim (.wav uzantılı olmasına dikkat edelim)
{
while(1); //dosya bulunamazsa sonsuz döngüye gir
}
}
void loop() {
if (digitalRead(Buton) == HIGH){ //butona basılmışsa...
SdPlay.play(); // seçilen dosyayı çal
delay(10000); // kaç saniye çalmasını istediğimizi söylüyoruz. (10 sn)
}
else{ // buton basılı değilse...
SdPlay.stop(); //durdur
}
}
* “Simple SD Audio” kütüphanesi hakkında daha fazla bilgi için tıklayın.
Proje ile İlgili Karşılaşabileceğiniz Sorunlar
1.Hoparlörden Ses Gelmiyor
- Hoparlörünüzün doğru çalıştığından emin olun
- SD kartın modülünün bağlantılarını kontrol edin
- Müziğin ismini ve uzantısının doğruluğunu kontrol edin.
2.Hoparlörden Ses Çok Az Geliyor
- Amfi kullanmayı düşünebilirsiniz ( TDA2030 Amfi Modülü benim işimi gördü)
- Daha büyük bir hoparlör kullanabilirsiniz.
3. Ses Çok Hışırtılı Geliyor
- Amfinizin potansiyometresi varsa direnci düşürmeyi deneyin.
- Kablolarınızı yalıtabilirsiniz.
Projeyle ilgili her türlü sorunuz için bu gönderinin altına yorum yapabilir ya da mail adresimden bana ulaşabilirsiniz.
İyi çalışmalar dilerim.
#ProjeBaşlasın
Merhaba bağlantılar yaptım ama ses çok cızırtılı geliyor amfiyi takıyorum yine aynı neden kaynaklanıyor yardımcı olabilir misiniz