Problema SD.begin per datalogger

la tua domanda

La mia domanda era proprio perchè, pur essendo presente la SD, la funzione SD.begin non ritorni TRUE e il programma avanzi regolarmente con il loop?

ti ho spiegato perchè la scheda sd non funziona più nel post precedente una volta che l'hai tolta devi rifare la procedura di inizializzazione quando la rimetti ..... sta a te fare in modo che arduino si accorga della sua assenza o presenza .... e' importante che non venga estratta mentre scrive ovvero con file.open in write rovini il file system e devi riformattarla, se sta leggendo poco importa.

può succedere che una funzione giri in un programma e nn in un altro?(per esempio per possibili incompatibilità tra librerie o altre funzioni...

si, può succedere che 2 librerie siano state create da due utenti diversi per due scopi ben diversi, poi arriva un terzo utente che nel suo progetto le vuole usare entrambe e nasce il problema, ad esempio la libreria <IRremote.h> non va daccordo con <RTC.h> semplicemente perchè entrambe usano lo stesso timer, ci si arma di pazienza e si vanno a modificare per farle coesistere.
Io non so dirti se quella sfilza di librerie che usi hanno qualche conflitto tra loro, il tuo post era rivolto ad un problema con la SD.

Puoi anche non stavolgere il tuo lavoro ignorando le porzioni di codice che ho scritto prima, ricordati solo di fare in modo che quando arduino non vede più la SD di fargli fare tutta la procedura di inizializzazione come se facessi un reset della scheda.
Per completezza ti ricordo che la funzione Setup() viene eseguita una sola volta all'avvio di arduino in modo automatico, mentre il loop() è un ciclo infinito tutte le altre funzioni raccolte tra parentesi graffe vengono richiamate dal tuo sketch

Ps non darci del Lei ci fai sentire vecchi ahahahahhahaha

ciao