/*
******************************************
******************************************
** 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; // define all of port B as OUTPUTS
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
} // set up pin locations
int myPatternArray (6) (3) = {
{8,24,56} ,
{48,40,24} ,
{32,16,8} ,
{32,48,56} ,
{24,40,48} ,
{8,16,32}
};
void loop() {
if (digitalRead(buttonPin) == LOW) { // when button pressed change pattern
patternNumber++;
if (patternNumber > 5) { // if pattern number > 5 set pattern number = 0
patternNumber = 0;
}
}
if (patternNumber == 0) { // sets pattern number to = 0
PORTB = B001000;
delay(speedValue); // wait (speedvalue)
PORTB = B011000;
delay(speedValue); // wait (speedvalue)
PORTB = B111000;
delay(speedValue); // wait (speedvalue)
} else if (patternNumber == 1) { // set patternNumber to 1
PORTB = B110000;
delay(speedValue);
PORTB = B101000;
delay(speedValue);
PORTB = B011000;
delay(speedValue);
} else if (patternNumber == 2) { // set patternNumber to 2
PORTB = B100000;
delay(speedValue);
PORTB = B010000;
delay(speedValue);
PORTB = B001000;
delay(speedValue);
} else if (patternNumber ==3) { // set patternNumber to 3
PORTB = B100000;
delay(speedValue);
PORTB = B110000;
delay(speedValue);
PORTB = B111000;
delay(speedValue);
} else if (patternNumber ==4) { // set patternNumber to 4
PORTB = B011000;
delay(speedValue);
PORTB = B101000;
delay(speedValue);
PORTB = B110000;
delay(speedValue);
} else if (patternNumber == 5) { // set patternNumber to 5
PORTB = B001000;
delay(speedValue);
PORTB = B010000;
delay(speedValue);
PORTB = B100000;
delay(speedValue);
}
Serial.println (patternNumber); // print patternNumber
delay (1000);
}