/*
******************************************
******************************************
** Name: Liam **
** Prog Name: multi patern light chaser **
** Date: 09/17/2024 **
**Desc:Multiple light patterns that **
** light up **
** **
******************************************
******************************************
*/
int pinNumberRed = 13; // define red light pin
int pinNumberYel = 12; // define yellow light pin
int pinNumberGrn = 11; // define green light pin
int buttonPin = 7; // defines button pin
int patternNumber = 0; // defines pattern number
int speedValue = 500 ; // defines value of delay
void setup() {
DDRB = B111111; // sets the pin that will be OFF and ON
pinMode(buttonPin, INPUT_PULLUP); // sets button to INPUT PULLUP
Serial.begin(9600);
} // set up pin locations
int myPatternArray [6] [3] = { {8, 24, 56}, // makes lights go through a pattern
{48, 40,28},
{32, 16, 8},
{32, 48, 56},
{24, 40, 48},
{8, 16, 32}
};
void loop() {
if (digitalRead(buttonPin) == LOW) { //detects if button off
patternNumber++; // increase pattern by 1
if (patternNumber > 5) { // detects if pattern number is over 5
patternNumber = 0; // sets pattern number to 0
}
}
for (int x = 0; x < 3; x++) { // makes pattern go to 3 then reset to 0
PORTB = myPatternArray [ patternNumber] [x]; //sets port b value to array
delay(speedValue); // delays pattern
}
Serial.println(patternNumber); // prints patternNumber
}