Arduino problema a unire 2 codici

Come già detto, a causa del ciclo for senza fine.

La prima modifica da fare è condizionare (mettere sotto condizione if) l'esecuzione delle istruzioni relative alla musica, usando una variabile booleana di abilitazione, ad esempio bool mp3_OK

if (mp3_OK) {

    ...istruzioni musica...

}

che viene impostata nel punto in cui si testa il lettore:

if (mp3.begin(ss)) {

    mp3_OK = true;

} else {

    Serial.print("errore mp3");
    mp3_OK = false;
}

In questo modo se il lettore non c'è/non risponde, tutto quello che riguarda la musica non viene più gestito e non genera altri errori.

Ma poi c'è il problema accennato da DATman, che conduce alla faccenda "programmazione a stati".