DFPlayer Mini MP3 Çalar

Merhaba; Arduino ile kolayca bir Mp3 Çalar yapabilmeniz için DFPlayer Mini MP3 Çalar modülü hakkındaki tüm bilgileri sizler için derledik. Keyifli okumalar dileriz.
Arduino için DFPlayer Mini MP3 Player, hoparlör için doğrudan çıkışa sahip küçük bir MP3 modülüdür. Modül, pil, hoparlör ve basma düğmelerine sahip bağımsız bir modül olarak veya bir Arduino UNO veya RX / TX özelliklerine sahip başka bir denetleyici ile birlikte kullanılabilir. Müzik verileri bir mikro SD kartta saklanır.
Özellikler
- Desteklenen örnekleme hızları (kHz): 11.025.12/12/16/22.05/24/32/44.1/48
- 24 -Bit-DAC çıkışı, dinamik aralık 90dB, SNR-Unterstützung 85dB desteği
- Tam destek FAT16, FAT32 dosya sistemleri, maksimum destek 32GB TF kart, U-Disc'in 32G'si, 64M Bayt NORFLASH
- Çeşitli kontrol modları, I/O kontrol modu, seri mod, AD tuşu kontrol modu
- Reklam ses bekleme işlevi, müzik kesilebilir. reklam bittiğinde, müzik çalmaya devam edecek
- Klasörlere göre sıralanmış ses verileri, 100 klasöre kadar destekler, her klasör 255 şarkıya kadar tutabilir
- Ses seviyesi 30 seviyeye ayarlanabilir, EQ 6 seviyeye ayarlanabilir
- Araç navigasyonunun ses iletimi
- Tren istasyonlarında ve araçlarda sesli talimatlar
- Elektrik, iletişim ve finans alanlarında sesli talimatlar
- Kamu güvenliği ses istemleri
- Çok kanallı sesli alarm veya ekipman kullanım talimatları
- Elektrikli turist arabasıyla güvenli sürüş için sesli talimatlar
- Elektromekanik ekipman arızası durumunda alarm
- Yangın alarmı için sesli talimatlar
- Otomatik vericiler, düzenli yayın
Pin Atamaları

pin | tanım | açıklama |
vcc | giriş voltajı | DC3,2~5,0V;Typ: DC4,2V; TYP: DC4,2V |
RX | seri UART girişi | |
TX | seri UART çıkışı | |
DAC_R | sağ kanal ses çıkışı | kulaklık ve amplifikatör |
DAC_L | sol kanal ses çıkışı | kulaklık ve amplifikatör |
SPK2 | hoparlör – |
3W'tan daha küçük hoparlör |
GND | GND | GND |
SPK1 | hoparlör + |
3W'tan daha küçük hoparlör |
IO1 | tetikleme konnektörü 1 | önceki parçayı çalmak için kısa basın, sesi azaltmak için uzun basın |
GND | GND | GND |
IO2 | tetikleme konnektörü 2 | sonraki parçayı çalmak için kısa basın, sesi artırmak için uzun basın |
ADKEY1 | AD konnektör 1 | ilk segmenti tetikle |
ADKEY2 | AD konnektör 2 | beşinci segmenti tetikle |
USB+ | USB* DP | USB port |
USB- | USB- DM | USB port |
BUSY | çalma durumu |
DÜŞÜK, oynama anlamına gelir, YÜKSEK, oynama anlamına gelir
|
Arduino ile kullanım
DFPlayer Mini farklı çalışma modlarına sahiptir. Bunlar arasında, komutların bilgisayarın seri bağlantı noktası üzerinden alınabileceği Seri mod, birçok düğmenin belirli seri dirençlerle okunabileceği AD Tuş Modu (Tek Başına) ve Arduino kartıyla kullanıldığında kullanılan I/O modu bulunur. Aşağıdaki, bu öğretici ikinci durumda ele alacaktır.
Arduino ile I/O Modu
DFPlayer Mini'nin I/O modunda Arduino ve DFPlayer arasında seri bir iletişim kullanılır. Kontrol sinyalleri daha sonra özel bir program kütüphanesi aracılığıyla doğrudan oynatıcıya gönderilebilir.
Kablolama diyagramı: Arduino ile DFPlayer Mini
DFPlayer önce 5V+ ve GND'ye bağlanır, daha sonra RX ve TX pimleri Arduino pinleri 10 ve 11'e bağlanır. Arduino'nun (0 ve 1) yerel RX ve TX pinlerini engellememek için yazılım seri kitaplığını kullanıyoruz. Diğer pinlerde ikinci bir seri bağlantı noktası kullanılmasına izin verir. Yapılacak son şey, bir hoparlörü DFPlayer'a bağlamaktır. Alternatif olarak, hoparlör yerine DAC_L, DAC_R ve GND pinlerine bir ön yükseltici veya kulaklık bağlamak mümkün olacaktır. Yani burada bir stereo çıkışı da mümkün olacaktır.
Bileşenler
- Arduino Seti, BreadBoard, Kabel vb.
- DFPlayer Mini
- MicroSD kart
- Hoparlör
SD Kart
SD kartın FAT16
veya FAT32 biçiminde biçimlendirilmesi gerekir. Mac'te,
bölüm tablosunun da ana önyükleme kaydına ayarlı olması gerekir. Bu ayar
yapılmazsa, SD kart tanınmaz ve DFPlayer modülü başlatılmayacaktır.
Kart biçimlendirildikten sonra, MP3 dosyaları kopyalanabilir. Karta kopyalandıkları sırayla oynanırlar. DFPlayer, 255 MP3'e ve 100 klasör’e kadar yönetebilmelidir.
Yazılım Hazırlama
DFPlayer'ı
kullanmak için DFRobotDFPlayerMini program kitaplığı yüklü olmalıdır. Bunu yapmak için Arduino yazılımında Sketch>Include Library>Manage Libraries menüsüne gidin
ve arama alanına DFPlayer girin. Bahsedilen DFRobotDFPlayerMinikütüphanesini yükleyin.
Örnek Kod
Aşağıdaki kod, File>Examples>DFRobotDFPlayerMini>GetStarted altındakimenüye program kitaplığını yükledikten sonra bulabileceğiniz örnek koddur. SD
kartta her biri üç saniye boyunca tüm MP3'leri çalar ve ardından bir sonraki
dosyaya geçer.
#include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(10, 11); DFRobotDFPlayerMini myDFPlayer; void printDetail(uint8_t type, int value); void setup() { mySoftwareSerial.begin(9600); Serial.begin(115200); Serial.println(); Serial.println(F("DFRobot DFPlayer Mini Demo")); Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while(true){ delay(0); } } Serial.println(F("DFPlayer Mini online.")); myDFPlayer.volume(10); myDFPlayer.play(1); } void loop() { static unsigned long timer = millis(); if (millis() - timer > 3000) { timer = millis(); myDFPlayer.next(); } if (myDFPlayer.available()) { printDetail(myDFPlayer.readType(), myDFPlayer.read()); } } void printDetail(uint8_t type, int value){ switch (type) { case TimeOut: Serial.println(F("Time Out!")); break; case WrongStack: Serial.println(F("Stack Wrong!")); break; case DFPlayerCardInserted: Serial.println(F("Card Inserted!")); break; case DFPlayerCardRemoved: Serial.println(F("Card Removed!")); break; case DFPlayerCardOnline: Serial.println(F("Card Online!")); break; case DFPlayerUSBInserted: Serial.println("USB Inserted!"); break; case DFPlayerUSBRemoved: Serial.println("USB Removed!"); break; case DFPlayerPlayFinished: Serial.print(F("Number:")); Serial.print(value); Serial.println(F(" Play Finished!")); break; case DFPlayerError: Serial.print(F("DFPlayerError:")); switch (value) { case Busy: Serial.println(F("Card not found")); break; case Sleeping: Serial.println(F("Sleeping")); break; case SerialWrongStack: Serial.println(F("Get Wrong Stack")); break; case CheckSumNotMatch: Serial.println(F("Check Sum Not Match")); break; case FileIndexOut: Serial.println(F("File Index Out of Bound")); break; case FileMismatch: Serial.println(F("Cannot Find File")); break; case Advertise: Serial.println(F("In Advertise")); break; default: break; } break; default: break; } }