Your sketch failed here too. How exactly did you include the DFR library? When I replaced your
#include "DFRobotDFPlayerMini.h"
using Sketch > Include library > DFRobotDFPlayerMini
it worked OK.
I prefer angle brackets, not quotes, like this,
#include <DFRobotDFPlayerMini.h>
because it confines the compilation search to my \libraries folder.
If that doesn't fix it, check your wiring again and connect a jumper wire to the IO2 pin of the module (pin 11) and briefly touch it to ground. Assuming you do have more than one file on your mSD, that should play the next one with each touch, proving your module is working.
i have a file named 0001.wav in root of sd card and sd card capacity is 8 giga byte
on my dfplayer printed dfplayer mini - hw-267A and v0.5.1
i have changed
"DFRobotDFPlayerMini.h"
with
<DFRobotDFPlayerMini.h>
it dosnt work
also any leds in dfplayer mini is not on
could problem from dfplayer or power ?
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
void setup()
{
mySoftwareSerial.begin(9600);
Serial.begin(9600);
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){
delay(0); // Code to compatible with ESP8266 watch dog.
}
}
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 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:Serial.println(value);
break;
}
break;
default:Serial.println((value));
break;
}
}
there is only one file named 0001.wav in root of sdcard and its playing normally without problem in windows player , yes this is my first time with this dfplayer module
Hello. Did you ever figure out what was happening with your DF Player
Minis? I ask because I’ve been using them for years, probably used 20 of them without a hitch, however I just recently bought a new bunch, and these ones do not work for me.