Probabilmente sono io che non faccio le operazioni giuste ma spostando secondo le tue indicazioni ottengo bene o male sempre lo stesso errore in compilazione:
'xxxx' was not declared in this scope
per i dht perché c'è un dht.begin nel setup
per RTC perché come sopra.
Gli indirizzi delle sonde dallas e il myfile me li fa spostare e si compila correttamente. Ma al momento non ho modo di provare il codice

Sto facendo l'endurance test
no, questo errore indica che il blocco in cui stai usando la variabile è più esterno al blocco in cui l'hai dichiaratata (non è visibile). il begin non c'entra niente.
#include <Wire.h>
sicura che ti serva quasta include?
Se non sbaglio quella veniva con l'RTC /lib adafruit/ togliendola ed eliminando l'inizializzazione nel setup non si compila il codice.
quì c'è un errore:
nomefilelog[2] = year%10 + '0';
nomefilelog[3] = year%10 + '0';
Più che errore... mistero

Citando l'autore del codice:
as for the year, if i use the /10 suggested i get this.
Code:
filename[0] = year/10 + '0';
filename[1] = year%10 + '0';
Code:
"ù1"
I am using this as I assume no registries before year 2000
Siccome nemmeno io dovevo backloggare nel tempo prima dell'anno 2000... ho lasciato quello

In realtà c'è un sospetto che il codice funzioni solo perché "siamo" nel 2011, quindi in realtà dovrei sostituirlo con:
filename[2] = (year-2000)/10 + '0';
Mi ero dimenticata di chiedervi conferma, ergo... confermate?
Ma le modifiche suggerite, in linea di massima, produrrebbero un cambiamento significativo?
O sono più delle modifiche di stile generale che andrebbero imparate?
infatti c'è l'errore:
tu fai
nomefilelog[2] = year%10 + '0';
nomefilelog[3] = year%10 + '0';
con il resto della divisione di un qualsiasi numero per 10 ottieni la cifra più a sinistra, quindi l'unità, che metterai in nomefilelog[3]... ma non stai estrapolando correttamente l'unità:
per ottenere l'unità il metodo corretto è dividere per dieci, in modo da eliminare l'unità e rendere la decina la nuova unità, e poi usare il modulo per estrarre l'unità!
nomefilelog[2] = ((year/10)%10) + '0';
per esempio per il centennio:
nomefilelog[1] = ((year/100)%10) + '0';
e il m,illennio:
nomefilelog[0] = ((year/1000)%10) + '0';
ps. l'errore vale anche per il calcolo del mese