Can anybody help with this question -
I'm using the DFPlayer in a project where, throughout a 200-second .mp3 file, there are occasional beeps. I created the .mp3 file, so I know exactly when the sounds are supposed to play (at 20s, 35s, ... 193s).
When the beeps sound, I want the Arduino to do something else - print something on the LCD, blink an LED, etc. The Arduino knows when it told the DFPlayer to play the file, so it can run timers and I can embed the beep timing in the code so the Arduino knows when beeps are supposed to be coming out. But of course if the DFPlayer and the Arduino timebases aren't synchronized, they will warp away from each other and the Arduino actions won't be synchronized to the DFPlayer's beeps, by the end of the 200-second mp3 play.
Of course, the crystal on this Arduino is quite accurate, so his timebase will be good, but how good is the timebase used on the DFPlayer? No idea.... Looking at the pcb with a magnifying glass, I don't see anything that looks like a crystal....
Any thoughts on this? I could afford about a 1-second slip over the 200-second file-play, before the user would be annoyed by the action not being sync'ed to the beep. 1/200 is a 0.5% spread on the two timebases. Is the DFPlayer timebase accurate to 0.5% ? Not sure. Much more than that and I think humans would notice the pitch-change in an mp3 file (versus the original audio)....