Ciao a tutti,
ho una stazione meteo Arduino sempre alimentata che come noto avrá il problema del rollover dei millis() dopo 49 giorni.
Ho provato ad implementare una soluzione ideata da me ma siccome non posso aspettare i 49 giorni per provarla, vorrei metterla alla vostra attenzione per analisi e critiche.
Ovviamente ho messo solo l'estratto che avesse pertinenza con la domanda
void loop() {
if (millis() > tempolettura) //legge i sensori di temperatura 1 volta al minuto
{
lettura_sensori(); //ogni 60sec manda alla routine di lettura sensori
tempolettura = (millis() + 60000);
}
if (millis() > tempoDisplay) //aggiorna display 1 volta al secondo
{
Display(); //routine per aggiornare display LCD ogni secondo
tempoDisplay = (millis() + 1000);
}
//QUESTA É LA ROUTINE CHE AZZERA LE VARIABILI CHE UTILIZZANO millis() quando millis() torna a zero
if (tempoDisplay >= (millis()+2000) //resetta variabili se millis é tornato a zero
{
tempoNTP= 0;
tempoDisplay = 0;
tempolettura = 0;
}
Alberto