enum Stat { ON, OFF };
long pt = 0;
Stat state = ON;
void setup() {
pinMode(2, OUTPUT);
pinMode(12, OUTPUT);
digitalWrite(2, HIGH);
digitalWrite(12, LOW);
}
void loop() {
long ct = millis();
switch(state) {
case ON:
if(ct - pt >= 3000) {
state = OFF;
pt = ct;
digitalWrite(2, LOW);
digitalWrite(12, HIGH);
}
break;
case OFF:
if(ct - pt >= 2000) {
state = ON;
pt = ct;
digitalWrite(2, HIGH);
digitalWrite(12, LOW);
}
break;
}
}