This LED project makes the lights light up to the end and then reverse when the button is pushed.
int ledPins[] = {2,3,4,5,6,7,8,9};
const int button1Pin = 10;
void setup()
{
pinMode(button1Pin, INPUT);
int index;
for(index = 0; index <= 7; index++)
{
pinMode(ledPins[index],OUTPUT);
}
}
void loop()
{
int button1State = digitalRead(button1Pin);
if (button1State == HIGH)
{
oneAfterAnotherLoop(); // Light up all the LEDs in turn
}
else
{
turnOff();
}
}
void oneAfterAnotherLoop()
{
int index;
int delayTime = 100; // milliseconds to pause between LEDs
for(index = 0; index <= 7; index++)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
}
for(index = 7; index >= 0; index--)
{
digitalWrite(ledPins[index], LOW);
delay(delayTime);
}
}
void turnOff()
{
digitalWrite(ledPins[7], LOW); //Turn off LED #7
digitalWrite(ledPins[6], LOW); //Turn off LED #6
digitalWrite(ledPins[5], LOW); //Turn off LED #5
digitalWrite(ledPins[4], LOW); //Turn off LED #4
digitalWrite(ledPins[3], LOW); //Turn off LED #3
digitalWrite(ledPins[2], LOW); //Turn off LED #2
digitalWrite(ledPins[1], LOW); //Turn off LED #1
digitalWrite(ledPins[0], LOW); //Turn off LED #0
}

