// **********************************************************************
// * *
// * NAME : Marisa Johnston *
// * Program Name : Light Chaser array.ino *
// * Date : 2023-03-01 *
// * Desc : Create a light chaser to turn on LEDs using array *
// * *
// **********************************************************************
int buttonPin = 6; // the pin for the button
int patternNumber = 0; // tell which pattern will run
int delayTime = 100; // delay in ms between pattern steps
int patternStep = 0; // tell which pattern step will run
int patternArray [6] [3] = { {4,12,28} , {24,20,12} , {16,8,4} , {16,24,28} , {12,20,24} , {4,8,16} };
void setup() {
DDRB = B111111; // set portB to 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 == 6){ // check if we exceeded the max patterns
patternNumber = 0; // if so reset pattern to 1
}// end if ()
tone (7,500,100);
delay(110);
}// end if()
PORTB = patternArray[patternNumber] [patternStep]; //
delay(delayTime);
patternStep++;
if (patternStep == 3){
patternStep = 0;
} // end if()
}// end loop()