unsigned long previousMillis;
unsigned long interval;
bool enable;
int ledState;
void setup()
{
pinMode( LED_BUILTIN,OUTPUT);
// start millis timer
interval = 2000UL;
ledState = LOW;
enable = true;
}
void loop()
{
unsigned long currentMillis = millis();
if( enable)
{
if( currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
if( ledState == LOW)
{
ledState = HIGH; // set new led state
interval = 8000UL; // set new interval
}
else
{
ledState = LOW; // set new led state
enable = false; // stop own millis-timer
}
digitalWrite( LED_BUILTIN, ledState);
}
}
}