const int ledPins[] = {13, 12, 11, 10, 9}; // pin LED
const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]);
const int buttonPin = 2; // pin push button
int ledState = LOW;
int buttonState;
int lastButtonState = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;

void setup() {
  for (int i = 0; i < numLeds; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
  pinMode(buttonPin, INPUT);
}

void loop() {
  int reading = digitalRead(buttonPin);

  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }

  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (reading != buttonState) {
      buttonState = reading;

      if (buttonState == HIGH) {
        ledState = !ledState;

        if (ledState == HIGH) {
          for (int i = 0; i < numLeds; i++) {
            digitalWrite(ledPins[i], HIGH);
            delay(250);
            //digitalWrite(ledPins[i], LOW);
          }
        } else {
          for (int i = 0; i < numLeds; i++) {
            digitalWrite(ledPins[i], LOW);
            //delay(250);
            //digitalWrite(ledPins[i], HIGH);
            //delay(250);
          }
          for (int i = numLeds - 1; i >= 0; i--) {
            digitalWrite (ledPins[i], HIGH);
            delay(250);
          }
        }
      }
    }
  }

  lastButtonState = reading;
}


uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
r1:1
r1:2
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
led5:A
led5:C
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2
r5:1
r5:2
r6:1
r6:2