Forum >Replies by fastedtex
userhead fastedtex
Replies (3)
  • You Reply: Serial.println(myDFPlayer.readEQ());
    Serial.println(myDFPlayer.readFileCounts());
    Serial.println(myDFPlayer.readCurrentFileNumber()); //read current play file number
    Serial.println(myDFPlayer.readFileCountsInFolder(2)); //read file counts in folder SD:/02

    Returned this:
    EQ=NORMAL
    -1
    -1
    -1
    26
  • You Reply: #include "Arduino.h"
    #include "SoftwareSerial.h"
    #include "DFRobotDFPlayerMini.h"
    #include <IRremote.h>

    # define code4 57375 //code from button left
    # define code5 43095 //code from button right
    # define code8 36975 //code from button OK
    # define code7 26775 //code from button down
    # define code6 39015 //code from button up
    # define code9 25245 //code from button stop
    # define code3 41565 //code from button power
    # define code2 765 //code from button loop
    # define code10 49725 //code from EQ
    # define code11 45135 //code from 0
    # define code12 31365 //code from 3
    # define code13 23205 //code from 6
    # define code14 21165 //code from 9
    # define code15 6375 //doce from 2
    # define code16 17085 //code from 7
    # define code17 19125 //code from 8

    SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
    DFRobotDFPlayerMini myDFPlayer;
    void printDetail(uint8_t type, int value);

    int RECV_PIN = 9; // the pin where you connect the output pin of sensor
    int thing = 4;
    int SOUND = 1;
    boolean isPlaying = false;

    IRrecv irrecv(RECV_PIN);

    decode_results results;

    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
    irrecv.enableIRIn(); // Start the receiver
    delay(100);

    //----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(500);
    // 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);
    isPlaying = true;
    //----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 file counts in folder SD:/03
    }

    void loop() {
    if (irrecv.decode(&results))
    {
    unsigned int remote = results.value;
    Serial.println(remote);
    delay(500);

    switch(remote)
    {
    case code8:
    if(isPlaying)
    {
    myDFPlayer.pause(); //pause the mp3
    isPlaying = false;
    }else
    {
    isPlaying = true;
    myDFPlayer.start(); //start the mp3 from the pause
    }
    break;

    case code5:
    {
    myDFPlayer.next();
    }
    break;

    case code6:
    {
    myDFPlayer.volumeUp(); //Volume Up
    }
    break;

    case code7:
    {
    myDFPlayer.volumeDown(); //Volume Down
    }
    break;

    case code4:
    {
    myDFPlayer.previous();
    }
    break;

    case code2:
    {
    myDFPlayer.randomAll();
    }
    break;

    case code9:
    {
    myDFPlayer.sleep();
    }
    break;

    case code15:
    {
    myDFPlayer.loopFolder(2); //loop all mp3 files in folder SD:/05.
    }
    break;

    case code16:
    {
    myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
    Serial.println("DEVICE=SD");
    }
    break;

    case code17:
    {
    myDFPlayer.outputDevice(DFPLAYER_DEVICE_U_DISK);
    Serial.println("DEVICE=UDISK");
    }
    break;

    case code10:
    {
    myDFPlayer.EQ(DFPLAYER_EQ_ROCK);
    SOUND = 2;
    Serial.println("EQ=ROCK");
    }
    break;

    case code11:
    {
    myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
    SOUND = 1;
    Serial.println("EQ=NORMAL");
    // Serial.println(myDFPlayer.readEQ());
    // Serial.println(myDFPlayer.readFileCounts());
    // Serial.println(myDFPlayer.readCurrentFileNumber()); //read current play file number
    // Serial.println(myDFPlayer.readFileCountsInFolder(2)); //read file counts in folder SD:/03
    }
    break;

    case code12:
    {
    myDFPlayer.EQ(DFPLAYER_EQ_POP);
    SOUND = 1;
    Serial.println("EQ=POP");
    }
    break;

    case code13:
    {
    myDFPlayer.EQ(DFPLAYER_EQ_BASS);
    SOUND = 1;
    Serial.println("EQ=BASS");
    }
    break;

    case code14:
    {
    myDFPlayer.EQ(DFPLAYER_EQ_JAZZ);
    SOUND = 1;
    Serial.println("EQ=JAZZ");
    }
    break;

    case code3:
    {
    myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
    // myDFPlayer.reset();
    }
    break;

    }
    irrecv.resume(); // Receive the next value
    }
    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 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;
    }

    }
  • You Reply: Did you find a solution for this? I also want to change the baud rate to reduce MP3 sound launch latency