#define LED_COUNT 8
#define BUTTON_PIN 2
int leds[LED_COUNT] = {3, 4, 5, 6, 7, 8, 9, 10};
bool ledState = false;
bool lastButtonState = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup() {
for (int i = 0; i < LED_COUNT; i++) {
pinMode(leds[i], OUTPUT);
digitalWrite(leds[i], LOW); }
pinMode(BUTTON_PIN, INPUT);
}
void loop() {
bool buttonState = digitalRead(BUTTON_PIN);
if (buttonState != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (buttonState != ledState) {
ledState = buttonState;
if (ledState == HIGH) {
for (int i = 0; i < LED_COUNT; i++) {
digitalWrite(leds[i], HIGH);
delay(100);
}
for (int i = LED_COUNT - 1; i >= 0; i--) {
digitalWrite(leds[i], LOW);
delay(100);
}
}
}
}
lastButtonState = buttonState;
}