Sim... se quiseres podes meter o segundo, eu não me dei ao trabalho porque vi que não o usavas.
Quando à alternancia, eu reparei que o Arduino tem algum significado para now. Também reparei que meti as variáveis como locais.
Este sketch funciona para alternar de 10 em 10 segundos.
#define TIMEOUT 10000
void setup(){
Serial.begin(19200);
}
unsigned long t_now = 0, before = 0;
unsigned char data = 0;
void loop(){
if((t_now = millis())-before > TIMEOUT) {
if (data == 0) {
Serial.print("COISAS");
data = 1;
} else {
Serial.print("OUTRAS COISAS");
data = 0;
}
before = t_now;
}
}