/*
Usually it is allowed to go to the millis code only every x seconds.
But in this case it is needed to go to the millis code allways,
but not next 2 sec after pressing the button.
*/
unsigned long time1;
int x;
void setup() {
Serial.begin(9600);
Serial.println("BEGIN");
Serial.println();
pinMode(6, INPUT_PULLUP);
}
void loop() {
if (millis() > time1) {
Serial.println(x++);
if (digitalRead(6) == LOW) {
time1 = millis() + 2000;
}
}
}