What library are you using to control the DF Player? It depends on what command the .play() function is passing to the DF Player. It could simply be track 1 and then track 2, or it could be a prefixed track name (0000-Name.mp3) command.
That library simply plays track number X which depends on the order the tracks were written to the card. It has nothing to do with the track names. A better library is DFPlayerMini_Fast which allows you to play tracks withing given folders, etc.
It is a long time since I used the DF player and at the time I wrote a few driver functions and never used any of the libraries, I seem to remember that to play a track of your choice that the track number should be hex therefore track dec 11 would be track 0xB. The libraries probably take this into account but I thought it worth a mention
2).For selections, if choose the 100th song, first convert 100 to hexadecimal, the default is double-byte, it is 0x0064. DH = 0x00; DL = 0x64
also
1).For example, select the first song played, serial transmission section: 7E FF 06 03 00 00 01 FF E6 EF
7E --- START command
FF --- Version Information
06 --- Data length (not including parity)
03 --- Representative No.
00 --- If need to acknowledge [0x01: need answering, 0x00: do not need to return the response]
00 --- Tracks high byte [DH]
01 --- Tracks low byte [DL], represented here is the first song played
FF --- Checksum high byte
E6 --- Checksum low byte
EF --- End Command
In the IDE, go to Sketch -> Include Library ->... and then select it. It will automatically insert the
#include <....>
for you. You can also go to File -> Examples ->... and select that library which comes with an example. This library is not a drop in replacement for the one you were using so you will have to make some changes.
Yeah its detected and working and moving a step ahead in code I am having a small issue unlike previous library . . . .
With an intro of input signal as a switch to play a file I have this one with MEGA
if (digitalRead(IN22)==LOW)
{
player1.play(1);
}
if (digitalRead(IN23)==LOW)
{
player1.play(2);
}
if (digitalRead(IN24)==LOW)
{
player1.play(3);
}
if (digitalRead(IN25)==LOW)
{
player1.play(4);
}
if (digitalRead(IN26)==LOW)
{
player1.play(5);
}
if (digitalRead(IN27)==LOW)
{
player1.play(6);
Sometime it triggers instantly the file but not always
I have to press so many times or have to wait and then press another button to trigger another file
IN short Its not always triggering like it was doing in last case