unsigned long p = 0; unsigned long t = 0; int l = 0; int s = 0; void setup() { pinMode(13, OUTPUT); } void loop() { if (s == 1) { if(millis()-p > 200) { p = p + 200; l = !l; } } digitalWrite(13, l); if (digitalRead(2) == LOW) { t = millis(); delay(20); while (digitalRead(2) == LOW) { delay(5); } if (millis()-t < 500) { s=0; l=1; for (int i=0; i<20; i=i+1) { if (digitalRead(2)==LOW) { s=1; delay(20); while(digitalRead(2)==LOW) { delay(5); } p=millis(); break; } delay(10); } } else { s=0; l=0; } } }