Hello. I've been working with the Arduino Uno and the DFPlayerMini for a couple years, just though I would share a bit of my experience. My application is fairly simple, 32GB SD card, 10 MP3 files in the root, and 6 Folders with about 200 MP3 files each. At this point my application and the playing of the MP3 files is working perfectly, but it was a real learning curve! My playing of the MP3 files is all software controlled, no hardware buttons. I am using the DFRobotDFPlayerMini LIBRARY to control the player.
Key to my application was being able to play the specific file I wanted, doing this with files in the ROOT of the SD Card takes some understanding!
When playing files in the ROOT of the SD Card, it doesn't matter what name you give to the files in the root, 1.mp3, 02.mp3, AAA.mp3, Joe.mp3, red.mp3. What matters, is the ORDER you COPY those files to the root of the SD Card.
The first file you copy to the SD Card ROOT, that is your file #1 , the second file you copy will be file #2, third file #3, etc. Regardless of what the actual file name is.
Copy the root files to the SD Card ONE AT A TIME, in the order you want to reference them, 1, 2, 3, 4, etc. Even if your files "look" like they are in the correct order on your hard drive, DON'T highlight several files at once and Copy / Paste them to the SD Card Root, they don't copy over in the order they appear on your hard drive (although some of them might!). Copy One file at a time.
EXAMPLE: files copied to the root of the SD Card, and the command that will play that file:
copied first: _______ Joe.mp3 _________ myDFPlayer.play(1);
copied second:____ AAA.mp3 ________ myDFPlayer.play(2);
copied third: ______ 02.mp3 __________ myDFPlayer.play(3);
copied forth: ______ 1.mp3 ___________ myDFPlayer.play(4);
The good news, it's much easier for playing files that are in FOLDERS. Simply name Folders, 01, 02 ,03 etc. and the Files in those Folders named with a three digit prefix, 001_songA.mp3, 002_old_music.mp3, 003_good_blues.mp3, etc.
With Folders, and the Files in those folders, the order you COPY them does NOT matter, Highlight / Copy and Paste them all at once. What matters here is that three digit Prefix, both the Folder and the File you want to play will be referenced by the number you assign it in the name.
EXAMPLE: files copied to Folders, and the command that will play that file:
folder: 02 ____ 005_ Joe.mp3 ______ myDFPlayer.playFolder(2, 5);
folder: 01 ____ 002_AAA.mp3 ______ myDFPlayer.playFolder(1, 2);
folder: 02 ____ 001_songA.mp3 ____ myDFPlayer.playFolder(2, 1);
folder: 01 ____ 003_bluesB.mp3 ___ myDFPlayer.playFolder(1, 3);
With the Maximum number of files per folder being 255.