Ist das nicht im Prinzip das gleiche wie Simpletimer.h oder wie das heisst?
Das hab ich schon lange in Einsatz und läuft perfekt.
Kann man den Intervall als Variable angeben und innerhalb des Intervalls ändern?
Edit: Man kann
#include <INTERVAL.h>
const byte LED = 13;
uint32_t dauer = 1000;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop()
{
// uint32_t zufall = random(100, 600);
INTERVAL(dauer) // 500ms
{
digitalWrite(LED, !digitalRead(LED));
if (dauer == 200) dauer = 1000;
else dauer = 200;
// dauer = zufall;
// Serial.println(zufall);
}
}
Somit hat man unterschiedliche Hell-/Dunkelfasen
Oder noch kürzer:
#include <INTERVAL.h>
const byte LED = 13;
uint32_t dauer[] = {1000, 200};
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
INTERVAL(dauer[digitalRead(LED)]) digitalWrite(LED, !digitalRead(LED));
}