#include <SoftwareSerial.h>
//delays
const unsigned long fDelay = 175;
const unsigned long bDelay = 130;
//end of delays
// for bubble light
int bLED1 = 12;
int bLED2 = 11;
int bLED3 = 10;
int bLED4 = 9;
int bCounter = 1;
unsigned long previousTime = 0;
// for wig wags
int fLED1 = 8;
int fLED2 = 7;
int fcounter = 1;
unsigned long fTime = 0;
// for the break lights
int redLED = 6;
void setup(){
Serial.begin(9600);
pinMode(bLED1, OUTPUT);
pinMode(bLED2, OUTPUT);
pinMode(bLED3, OUTPUT);
pinMode(bLED4, OUTPUT);
pinMode(fLED1, OUTPUT);
pinMode(fLED2, OUTPUT);
pinMode(redLED, OUTPUT);
}
// beginning of void Bubble() This is the gumball lights
void Bubble(){
unsigned long currentTime = millis();
if(currentTime - previousTime >= bDelay){
previousTime = currentTime;
if (bCounter == 1 ){
digitalWrite(bLED1, HIGH);
digitalWrite(bLED2,LOW);
digitalWrite(bLED3, LOW);
digitalWrite(bLED4, LOW);
}
if (bCounter == 2){
digitalWrite(bLED1, LOW);
digitalWrite(bLED2, HIGH);
digitalWrite(bLED3, LOW);
digitalWrite(bLED4, LOW);
}
if (bCounter == 3){
digitalWrite(bLED1, LOW);
digitalWrite(bLED2, LOW);
digitalWrite(bLED3, HIGH);
digitalWrite(bLED4, LOW);
}
if (bCounter == 4){
digitalWrite(bLED1, LOW);
digitalWrite(bLED2, LOW);
digitalWrite(bLED3, LOW);
digitalWrite(bLED4, HIGH);
}
if (bCounter == 4){
bCounter = 0;
}
bCounter = bCounter +1;
}}
//end of void Bubble()
//beginning of void flash() This is the flashing or wig wag lights
void flash(){
unsigned long currentTime = millis();
if(currentTime - fTime >= fDelay){
fTime = currentTime;
if (fcounter == 1 ){
digitalWrite(fLED1, HIGH);
}
if (fcounter == 2 ){
digitalWrite(fLED1, LOW);
}
if (fcounter == 3 ){
digitalWrite(fLED1, HIGH);
}
if (fcounter == 4 ){
digitalWrite(fLED1, LOW);
}
if (fcounter == 5 ){
digitalWrite(fLED2, HIGH);
}
if (fcounter == 6 ){
digitalWrite(fLED2, LOW);
}
if (fcounter == 7 ){
digitalWrite(fLED2, HIGH);
}
if (fcounter == 8 ){
digitalWrite(fLED2, LOW);
}
if (fcounter == 8){
fcounter = 0;
}
fcounter = fcounter +1;
}}
//end of void flash()
void loop(){
Bubble();
flash();
digitalWrite(redLED, HIGH);
}