while(!SD.begin()) //verifica che ci sia la SD
{
digitalWrite(redLed, HIGH); //accendi il led rosso
delay(1000);
}
Queste istruzioni chiamano continuamente SD.begin per cui finché lui dà risposta negativa, il programma non uscirà da lì.
Mettici un if, in alternativa, per cui chiami la SD.begin, se restituisce true entri in un blocco di codice che accende il LED, scrive il log, poi lo spenge.