const int buttonPin = 2;
const int ledPin = 13;
int x =0;
unsigned long buttonPressStart = 0;
bool ledState = false;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
if (buttonPressStart == 0) {
buttonPressStart = millis();
}
else if (millis() - buttonPressStart >= 2000) {
while( digitalRead(buttonPin) == HIGH)
{
digitalWrite(ledPin, !digitalRead(ledPin));
delay(500);
}
}
}
else {
if (buttonPressStart != 0 && millis() - buttonPressStart < 2000) {
ledState = !ledState;
digitalWrite(ledPin, ledState);
}
buttonPressStart = 0;
}
}