#include <ezButton.h>
ezButton button(7); // create ezButton object that attaches to pin 7;
int buttonPressCount = 0;
void setup() {
Serial.begin(9600);
button.setDebounceTime(100); // set debounce time to 1000 milliseconds (1 second)
pinMode(13, OUTPUT); // set pin 13 as an output
pinMode(12, OUTPUT); // set pin 12 as an output
pinMode(11, OUTPUT); // set pin 11 as an output
pinMode(10, OUTPUT); // set pin 11 as an output
}
void loop() {
button.loop(); // MUST call the loop() function first
int btnState = button.getState();
if (button.isPressed()) {
Serial.println("The button is pressed");
buttonPressCount++;
if (buttonPressCount == 1) {
digitalWrite(13, HIGH);
} else if (buttonPressCount == 2) {
digitalWrite(12, HIGH);
} else if (buttonPressCount == 3) {
digitalWrite(11, HIGH);
} else if (buttonPressCount == 4) {
digitalWrite(10, 1);
delay(1000);
digitalWrite(10, 0);
delay(1000);
digitalWrite(10, 1);
delay(1000);
digitalWrite(10, 0);
delay(1000);
digitalWrite(10, 1);
delay(1000);
digitalWrite(10, 0);
delay(1000);
digitalWrite(10, 1);
delay(1000);
digitalWrite(10, 0);
delay(1000);
}
// Reset the counter after reaching 3
if (buttonPressCount > 4) {
buttonPressCount = 0;
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
}
}
if (button.isReleased()) {
Serial.println("The button is released");
// No need to change the state here
}
}