ĐIỆN TỬ LÊ NGUYÊN
CỬA HÀNG ĐIỆN  - ĐIỆN TỬ LÊ NGUYÊN

- Địa chỉ: 23B Sinh Trung - P. Vạn Thạnh - TP. Nha Trang - T. Khánh Hòa
- Tel: 0903 563 488 (Kỹ thuật) - 0903 501 091 (Bán hàng)


Link shopee: https://shopee.vn/dientulenguyen
Thời gian nghỉ Tết Âm Lịch
Thời gian nghỉ: 27/01/2025-02/02/2025
Thời gian làm việc lại: 03/02/2025 - Mùng 6 Tết

KÍNH CHÚC QUÝ KHÁCH NĂM MỚI AN KHANG - THỊNH VƯỢNG
DFPlayer Mini MP3 Player For Arduino DFPlayer Mini MP3 Player For Arduino

Introduction

The DFPlayer Mini MP3 Player For Arduino is a small and low price MP3 module with an simplified output directly to the speaker. The module can be used as a stand alone module with attached battery, speaker and push buttons or used in combination with an Arduino UNO or any other with RX/TX capabilities. 


 
S000971 MODULE ÂM THANH - MP3 35.000 đ Số lượng: 100 cái


  •  
  • DFPlayer Mini MP3 Player For Arduino

  • Đăng ngày 10-07-2018 05:18:41 AM - 5363 Lượt xem
  • Giá bán: 35.000 đ

  • Introduction

    The DFPlayer Mini MP3 Player For Arduino is a small and low price MP3 module with an simplified output directly to the speaker. The module can be used as a stand alone module with attached battery, speaker and push buttons or used in combination with an Arduino UNO or any other with RX/TX capabilities. 


     


Số lượng

Specification

  • supported sampling rates (kHz): 8/11.025/12/16/22.05/24/32/44.1/48
  • 24 -bit DAC output, support for dynamic range 90dB , SNR support 85dB
  • fully supports FAT16 , FAT32 file system, maximum support 32G of the TF card, support 32G of U disk, 64M bytes NORFLASH
  • a variety of control modes, I/O control mode, serial mode, AD button control mode
  • advertising sound waiting function, the music can be suspended. when advertising is over in the music continue to play
  • audio data sorted by folder, supports up to 100 folders, every folder can hold up to 255 songs
  • 30 level adjustable volume, 6 -level EQ adjustable

Application

  • Car navigation voice broadcast;
  • Road transport inspectors, toll stations voice prompts;
  • Railway station, bus safety inspection voice prompts;
  • Electricity, communications, financial business hall voice prompts;
  • Vehicle into and out of the channel verify that the voice prompts;
  • The public security border control channel voice prompts;
  • Multi-channel voice alarm or equipment operating guide voice;
  • The electric tourist car safe driving voice notices;
  • Electromechanical equipment failure alarm;
  • Fire alarm voice prompts;
  • The automatic broadcast equipment, regular broadcast.
 

Pin Map

550px Miniplayer pin map
 
Pin map desc en

Work Mode

1) Serial Mode

Support for asynchronous serial communication mode via PC serial sending commands 
Communication Standard:9600 bps 
Data bits :1 
Checkout :none 
Flow Control :none 

  • Instruction Description
700px Instruction desc en

 

  • Serial Control Cmd
Cmd1

 

  • Serial Query Cmd
Cmd2 en

 

2) AD KEY Mode

We use the AD module keys, instead of the traditional method of matrix keyboard connection, it is to take advantage of increasingly powerful MCU AD functionality, Our module default configuration 2 AD port, 20 key resistance distribution.

  • Refer diagram
1000px Adkey control

 

3) I/O Mode

Here comes the most simple way to use this module. 

  • Refer diagram
700px Speaker2


note: short time press means pre/next,and long time press means vol- ,vol + 


 

Connection Diagram

550px PlayerMini


Note: For simple use ,the upper diagram is ready,But if you find the noise is quite loud, then you could attach an 1K resistor to the TX pin. 
 

Copy your mp3 into you micro SD card

NOTE: The order you copy the mp3 into micro SD card will affect the order mp3 played , which means play(1) function will play the first mp3 copied into micro SD card.

For Mac User

NOTE: If you are using Mac OS X to copy the mp3, the file system will automatically add hidden files like: "._0001.mp3" for index, which this module will handle as valid mp3 files. It is really annoying. So you can run following command in terminal to eliminate those files.
dot_clean /Volumes/<SDVolumeName>
Please replace the <SDVolumeName> to the volume name of your SD card.

Sample Code

We've created an Arduino library for DFPlayer Mini to simplify the method for you to make it work. 
Connect the hardware as the picture above shown and play with the sample code.
You can download the latest library here: DFRobotDFPlayerMini.

Sample code "GetStarted", switching to next song every 3 seconds

/***************************************************DFPlayer - A Mini MP3 Player For Arduino   *************************************************** This example shows the basic function of library for DFPlayer.  Created 2016-12-07 By [Angelo qiao](Angelo.qiao@dfrobot.com)  GNU Lesser General Public License. See <http://www.gnu.org/licenses/> for details. All above must be included in any redistribution ****************************************************/#include "Arduino.h"#include "SoftwareSerial.h"#include "DFRobotDFPlayerMini.h"SoftwareSerial mySoftwareSerial(10, 11); // RX, TXDFRobotDFPlayerMini 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)) {  //Use softwareSerial to communicate with mp3.    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);  }  Serial.println(F("DFPlayer Mini online."));    myDFPlayer.volume(10);  //Set volume value. From 0 to 30  myDFPlayer.play(1);  //Play the first mp3}void loop(){  static unsigned long timer = millis();    if (millis() - timer > 3000) {    timer = millis();    myDFPlayer.next();  //Play next mp3 every 3 second.  }    if (myDFPlayer.available()) {    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.  }}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 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;  }}


 

Sample code "FullFunction", including all the functions. Please read the comments and documents in detail

/*************************************************** DFPlayer - A Mini MP3 Player For Arduino ************************************************** This example shows the all the function of library for DFPlayer.  Created 2016-12-07 By [Angelo qiao](Angelo.qiao@dfrobot.com)  GNU Lesser General Public License. See <http://www.gnu.org/licenses/> for details. All above must be included in any redistribution ****************************************************//***********Notice and Trouble shooting*************** #include "Arduino.h"#include "SoftwareSerial.h"#include "DFRobotDFPlayerMini.h"SoftwareSerial mySoftwareSerial(10, 11); // RX, TXDFRobotDFPlayerMini 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)) {  //Use softwareSerial to communicate with mp3.    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);  }  Serial.println(F("DFPlayer Mini online."));    myDFPlayer.setTimeOut(500); //Set serial communictaion time out 500ms    //----Set volume----  myDFPlayer.volume(10);  //Set volume value (0~30).  myDFPlayer.volumeUp(); //Volume Up  myDFPlayer.volumeDown(); //Volume Down    //----Set different EQ----  myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);//  myDFPlayer.EQ(DFPLAYER_EQ_POP);//  myDFPlayer.EQ(DFPLAYER_EQ_ROCK);//  myDFPlayer.EQ(DFPLAYER_EQ_JAZZ);//  myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);//  myDFPlayer.EQ(DFPLAYER_EQ_BASS);    //----Set device we use SD as default----//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_U_DISK);  myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_AUX);//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_SLEEP);//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_FLASH);    //----Mp3 control----//  myDFPlayer.sleep();     //sleep//  myDFPlayer.reset();     //Reset the module//  myDFPlayer.enableDAC();  //Enable On-chip DAC//  myDFPlayer.disableDAC();  //Disable On-chip DAC//  myDFPlayer.outputSetting(true, 15); //output setting, enable the output and set the gain to 15    //----Mp3 play----  myDFPlayer.next();  //Play next mp3  delay(1000);  myDFPlayer.previous();  //Play previous mp3  delay(1000);  myDFPlayer.play(1);  //Play the first mp3  delay(1000);  myDFPlayer.loop(1);  //Loop the first mp3  delay(1000);  myDFPlayer.pause();  //pause the mp3  delay(1000);  myDFPlayer.start();  //start the mp3 from the pause  delay(1000);  myDFPlayer.playFolder(15, 4);  //play specific mp3 in SD:/15/004.mp3; Folder Name(1~99); File Name(1~255)  delay(1000);  myDFPlayer.enableLoopAll(); //loop all mp3 files.  delay(1000);  myDFPlayer.disableLoopAll(); //stop loop all mp3 files.  delay(1000);  myDFPlayer.playMp3Folder(4); //play specific mp3 in SD:/MP3/0004.mp3; File Name(0~65535)  delay(1000);  myDFPlayer.advertise(3); //advertise specific mp3 in SD:/ADVERT/0003.mp3; File Name(0~65535)  delay(1000);  myDFPlayer.stopAdvertise(); //stop advertise  delay(1000);  myDFPlayer.playLargeFolder(2, 999); //play specific mp3 in SD:/02/004.mp3; Folder Name(1~10); File Name(1~1000)  delay(1000);  myDFPlayer.loopFolder(5); //loop all mp3 files in folder SD:/05.  delay(1000);  myDFPlayer.randomAll(); //Random play all the mp3.  delay(1000);  myDFPlayer.enableLoop(); //enable loop.  delay(1000);  myDFPlayer.disableLoop(); //disable loop.  delay(1000);  //----Read imformation----  Serial.println(myDFPlayer.readState()); //read mp3 state  Serial.println(myDFPlayer.readVolume()); //read current volume  Serial.println(myDFPlayer.readEQ()); //read EQ setting  Serial.println(myDFPlayer.readFileCounts()); //read all file counts in SD card  Serial.println(myDFPlayer.readCurrentFileNumber()); //read current play file number  Serial.println(myDFPlayer.readFileCountsInFolder(3)); //read fill counts in folder SD:/03}void loop(){  static unsigned long timer = millis();    if (millis() - timer > 3000) {    timer = millis();    myDFPlayer.next();  //Play next mp3 every 3 second.  }    if (myDFPlayer.available()) {    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.  }}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 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;  }}

 

  Ý kiến bạn đọc

DANH MỤC
Sản phẩm mới
Hosting, VPS giá rẻ siêu mạnh
hawkhost
Video hướng dẫn
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây