Schön finde ich auch das Gespiele mit dem Modulo %. Es Spart eine Menge an unsigned Long Variablen.
uint16_t blinkerIntervall= 2000; // An + Aus Zeit des Blinkers
void setup() {
pinMode (LED_BUILTIN, OUTPUT);
}
void loop() {
if ( millis() % blinkerIntervall*2 > blinkerIntervall) digitalWrite(LED_BUILTIN,HIGH);
else digitalWrite(LED_BUILTIN,LOW);
}
Geht natürlich auch mit unterschiedlichen An und Aus Zeiten.
uint16_t blinkerIntervall = 2000; // An + Aus Zeit des Blinkers
uint16_t blinkerAnZeit = 300; // Zeit die die LED an ist.
void setup() {
pinMode (LED_BUILTIN, OUTPUT);
}
void loop() {
if ( millis() % (blinkerIntervall+blinkerAnZeit) > blinkerIntervall) digitalWrite(LED_BUILTIN,HIGH);
else digitalWrite(LED_BUILTIN,LOW);
}