Problemas con DFPlayerMini

Al margen de lo que te remarca @PeterKantTropus , yo no había caído en cuenta de los delay() que creo son innecesarios pero no me detuve mucho en analizarlo, además mezclar millis() con delay() no es la mejor idea.
Como decía, al margen de eso

if(tiempo2 > (tiempo1+10000)){

no está bien. Lo correcto es

if(tiempo2 - tiempo1 > 10000UL){

de otro modo puede generar problemas.
(UL indica que el literal es unsigned long al igual que tiempo1 y tiempo2)

Saludos