Yazılardaki ürünleri komponentci.net'te inceleyebilir, hemen sipariş verebilirsiniz.komponentci.net →
KomponentciBlog Mağaza

DFPlayer Mini ile Arduino MP3 Çalar Nasıl Yapılır?

DFPlayer Mini ile Arduino MP3 Çalar Nasıl Yapılır?
Kısa cevap

DFPlayer Mini, microSD karttaki MP3 dosyalarını çalan ve küçük bir hoparlörü doğrudan sürebilen bir ses modülüdür. Arduino ile seri port üzerinden 9600 baud hızında haberleşir. Arduino TX hattına seri 1 kOhm direnç koyup DFRobotDFPlayerMini kütüphanesini kullanarak birkaç satır kodla parça çalabilirsiniz.

Bir oyuncağa ses eklemek, kapı açılınca karşılama mesajı çalmak ya da sesli bir uyarı sistemi kurmak için Arduino'ya ses çaldırmanız gerekir. Arduino tek başına MP3 çözemez; bu işi DFPlayer Mini modülü yapar. Bu yazıda kartın bağlantısını, microSD kartın hazırlanmasını ve örnek kodu adım adım anlatıyoruz.

DFPlayer Mini nedir?

DFPlayer Mini, microSD karttaki MP3 ve WAV dosyalarını çözüp çalan, üzerinde küçük bir hoparlör amfisi bulunan ve seri port komutlarıyla kontrol edilen kompakt bir ses modülüdür. Arduino yalnızca "şu parçayı çal" ya da "sesi ayarla" komutlarını gönderir; dosya okuma ve ses çözme işini modül kendisi yapar. Mağazamızdaki DFRobot Mini MP3 Player modülü bu karttır.

Hangi parçalara ihtiyacınız var?

Bir Arduino, DFPlayer Mini, bir microSD kart, küçük bir hoparlör ve bir 1 kOhm direnç yeterlidir.

DFPlayer Mini pinleri ne işe yarar?

Modülün bir tarafında besleme, seri port ve ses çıkışı pinleri, diğer tarafında ise durum ve buton pinleri bulunur. En sık kullanılanlar şunlardır:

PinGöreviBağlantı
VCCBesleme (3,2-5V)Arduino 5V
GNDToprakArduino GND
RXSeri veri girişi1 kOhm direnç üzerinden Arduino TX (D11)
TXSeri veri çıkışıArduino RX (D10)
SPK_1 / SPK_2Hoparlör çıkışı (dahili amfi)Hoparlörün iki ucu
DAC_R / DAC_LHat seviyesi ses çıkışıHarici amfi girişi
BUSYÇalarken düşük seviyeye inerİsteğe bağlı, dijital giriş

DFPlayer Mini Arduino'ya nasıl bağlanır?

DFPlayer Mini, Arduino'ya iki seri hat, besleme ve toprak ile bağlanır; Arduino'nun TX hattına seri 1 kOhm direnç konur. Uno'nun donanım seri portu USB ile paylaşıldığı için örnekte SoftwareSerial ile D10 ve D11 kullanılır.

  1. DFPlayer VCC'yi Arduino 5V'a, GND'yi GND'ye bağlayın.
  2. Arduino D11 (yazılımsal TX) pinini 1 kOhm direnç üzerinden DFPlayer RX pinine bağlayın.
  3. DFPlayer TX pinini Arduino D10 (yazılımsal RX) pinine bağlayın.
  4. Hoparlörün iki ucunu SPK_1 ve SPK_2 pinlerine bağlayın. Uçlardan hiçbirini GND'ye bağlamayın.
  5. Hazırladığınız microSD kartı modüle takın, ardından Arduino'ya güç verin.

1 kOhm direnç neden gerekli? DFPlayer Mini'nin seri port seviyesi 3,3V'tur; 5V Arduino'nun TX hattı ile doğrudan bağlandığında modül hatta gürültü üretebilir ve hoparlörden vızıltı duyulabilir. Seri direnç akımı sınırlar ve bu sorunu büyük ölçüde giderir. Hoparlör seçimi ve empedans konusunu hoparlör nasıl bağlanır yazısında anlattık.

microSD kart nasıl hazırlanır?

microSD kart FAT32 (ya da FAT16) olarak biçimlendirilir ve dosyalar numaralı adlarla kaydedilir. Modül en fazla 32 GB'lık kartları destekler; daha büyük kartlar genelde exFAT ile gelir ve tanınmaz.

  • Kök dizindeki dosyaları 0001.mp3, 0002.mp3 gibi dört haneli adlarla kaydedin.
  • Klasör kullanacaksanız klasörleri 01, 02 şeklinde, içindeki dosyaları 001.mp3, 002.mp3 şeklinde adlandırın.
  • mp3 adlı özel klasördeki 0001.mp3 gibi dosyalar adıyla çalınabilir; sıranın karışmasını istemiyorsanız bu yöntem en güvenlisidir.
  • Dosyaları tek tek ve sırayla kopyalayın; işletim sisteminin oluşturduğu gizli dosyalar sırayı bozabilir.

Örnek kod nasıl yazılır?

Arduino IDE'de Kütüphane Yöneticisi'nden "DFRobotDFPlayerMini" kütüphanesini kurun. Aşağıdaki kod modülü başlatır, ses seviyesini ayarlar ve ilk parçayı çalar.

#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>

SoftwareSerial mp3Seri(10, 11);   // RX, TX (TX -> 1 kOhm -> DFPlayer RX)
DFRobotDFPlayerMini oynatici;

void setup() {
  Serial.begin(115200);
  mp3Seri.begin(9600);
  if (!oynatici.begin(mp3Seri)) {
    Serial.println("DFPlayer bulunamadi: kabloyu ve SD karti kontrol edin");
    while (true) delay(1000);
  }
  oynatici.volume(20);      // 0-30 arasi
  oynatici.play(1);         // karttaki ilk parca
}

void loop() {
  // Ornek: bir butona basilinca oynatici.next(); ile sonraki parca
}

Kütüphanede sık kullanılan diğer komutlar: next() sonraki parça, previous() önceki parça, pause() ve start() duraklatma ve devam, playFolder(1, 3) 01 klasöründeki 003 dosyası, playMp3Folder(5) mp3 klasöründeki 0005 dosyası, loop(2) ikinci parçayı tekrar.

Ses kalitesi nasıl iyileştirilir?

Ses kalitesini en çok besleme gürültüsü ve hoparlör seçimi etkiler. Modül çalarken besleme hattına VCC ile GND arasına 100 µF civarında bir elektrolitik kondansatör eklemek, ses yüksekken oluşan gerilim düşmelerini azaltır. Dahili amfi küçük hoparlörler içindir; daha yüksek ses istiyorsanız DAC_R ve DAC_L çıkışlarını harici bir amfiye bağlayın.

Sesi yükseltirken bozulma duyuyorsanız ses seviyesini birkaç adım düşürün ya da MP3 dosyalarının kendi seviyesini bir ses düzenleyicide normalleştirin. USB'den beslenen Arduino'da yüksek seste kart yeniden başlıyorsa modülü ayrı bir 5V kaynaktan besleyin ve toprakları ortaklayın.

Sık sorulan sorular

DFPlayer Mini neden başlamıyor?

En sık nedenler yanlış bağlanmış TX ve RX hatları, biçimlenmemiş ya da 32 GB'tan büyük kart ve yetersiz beslemedir. Önce TX ile RX'in çapraz bağlandığını kontrol edin. Kartı FAT32 olarak yeniden biçimlendirip yalnızca bir MP3 dosyası koyarak deneyin. Kodda begin fonksiyonunun dönüş değerini seri monitöre yazdırmak sorunu bulmayı kolaylaştırır.

play(1) neden beklediğim parçayı çalmıyor?

play komutu dosya adına değil, dosyaların karta kopyalanma sırasına göre çalışır. Dosyaları farklı sırayla kopyaladıysanız ya da kartta gizli sistem dosyaları varsa numaralar kayabilir. Kesin sonuç için dosyaları mp3 klasörüne koyup playMp3Folder komutunu ya da numaralı klasörlerle playFolder komutunu kullanın.

Hoparlörden vızıltı geliyorsa ne yapmalıyım?

Önce Arduino TX hattında 1 kOhm direnç olduğundan emin olun. Ardından besleme hattına bir kondansatör ekleyin ve modülün toprağını kısa bir kabloyla Arduino'ya bağlayın. USB beslemesi bilgisayardan gürültü taşıyabilir; projeyi bir adaptör ya da pille çalıştırıp farkı dinleyin. Hoparlör kablolarını kısa tutmak da gürültüyü azaltır.

DFPlayer Mini ESP32 ile çalışır mı?

Evet, DFPlayer Mini ESP32 ile de çalışır ve 3,3V lojik seviyeleri uyumlu olduğu için seviye sorunu azalır. ESP32'de SoftwareSerial yerine donanım seri portlarından biri, örneğin Serial2, kullanılır. Kütüphane ve komutlar aynıdır; yalnızca seri portu başlatırken kullandığınız RX ve TX pinlerini belirtmeniz gerekir.

Hangi hoparlörü kullanmalıyım?

Dahili amfi için 4 ya da 8 ohm, gücü 3W'ı aşmayan küçük bir hoparlör uygundur. Üreticinin belirttiği çıkış gücü 3W'a kadardır; bu gücü almak için yeterli besleme ve düşük empedanslı hoparlör gerekir. Daha büyük hoparlörler için DAC çıkışlarını harici bir amfiye bağlamak daha doğru sonuç verir.

Özet

  • DFPlayer Mini, microSD karttaki MP3 dosyalarını çalar ve Arduino ile 9600 baud seri port üzerinden haberleşir.
  • Arduino TX ile modül RX arasına 1 kOhm direnç koyun; bu, gürültüyü ve seviye sorununu azaltır.
  • Kartı FAT32 biçimlendirin, en fazla 32 GB kullanın ve dosyaları numaralı adlarla kaydedin.
  • Küçük hoparlörü doğrudan SPK_1 ve SPK_2'ye, büyük sistemleri DAC çıkışları üzerinden amfiye bağlayın.
  • Sıra karışıklığını önlemek için playMp3Folder ya da playFolder komutlarını tercih edin.

Bu yazıdaki ürünler

Diğer yazılar

09 Kasım 20266 dk okuma

Arduino Park Sensörü Projesi: Adım Adım Yapılışı

Arduino park sensörü, HC-SR04 ultrasonik mesafe sensörü, bir buzzer ve LED'lerle yapılabilen basit bir projedir. Sensör engele olan mesafeyi...

Devamını oku →
09 Kasım 20266 dk okuma

Dimmer Nedir? Dimmer Modülü Nasıl Bağlanır?

Dimmer, bir yüke giden gücü azaltarak lambanın parlaklığını ya da motorun devrini ayarlayan bir devredir. 220V AC tarafında genellikle triya...

Devamını oku →
09 Kasım 20265 dk okuma

NFC Nedir? NFC Kart ve Etiket Çeşitleri

NFC, 13,56 MHz frekansında birkaç santimetre mesafede çalışan kısa menzilli bir kablosuz haberleşme teknolojisidir. Telefonla temassız ödeme...

Devamını oku →
09 Kasım 20265 dk okuma

Kablo Pabucu Çeşitleri: Seçim ve Doğru Sıkma

Kablo pabucu, kablonun ucuna sıkılarak onu bir vida, cıvata ya da bara bağlantısına güvenli şekilde bağlayan metal uçtur. Başlıca çeşitleri...

Devamını oku →
09 Kasım 20266 dk okuma

Kuluçka Makinesi Nasıl Yapılır? Adım Adım Rehber

Kuluçka makinesi; yalıtımlı bir kutu, ısıtıcı, sıcaklık ve nem kontrol eden bir termostat, hava dolaşımı için fan ve yumurtaları çeviren bir...

Devamını oku →
09 Kasım 20266 dk okuma

ESP32 Hava İstasyonu Projesi: Sensörler, Kod ve Web Sayfası

ESP32 hava istasyonu, bir ESP32 kartına BME280 gibi bir sıcaklık-nem-basınç sensörü, isteğe bağlı yağmur ve ışık sensörü ile OLED ekran bağl...

Devamını oku →