Problema con delay!!

Funziona così:
Devi fare un caffè, una torta e un gelato. Hai solo un orologio. Alle 14 metti il caffè sul fuoco, inforni la torta e accendi la gelatiera.
Alle 14.05 togli il caffè dal fuoco,
alle 14.40 togli il gelato dalla gelatiera
alle 14.50 sforni la torta.
Quindi, con millis():
Prendi il tempo con una variabile unsigned long (io uso t1, t2, t3 ... all'interno di un programma):
t1=millis();
poi verifichi:
if(millis()-t1>1000) {t1= millis(); fai questo}
In questo modo, "fai questo" verrà eseguito una volta ogni secondo.
È solo un esempio; puoi fare molte altre cose. Mantieni, però, sempre la forma if(millis()-t1...) per non avere mai problemi con l'overflow.