// Light Chaser v1
// set pin numbers:
const int buttonPin[3] = {19, 20, 21,}; // the number of the pushbutton pin
const int ledPin[4] = {0, 1, 2, 3}; // the number of the LED pin
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
pinMode(19, INPUT); // set the switch pin to be an input
pinMode(20, INPUT);
pinMode(21, INPUT);
pinMode(0, OUTPUT); // Sets the output pins
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
digitalWrite(19, HIGH);
digitalWrite(20, HIGH);
digitalWrite(21, HIGH);
}
void loop() {
if (digitalRead(19) == LOW) {
// if the switch is closed:
digitalWrite(0, HIGH);
delay(200);
digitalWrite(1, HIGH);
delay(200);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(3, HIGH);
delay(200);
digitalWrite(0, LOW);
delay(200);
digitalWrite(1, LOW);
delay(200);
digitalWrite(2, LOW);
delay(200);
digitalWrite(3, LOW);
delay(200);
digitalWrite(3, HIGH);
delay(200);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(1, HIGH);
delay(200);
digitalWrite(0, HIGH);
delay(200);
digitalWrite(3, LOW);
delay(200);
digitalWrite(2, LOW);
delay(200);
digitalWrite(1, LOW);
delay(200);
digitalWrite(0, LOW);
delay(200);
}
if (digitalRead(20) == LOW) {
// if the switch is closed:
digitalWrite(0, HIGH);
delay(200);
digitalWrite(0, LOW);
delay(200);
digitalWrite(1, HIGH);
delay(200);
digitalWrite(1, LOW);
delay(200);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(2, LOW);
delay(200);
digitalWrite(3, HIGH);
delay(200);
digitalWrite(3, LOW);
delay(200);
digitalWrite(0, HIGH);
delay(200);
digitalWrite(0, LOW);
delay(200);
digitalWrite(1, HIGH);
delay(200);
digitalWrite(1, LOW);
delay(200);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(2, LOW);
delay(200);
digitalWrite(3, HIGH);
delay(200);
digitalWrite(3, LOW);
delay(200);
}
if (digitalRead(21) == LOW) {
// if the switch is closed:
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
delay(200);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
delay(50);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
delay(150);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
delay(50);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
delay(150);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
delay(50);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
delay(150);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
delay(50);
}
}