I am building a Doorbell-triggered set up with Arduino Uno, a 4 channel relay, and a DF player mini, for Halloween.
Essentially doorbell triggers a circuit, plays some mp3s and carries out relay actions while mp3s play. The circuit was working fine this morning.
The only change I made was I ended up extending the first of my .mp3 files by 4 seconds because it sounded like it was cut too short.
Now when I trigger the doorbell, only the first mp3 file plays, it jumps straight to the relay actions, then plays the 2nd mp3 file, and cuts the third and fourth mp3 files out completely. Yet I made no change to the code.
I have 4 .mp3 files listed from 0001.mp3, to 0004.mp3, in the correct order. Have even re-formatted SD card.
How can I get my mp3 files to play at the right time while having the relay actions?
I tried going back to the original mp3 files and the whole thing is still not working correctly. It's as if the commands for the later mp3 files are delayed/being ignored.
Went back to an earlier version of code and it works again flawlessly. Can code somehow get corrupted?
I figured out the problem. It recurred again today after editing another mp3 and uploading it to SD card. I found out that the DF player recognizes the files 0001.mp3, 0002.mp3, 0003.mp3, and 0004.mp3, if you code them as play(1), play(3), play(5), and play(7), respectively. There must be some hidden files between those numbers that are created. Hopefully it helps someone else.