int ledPin1 = 10;
int ledPin2 = 11;
int ledPin3 = 12;
int ledPin4 = 13;
int inPin = 7; // pushbutton connected to digital pin 2
int val = 0; // variable to store the read value
int index = -1; // to indicate which led should be turned on
// the setup function runs once when you press reset or power the board
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(inPin, INPUT);
} // the loop function runs over and over again forever
void loop() {
val = digitalRead(inPin);
if (val == 1) { // the button is pushed
// turn off the LED which is on now
if (index != -1) { // if index is not the initial value
switch (index) {
case 0:
digitalWrite(ledPin1, LOW); // turn the LED off (LOW is the voltage level)
delay(50);
break;
case 1:
digitalWrite(ledPin2, LOW);
delay(50);
break;
case 2:
digitalWrite(ledPin3, LOW);
delay(50);
break;
case 3:
digitalWrite(ledPin4, LOW);
delay(50);
break;
}
}
// turn on the next LED
index++;
index = index % 5;
switch (index) {
case 0:
digitalWrite(ledPin1, HIGH); // turn the LED on (HIGH is the voltage level)
delay(250);
break;
case 1:
digitalWrite(ledPin2, HIGH);
delay(250);
break;
case 2:
digitalWrite(ledPin3, HIGH);
delay(250);
break;
case 3:
digitalWrite(ledPin4, HIGH);
delay(250);
break;
case 4:
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
delay(250);
break;
}
}
}