Hallo,
unsigned long currentMillis = millis();
// nur zur Veranschaulichung
if (currentMillis % 1000 == 0)
{
Serial.println(zustand);
delay(1);
}
Eine Anmerkung zur Modulo Verwendung für zeitliche Wiederholungen. Das funktioniert nur in der Theorie. Die loop hat eine bestimmte Laufzeit die nicht konstant sein muss. Das bedeutet für diese Abfrage, es ist Zufall dass diese Bedingung gültig wird. Das Programm müßte genau zu dem Zeitpunkt bei der Abfrage vorbeikommen wenn millis ein Vielfaches von 1000 ist.