Arduino İle WTV020SD-16P Mp3 Modül Kullanımı

20 1.264

WTV020SD-16P projelere müziği eklemek için mükemmel bir modül. Modül arduino ile kullanılabiliyor.Bu modül ile çalışırken dikkat edilmesi gereken birkaç şey vardır. Örneğin, sadece 2GB micro SD kart ile çalışır ve sadece AD4 formatında müzik dosyasını destekler.AD4 dosya biçimi ve bu modülün nasıl kullanılacağını görelim.

Bu modül iki farklı şekilde çalıştırılabilir.

  1. Arduino olmadan MP3 modu:

Bu modda, AD4 formatındaki müzik dosyalarını temel bağlantısı ile oynanır. Bu en basit şeklidir.

AD4 formotındaki dosyaları sd karta kopyalayalım.Hoparlör, 3.3V regülatörü, anahtarlar ve güç kaynağını bağlayın. Aşağıda verilen devre şemasına bakınız.Bu proje için bir 5V ve 3.3V regülatör kullandık.9V pile ilk önce 5V regülatör ve daha sonra bir 3.3V regülatör bağlanır.

Mp3 dosyasını AD4 formatına dönüştürmek için aşağıdaki adımları takip edelim:

  1. Mp3  dosyasını 16 bit Mono wav uzantılı dosyaya dönüştürelim.
  2. AD4 Conventer programını aşağıdaki buradan indirelim.
  3. Bilgisayarımızın komut istemi penceresini açın.
  4. C: konumunda bir klasör oluşturun ve indirdiğimiz ad4conventer programını ile wav uzantılı dosyaları bu kalsöre atın.Komut isteminde programı çalıştırın.
  5. Program çalıştığında menüler gelecek.Biz E4 modunu kullanacağız.Aşağıdaki gibi örnek müzik dosyasını gösteriyoruz.
  6. AD4 CONVERTER –E4 C:\WavFiles\Track1.wav
  7. Enter tuşuna bastığımızda ad4 formatına dönüşecektir.

2. Arduino ile Mp3 Modu:

Arduino  ile müzik modülü kullanırken  müzik dosyalarının kontrolüne daha fazla esneklik vererek çalışır.

 

Devre Bağlantı Şeması:

Arduino Yazılımı:

#include <Wtv020sd16p.h>
 
int resetPin = 2; // The pin number of the reset pin.
int clockPin = 3; // The pin number of the clock pin.
int dataPin = 4; // The pin number of the data pin.
int busyPin = 5; // The pin number of the busy pin.
 
/*
Create an instance of the Wtv020sd16p class.
1st parameter: Reset pin number.
2nd parameter: Clock pin number.
3rd parameter: Data pin number.
4th parameter: Busy pin number.
*/
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);
 
void setup() {
//Initializes the module.
wtv020sd16p.reset();
}
 
void loop() {
//Plays synchronously an audio file. Busy pin is used for this method.
wtv020sd16p.playVoice(0);
//Plays asynchronously an audio file.
wtv020sd16p.asyncPlayVoice(1);
//Plays audio file number 1 during 2 seconds.
delay(5000);
//Pauses audio file number 1 during 2 seconds.
wtv020sd16p.pauseVoice();
delay(5000);
//Resumes audio file number 1 during 2 seconds.
wtv020sd16p.pauseVoice();
delay(5000);
//Stops current audio file playing.
wtv020sd16p.stopVoice();
//Plays synchronously an audio file. Busy pin is used for this method.
wtv020sd16p.asyncPlayVoice(2);
delay(2000);
//Mutes audio file number 2 during 2 seconds.
wtv020sd16p.mute();
delay(2000);
//Unmutes audio file number 2 during 2 seconds.
wtv020sd16p.unmute();
delay(2000);
//Stops current audio file playing.
wtv020sd16p.stopVoice();
}

Arduino örnek kodumuzda müzik dosyalarının isimlerini sd karta attığımız dosyaların isimleriyle aynı olması gerekir. Aksi halde çalışmaz.

 

Bunları da beğenebilirsin

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

20 Yorum

  1. Berkay Ilıkoba

    Merhaba, acaba iki farklı ses dosyasını nasıl çaldıracağız? Mesela 1. butona basılınca 1. ses dosyası, 2. butona basılınca da 2. ses dosyasını çalsın.

  2. ERTUĞRUL GÜMÜŞ

    sezgin bey selam. ben hastanede çalışıyorum. Hastanemizde engelliler için bir cihaz var. Cihazda düğmeye basınca hoş geldiniz ile başlayan bir ses kaydı var. yalnız ses kaydında Konya havalimanı diyor. bizim ses kaydını hastanemize uyarlamamız gerekiyor.cihaz içindeki sd kartı söktüm. bilgisayara bağladım. içinde ad4 formatında ses kayıtları var. hiç bir programda ses kayıtlarını açamadım. yukarıda vav uzantılı bir ses dosyasının nasıl ad4 ye çevrileceğini madde madde yazmışsınız. gerekli olan ad4converter programını indirme linkine tıkladığımda lin k açılmıyor programı indirebilirsem sorunumu halledebileceğim yardımcı olabilirseniz sevinirim teşekkürler

  3. barış yağcı

    abi helal olsu seni severek takip ediyorum bukonuya ilgi duymamda büyük önemin ver sana çok teşekkür ederim

    1. Sezgin GÜL

      Rica ederim. Projeler yardımcı olduysa ne mutlu . İyi çalışmalar.

  4. bilimadamı

    merhaba.adruino ile denedim.Tüm bağlantıları defalarca denememe rağmen sd moduülde ses çalmıyor,sorun neyden kaynaklanıyor acaba?yardımcı olabilirmisiniz

  5. yasin

    Sezgin Bey iyi çalışmalar;
    Benim yapmam gereken proje, Sd karttaki 10 adet ses dosyasını 10 adet buton ile çalma. Butonlara basıldıkça karşılık gelen sesin çalmasını istiyorum. Bu işlemi wtv020sd16p ile nasıl yapabilirim. Bu işlemi sadece arduino ile yaptım fakat ses yeterli olmuyor. Bu modül işe yarar fakat arduino ile nasıl kullanacağım.

    1. Sezgin GÜL

      mp3 modülle arduino serial haberleşirken sorunlar yaşanıyor. En kolay ve sorunsuz yöntem direk sd kart üzerinden ses dosyası çalma şeklidir. Projeye buradan bakın. http://www.robimek.com/arduino-ile-sd-karttan-mp3-ses-dosyasi-calma/
      Butonların pinlerini giriş olarak ayarlayıp, koşullara butonun durumunu ekleyip karşılık gelen dosyayı çaldırın.
      Örneğin;
      if ( buton_bir == HIGH)
      {
      SdPlay.setFile(“music.wav”);
      SdPlay.play();
      delay( süresi );
      }
      bu şekildeki gibi ekleyebilirsiniz. Yalnız dikkat etmeniz gereken yer ses dosya süresini delay kısmına yazmanız gerekir. Bazen sorun yaşanabiliyor yazılmadığı takdirde.

  6. Muzaffee

    Çok teşekkür ederim peki bu playstop olma durumu yada ileei geri pinleeinin aktifleşmesini nasil önlerim

    1. Sezgin GÜL

      setup kısmına play ekleyebilirsin. Ama yine de bu sorun tam çözülmüyor

  7. Muzaffer

    Ne yapmam gerektiğini anlamadım şuan play moduna geçmediğinden dolayı dediniz bunu nasıl sağlayabilirim ve bekleme yaptırdan kastınız nedir ?

    1. Sezgin GÜL

      modülün 9.pini play stop pinidir.bu pine buton bağlayıp dene. Gecikmeden kasıt projedeki koddaki müzik dosyasından sonra delay bekleme süresi var. O süre müzik dosyasının çalma süresinden fazla olmalı. Örneğin ses dosyası 5 saniye ise ordaki delay 5 saniyeden fazla olmalıdır

      1. Muzaffer

        Farklı bir proje için denedim sizin paylaşmış olduğunuz projede değil delay komutunuda hallettım yıne olmadı . tek başına çalıştırdığımda aynı bağlantılarla koduda direk çalıştır şeklınde yazdım yanı void loop kısmına direk wtv020sd16p.playVoice(4) şeklinde yazdım sürekli olarak o şarkı çaldı mesela burda bı sıkıntı yok ancak else if(voice == “*Yeni yıl şarkısı çal”||voice == “yeni yıl şarkısı çal”)
        wtv020sd16p.playVoice(5);

        şeklinde komut komut yaptığımda ses cıkmıyor sadece fıss diye bır ıkı ses cıkıp susuyor delay olarakta yazdım az once yıne olmadı sizin robimek yapay zeka projenızdekı kodlarada baktım benzer hale getırdım ancak yıne her turlu komutu yapıyor ama ses karşılığı vermıyor mesela led 1 yak dedıgımde ılk once led 1 i yakıyorum diyip led 1 ın yanması gerekırken fıs dıye bır ses cıkıyor ardından komuttan hemen 1 sanıye sonra led yanıyor. lütfen yardımcı olun bu benım ıcın cok onemlı bır proje şimdiden ilginiz için çok teşekkür ederim.

        1. Sezgin GÜL

          wtv020sd16p.playVoice(5); bunun altına delay eklemen lazım. Ama öncelikle o sesin çıkma sebebi play stop olması veya ileri geri pinlerinin birinin aktif olmasından kaynaklıdır.

  8. Muzaffer

    bu sistemi kurdum fakat çalışmıyor bağlantıları
    1.bacak-Arduinonun 8. pinine
    4.bacak-hoparlorun + bacagına
    5.bacak-hoparlorun – bacağına
    7.bacak-Arduinonun 9. pinine
    8.bacak toprak hattına
    10.bacak-Arduinonun 11.pinine
    15.bacak-Arduinonun 10. pinine
    16.bacak-3.3volt ‘a

    şeklinde yaptım kodlarda da bir sıkıntı yok dönüştürme işlemide kusursuz bı sekılde oldu hatta ınternettrekı hazır donusturulmuslerle de denedım ancak ses cıkmıyor ufak bı üfleme sesi gibi birşey cıkıyor ses yerıne aynı sure boyunca nerda hata yapıyorum yardımcı olurmusunuz

    1. Sezgin GÜL

      play moduna geçmediğinden kaynaklı bir de ses dosyalarının çalma sürelerinden fazla bekleme yaptır

  9. Yağız topçuoğlu

    Yukarıda bahsedildiği gibi WAV dosyalarını ad4 türüne çeviriyorum ama sd karta yüklediğim ad4 formatındaki sesler çalışmıyor. Nerede hata yapıyorum acaba?

    1. Sezgin GÜL

      Modül sd kartın 2gb veya 1gb olanlarında çalışıyor.Bir de dosya isimleri rakam şeklin olsun.Ayrıca devre bağlantılarını yenıden kontrol ediniz.Bazı modullerde reset pinine ek olarak 5v da verıliyor.Modülün üzerinde 5v yazısı var ise öyle yapın

      1. YAĞIZ TOPÇUOĞLU

        modül üzerinde 512 mgb kart var ve bu kartta 8 adet ses yüklü onları çalıştırıyor ama ben 9.sesi yüklüyorum benim yüklediğim ses çalışmıyor.modül üzerinde 5v yazısı var.

        1. Sezgin GÜL

          5v yazısı var ise reset pinine yani 1. pine ek olarak arduinodan 5v vereceksiniz.512mb sorun olabilir.Normalde kart 2 gb sd kart ile sorunsuz çalışıyor