int led = 8; int button = 7; int numberofbuttonpress; void setup () { pinMode (led, OUTPUT); pinMode (button, INPUT); Serial.begin (9600); int wait=200; int time=0; } void loop () { int wait=200; int time=0; if (digitalRead (button) == LOW && millis() - time > wait) // Millis for debounce { numberofbuttonpress ++; Serial.print (numberofbuttonpress); // Print the number on serial monitor for debugging purposes } if (numberofbuttonpress == 4)// After the 4th push of the button it returns to case 1 numberofbuttonpress = 0; switch (numberofbuttonpress) // 4 cases are established { case 0: digitalWrite(led, LOW); break; case 1: digitalWrite(led,HIGH); break; case 2: digitalWrite(led, LOW); delay(100); digitalWrite(led,HIGH); break; case 3: digitalWrite(led,HIGH); delay(10); digitalWrite(led, LOW); break; case 4: time = millis(); } delay (100); }