I know this is a duplicate of a question I asked under audio, but I was told to ask the question here for help with the code, so read through the forum here to know what I am trying to accomplish: Combine two Arduino projects into one PCB with the Arduino codes combined. - Audio - Arduino Forum
If you have any other questions or need me to clarify anything, feel free to add questions below.
But what I am trying to do is, make the keypad matrix 3 by 4 play sound files when a specific button is pressed to play a sound on a micro sd card on the dfplayer mini. Then it will play the sound on a speaker. When a button is pressed it will play a sound and if a another button is pressed, stop the sound that recently played and play the new sound from the start.
jaredm2195:
I know this is a duplicate of a question I asked under audio, but I was told to ask the question here for help with the code, so read through the forum here to know what I am trying to accomplish: Combine two Arduino projects into one PCB with the Arduino codes combined. - Audio - Arduino Forum
If you have any other questions or need me to clarify anything, feel free to add questions below.
But what I am trying to do is, make the keypad matrix 3 by 4 play sound files when a specific button is pressed to play a sound on a micro sd card on the dfplayer mini. Then it will play the sound on a speaker. When a button is pressed it will play a sound and if a another button is pressed, stop the sound that recently played and play the new sound from the start.
So, besides posting on the forum, what else have you tried? Besides the keypad, what other hardware do you have? The Arduino makes for a lousy one man band.
How do I combine the dfplayer code with the keypad.h code?
Also, I am
running this code on my dfplayer:
#include <DFRobotDFPlayerMini.h>
/***************************************************
DFPlayer - A Mini MP3 Player For Arduino
https://www.dfrobot.com/index.php?route=product/product&product_id=1121
This example shows the basic function of library for DFPlayer.
Created 2016-12-07
By Angelo qiao
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****
1.Connection and Diagram can be found here
https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram
2.This code is tested on Arduino Uno, Leonardo, Mega boards.
****************************************************/
#include <Arduino.h>
#include <SoftwareSerial.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);
}
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;
}
}
and getting this error in the serial monitor:
DFRobot DFPlayer Mini Demo
Initializing DFPlayer ... (May take 3~5 seconds)
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!
it won't allow me to play the sound files. I am using mp3 files.
it won't allow me to play the sound files.
And you can't figure out why?
I am not good with arduino code, so the answer to that question would be no.
I can’t upload the image of what my project looks like to this forum, it a large file of an image. So it might be hard for you to know what my board looks like
I am not good with arduino code, so the answer to that question would be no.
You do need to even look at the code. The code, when it ran, told you that the hardware is not connected correctly or that the SD card is missing. (Or that the SD card is not configured correctly.)
How do I fix this
Hi,
Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.
I can't upload the image of what my project looks like to this forum, it a large file of an image. So it might be hard for you to know what my board looks like
Load you image into a graphics app, like Windows Paint, and resize it to about 1000pixels on the longest side.
Than it should be big enough to add to you post as an attachment, then put into your post.
Thanks... Tom....
PaulS
How do I fix the problem
The code, when it ran, told you that the hardware is not connected correctly or that the SD card is missing. (Or that the SD card is not configured correctly.)
#include <DFRobotDFPlayerMini.h>
/***************************************************
DFPlayer - A Mini MP3 Player For Arduino
https://www.dfrobot.com/index.php?route=product/product&product_id=1121
This example shows the basic function of library for DFPlayer.
Created 2016-12-07
By Angelo qiao
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****
1.Connection and Diagram can be found here
https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram
2.This code is tested on Arduino Uno, Leonardo, Mega boards.
****************************************************/
#include <Arduino.h>
#include <SoftwareSerial.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);
}
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;
}
}
and getting this error in the serial monitor:
DFRobot DFPlayer Mini Demo
Initializing DFPlayer ... (May take 3~5 seconds)
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!
it won't allow me to play the sound files. I am using mp3 files.
jaredm2195:
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!
The program gives you those useful suggestions so -
Have you carefully checked and rechecked all the connections?
Have you tried it with several different SD cards?
Steve