Aiuto con millis

Datman:
Ciao, ziopippo.
Prima di tutto, come ho già scritto a Funesto, ti consiglio di usare un

//t è unsigned long

if(millis()-t>999) // Una volta al secondo:
  {
  t=millis();
  Serial.print ... ... ...
  display.print ... ... ...
  }


per fare solo una volta al secondo tutto ciò che non deve essere veramente continuo, per velocizzare il ciclo. Leggere la temperatura, ad esempio, è un'operazione che può essere fatta anche ogni 5 secondi.

Per il problema, poi, scrivi qualcosa del tipo:

void suona()
{if (!muto) tone(buzzer, 1000); else noTone(buzzer);}

quando silenzi l'allarme, muto va a 1 e l'allarme smetterà e non potrà più suonare finché muto non verrà rimesso a 0.

Grazie per le dritte!
Questa soluzione mi piace e vedrò di adattarle anche ad un'altro progetto in funzione da diversi anni in modo di evitare gli attuali tempi di latenza.