// ****************************************************************
// * *
// * NAME : Marisa Johnston *
// * Program Name : Light Chaser .ino *
// * Date : 2023-02-21 *
// * Desc : Create a light chaser to turn on LEDs *
// * *
// ****************************************************************
int redLED = 12; // the pin for the blue led
int greenLED = 11; // the pin for the red led
int yellowLED = 10; // the pin for the pink led
int buttonPin = 8; // the pin for the button
int speaker = 7; // the pin for the speaker
int patternNumber = 1; // the delay time for lights
int delayTime = 100; // delay in ms between pattern steps
void setup() {
pinMode(redLED, OUTPUT); // config pin 12 to an OUTPUT
pinMode(greenLED, OUTPUT); // config pin 11 to an OUTPUT
pinMode(yellowLED, OUTPUT); // config pin 10 to an OUTPUT
pinMode(buttonPin, INPUT_PULLUP); // config button to be an INPUT
pinMode(7, OUTPUT); // config speaker on pin 7
} // end setup()
void loop() {
if ( digitalRead(buttonPin) == LOW ){ // check if pushed
patternNumber = patternNumber +1; // go to next pattern
if (patternNumber == 7){ // check if we exceeded the max patterns
patternNumber = 1; // if so reset pattern to 1
}// end if ()
tone (7,500,100);
delay(110);
}// end if()
if (patternNumber == 1 ) {
digitalWrite(redLED, LOW); // turn off power to pin 12
digitalWrite(greenLED, LOW); // turn off power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, LOW); // turn off power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, HIGH); // turn off power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, HIGH); // turn off power to pin 12
digitalWrite(greenLED, HIGH); // turn off power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
}
else if (patternNumber == 2 ) {
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, LOW); // turn off power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, LOW); // turn off power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, LOW); // turn off power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
}
else if (patternNumber == 3 ) {
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, LOW); // turn off power to pin 11
digitalWrite(yellowLED, LOW); // turn off power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, LOW); // turn off power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, LOW); // turn off power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, LOW); // turn off power to pin 12
digitalWrite(greenLED, LOW); // turn off power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
}
else if (patternNumber == 4 ) {
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, LOW); // turn off power to pin 11
digitalWrite(yellowLED, LOW); // turn off power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, LOW); // turn off power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
}
else if (patternNumber == 5 ) {
digitalWrite(redLED, LOW); // turn off power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, LOW); // turn off power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, LOW); // turn off power to pin 10
delay(delayTime); // wait 100 ms
}
else if (patternNumber == 6 ) {
digitalWrite(redLED, LOW); // turn off power to pin 12
digitalWrite(greenLED, LOW); // turn off power to pin 11
digitalWrite(yellowLED, HIGH); // send power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, LOW); // turn off power to pin 12
digitalWrite(greenLED, HIGH); // send power to pin 11
digitalWrite(yellowLED, LOW); // turn off power to pin 10
delay(delayTime); // wait 100 ms
digitalWrite(redLED, HIGH); // send power to pin 12
digitalWrite(greenLED, LOW); // turn off power to pin 11
digitalWrite(yellowLED, LOW); // turn off power to pin 10
delay(delayTime); // wait 100 ms
}// end if()
} // end loop()