BAĞLAN

Arduino ile SD Karttan mp3 Ses Dosyası Çalma

  • Görüntüleme 7124
  • Merhaba arkadaşlar bu uygulamamızda mp3 modül kullanmadan sd karttan wav uzantılı ses dosyalarını okutup çalacağız. Önceki projemizde wtv020 mp3 modül kullanarak bu işlemi yapmıştık. Bu uygulamada ise bu modülü kullanmadan aynı tarz ses dosyalarını çaldıracağız.

    Malzemeler:

    1. Arduino
    2. Sd kart Modül
    3. Hoparlör
    4. sd kart ve adaptörü

    Elektronik Kısım:

    Devrenin fritzing çizimini buradan indirebilirsiniz.Şekildeki gibi devre bağlantılarımızı yapalım. Sd kart modül SPI protokolüne göre haberleştiği için arduino modellerinde SPI pinleri değişiklik gösterir. Farklı model kullanırsanız pinlerini o modelin SPI pinlerine göre takmalısınız.

    Mp3 dosyasını wav formatına dönüştürmelisiniz. Online wav conventer sitesinde dönüştürme işlemini yapabilirsiniz. Mp3 dosyasını aşağıdaki gibi 8 bit 32000 Hz Stereo olarak ayarlayıp convert file butonuna tıklayın. İndirdiğiniz dosyaları direk sd kartınıza yükleyin.

    Yazılım Kısmı:

    Mp3 modül kullanmadan sd karttan audio wav ses dosyası olarak çalmak için kütüphane kullanıyoruz. Aşağıdaki bağlantıdan kütüphaneyi indirebilirsiniz.

    Kütüphane : SimpleSDAudio

    Örnek kod:

    #include <SimpleSDAudio.h>
     
    void setup()
    { 
     
     SdPlay.setSDCSPin(4); // sd kart cs pini
     
     if (!SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER))
     {
     while(1); 
     } 
     
     if(!SdPlay.setFile("music.wav")) // müzik dosya adı
     {
     while(1); //dosya bulunamassa durdur
     } 
    }
     
    void loop(void) {
     
     SdPlay.play(); // seçilen dosyayı çal
     
     while(!SdPlay.isStopped()) { // müzik bittiğinde tekrar çal
     ; 
     }
    }

     

    Hoparlörün artı pini arduino mega hariç diğer modellerde dijial 9. pine, arduino megada ise dijital 44. pine takınız. Kodda hoparlör pinini belirtmiyoruz. Kütüphane otomatik olarak bu pinlerden çıkış vermiş.

    Uygulamamız bu kadar. Önceki projelerimizden sesli renk okuyucu yapmıştık. Fakat onda wtv020 mp3 modül kullanmıştım. Bu uygulamaya göre uyarladım. Aşağıda kodunu alabilirsiniz.

    // Sesli Renk Okuyan Robot Projesi by Robimek 2015
    // Yazılım lisans by Robimek
    // www.robimek.com
    #include <SimpleSDAudio.h>
    #include "Wire.h"
    #include "Adafruit_TCS34725.h"
     
    Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_1X);
    void setup() {
    Serial.begin(9600);
     
    if (!SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER)) {
     while(1); 
     }
     SdPlay.setSDCSPin(4);
    if (tcs.begin()) {+-
    Serial.println("Sensör bulundu");
    } else {
    Serial.println("TCS34725 Sensör bulunamadı !");
    while (1); // Dur!
    }
    delay(1000);
     
    }
    void loop() {
     
    uint16_t clearcol, red, green, blue;
    float average, r, g, b;
    tcs.getRawData(&red, &green, &blue, &clearcol);
     
    average = (red+green+blue)/3;
    r = red/average;
    g = green/average;
    b = blue/average;
    Serial.print("\tTEMİZ:"); Serial.print(clearcol);
    Serial.print("\tKIRMIZI:"); Serial.print(r);
    Serial.print("\tYEŞİL:"); Serial.print(g);
    Serial.print("\tMAVİ:"); Serial.print(b);
     
    if ((r > 1.4) && (g < 0.9) && (b < 0.9)) { // kırmızı algılama
    Serial.print("\tKIRMIZI");
     SdPlay.setFile("kırmızı.wav"); 
     SdPlay.play();
    }
    else if ((r < 0.95) && (g > 1.4) && (b < 0.9)) { // yeşil algılama
    Serial.print("\tYEŞİL"); // yeşil söyle
     SdPlay.setFile("yesil.wav"); 
     SdPlay.play();
    }
    else if ((r < 0.8) && (g < 1.2) && (b > 1.2)) { // mavi algılama
    Serial.print("\tMAVİ"); // mavi söyle
     SdPlay.setFile("mavi.wav"); 
     SdPlay.play();
    }
    else if ((r > 1.15) && (g > 1.15) && (b < 0.7)) { // sarı algılama Serial.print("\tSARI"); // sarı söyle } else if ((r > 1.4) && (g < 1.0) && (b < 0.7)) { // turuncu algılama
    Serial.print("\tTURUNCU"); // turuncu söyle
     SdPlay.setFile("turuncu.wav"); 
     SdPlay.play();
    }
    else {
    Serial.print("\tRENK ALGILANMADI");
     
    }
    Serial.println("");
     
     
    }

    PAYLAŞ

    Sezgin GÜL

    Makine Mühendisi, Maker, Robotik Sistemler Uzmanı

    38 Yorum "Arduino ile SD Karttan mp3 Ses Dosyası Çalma"

    1. eren
      27 Aralık 2016

      Mp3 mü çalmış oldu şimdi bu proje?

      Cevapla
    2. Sena
      20 Aralık 2016

      Merhaba ben sd kart modülünün bağlantılarını yaptığımda karta kodu atarken hata veriyor. Karta yüklenirken sorun oluştu diyor ama sd modülü çıkarınca hatasız kod yükleniyor. Çalıştıramadım yardım ederseniz çok sevinirim.

      Cevapla
      • Sezgin GÜL
        Sezgin GÜL
        22 Aralık 2016

        merhaba, sd kart takılı olsa bile kodu yüklerken hata vermez normalde. çıkarınca yükleme yaptıysa da sorun yok. yükleme yaptığınız halde çalışmıyor ise dosya formatlarında ya da sd kart iletişiminde sorun vardır.

        Cevapla
    3. ömer
      9 Aralık 2016

      .merhaba
      Başlıkta her nekadar mp3 yazsa da sizinki wav player. Neden mp3 ibaresini kullandınız merak ettim

      Cevapla
    4. heosıs
      8 Aralık 2016

      arkadaşlar bitirme ödevim biri bana yardımcı olabilir mi rica etsem birkaç sorum olacaktı.

      Cevapla
    5. yakup
      11 Kasım 2016

      aruıno yu amfii yeri ne kullanabilirmiyiz

      ses yükseltme telefon

      Cevapla
    6. Mehmet
      8 Ekim 2016

      Merhaba. Sd kart modülündeki sesi sorunsuz çaldırabiliyoruz. Ancak projemizde
      Servo motor oldugu icin Sd card kütüphanesi ve servo kütüphanesi çakışıyor. Bir öneriniz varmı ? Teşekkürler

      Cevapla
      • heosıs
        8 Aralık 2016

        kardeş benimle bir iletişime geçebilir misin birkaç sorum olacaktıda.

        Cevapla
    7. robotist
      22 Eylül 2016

      merhaba bu sd kartlı modül gibi başka hangi markalar var tercih edeceğiniz

      Cevapla
    8. MeSerdar
      28 Ağustos 2016

      Merhaba. Sd kart modülündeki sesi sorunsuz çaldırabiliyoruz. Ancak projemizde
      Servo motor oldugu icin Sd card kütüphanesi ve servo kütüphanesi çakışıyor. Bir öneriniz varmı ? Teşekkürler

      Cevapla
    9. mo
      13 Ağustos 2016

      acaba birden çok ses kaydını bir tuşla random duyma istediğimde ne yapmam gerekiyor, yardımcı olabilir misiniz?
      şöyle bir instruction var: instructables.com/id/Playing-Wave-file-using-arduino/
      ama sizin yaptığınız gibi daha basit bir sistemin üzerinden nasıl ilerlenebilir?

      Cevapla
    10. Medjai
      9 Haziran 2016

      Greetings!
      Good decision, but please help.
      How to make that sound starts when you press the button? And stops after its release as a car horn.
      And whether it is possible to make some buttons with different sounds?
      Thanks for the help!

      Cevapla
    11. fatih
      2 Haziran 2016

      sketch_jun0002b.ino:5:48: fatal error: TMRpcm.h: No such file or directory hatası veriyor programda

      Cevapla
      • Sezgin GÜL
        2 Haziran 2016

        TMRpcm kütüphanesini indirip ekle.

        Cevapla
        • fatih
          8 Haziran 2016

          ardunio due ye göre yapmaya çalışırıyorum ama avr sam hatası da veriyor kütüphaneleri yüklememe rağmen hata veriyor program yardımcı olur musunuz ?

          Cevapla
    12. DuinoGuy
      18 Mayıs 2016

      Transistor kullanmanız gerek. Yukarıdaki devrede kullanılmamış. Cızırtı olması çok normal. 2n2222 veya bc546, bc548 kullanabilirsiniz.

      Cevapla
    13. Burak Özgür
      15 Mayıs 2016

      Teşekkür ederim sorun çözüldü ses geliyor fakat bir cızırtı var 5v bir anfi bağladık düzelmedi o konuda yardımcı olur musunuz?

      Cevapla
    14. Burak Özgür
      15 Mayıs 2016

      Sezgin abi üniversite bitirme projemiz var yardımcı olur musunuz bir tek sorun yaşıyoruz mp3 dosyasını wav uzantılı dosyasına çevirir iken çok takıldık ses kaydımızı dönüştürmeye çalışıyoruz nafile olmuyor 5w hoparlör kullanıyoruz sesin çıktığını anlıyoruz ritim den fakat ses anlaşılmaz bir durumda sorun dönüşümden kaynaklanıyor ola bilirmi ?

      Cevapla
      • Sezgin GÜL
        15 Mayıs 2016

        8bit 32000 hz stereo olarak çevirin
        Ayrıca kod kısmında da ses dosyasından sonra gecikme vermeniz lazım.
        örnek;
        SdPlay.setFile(“ses.wav”);
        SdPlay.play();
        delay(5000); >> ses dosyası çalma süresinin üzerinde gecikme verin

        Cevapla
    15. CAN
      2 Mayıs 2016

      Merhabalar nerede hoparlörü nereden temin edebilirim 0.5W hoparlör yeterli olur mu ? Yoksa düşük mü gelir sesi ?

      Cevapla
    16. sema
      28 Nisan 2016

      Bir soru sorabilir miyim?Ben renkli ses okuyucuyu yapmak istiyorum ama ya renki tanıdı ya da ses bir geldi bir gelmedi.Benim renk sensörüm tcs3200 .Pin bağlantılarını nasıl yapmalıyım çünkü sd card ile renk sensörü pinleri aynı yerler .Çok az zamanım kaldı nasıl yapmalıyım? sd card fail yazdı .Çok renk olmasına bile gerek yok sadece 3 renk dese yeter.

      Cevapla
      • sema
        28 Nisan 2016

        tcs3200 renk sensörüyle ilgili doğru düzgün hiç bir bilgi yok. Amacım neydi bu sensörü almakta ama artık geçti ve yine hiçbir şeyi çalıştıramadım.

        Cevapla
        • Sezgin GÜL
          28 Nisan 2016

          TCS34725 rgb renk sensörünü kullanın sorunsuz çalışıyor. Yukarıda projenin altında sesli okuma kodu da var.

          Cevapla
          • sema
            1 Mayıs 2016

            ama elimde tcs3200 var onunla ne yapabilirim?

            Cevapla
    17. Salih
      15 Nisan 2016

      SdPlay.play(); kısmı boşmu kalacak ?

      Cevapla
      • Sezgin GÜL
        15 Nisan 2016

        boş mu kalacak derken? şu şekilde fonksiyondaki parantezin için boş olacak. bu fonksiyon önceden belirlenen dosyayı çaldırır.

        Cevapla
    18. serdar
      31 Mart 2016

      SdPlay was not declared in this scope uyarısı alıyorum hocam …

      Cevapla
      • Sezgin GÜL
        31 Mart 2016

        aynı kodu derlerken almışsan ya kütüphane eklemedin ya da arduino sürümünden kaynaklı kütüphane çalışmıyor olabilir.

        Cevapla
        • 5 Nisan 2016

          sezgin bey telinizi vere bilir misiniz
          bilecik şeyhedebali ünisinde okuyorum bu devreyi şipariş verdim yapamazsam kalıyom yardım eder msiniz?

          Cevapla
    19. asker
      25 Mart 2016

      öncelikle ellerine sağlık bir sorum olucaktı peki 3 bacaklı haporlörü nasıl bağlaya biliriz biri VCC diğeri GND, birde OUT var bunları nasıl bağlaya biliriz?

      Cevapla
      • Sezgin GÜL
        25 Mart 2016

        jak uçlu olan hoparlörden bahsediyorsan kablolardan biri gnd diğer ikiside sağ ve sol kısımdır. Masaüstü olanlarda ise out sinyal pinine diğerleri de enerji pinlerine takılır.

        Cevapla
        • asker
          24 Nisan 2016

          teşekkürler dostum kolay gelsin

          Cevapla
    20. selçuk
      12 Mart 2016

      Hocam sd kartın kaç gb olduğunun bi önemi var mı? İllaki micro sd kart+adaptör mü olması gerekiyor yoksa direk adaptör boyutundaki sd kartlar olur mu?

      Cevapla
      • Sezgin GÜL
        12 Mart 2016

        Sd kartın boyutu fark etmiyor. İstediğini kullan. Fakat ses dosyalarının isimlerinin uzunluğu 5-6 karakteri geçmemeli. Aksi halde okumaz.

        Cevapla
      • Sezgin GÜL
        13 Mart 2016

        Büyük sd kartlar modüle boyut olarak uyumlu ise kullanabilirsin.

        Cevapla
      • 19 Haziran 2016

        olur olur

        Cevapla

    Bir yorum yaz

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Projeler Devamı

    Bizi Takip Et

    izmir escort- izmir escort- izmir escort- izmir escort- izmir escort