int value = 0;
int LED1 = 0;
int LED2 = 1;
int LED3 = 2;
int LED4 = 4;
int LED5 = 7;
int LED6 = 8;
int LED7 = 12;
int LED8 = 13;
int LED9 = 14;
int LED10 = 15;
int LED11 = 16;
int LED12 = 17;
int RED1 = 3;
int GREEN1 = 5;
int BLUE1 = 6;
int RED2 = 9;
int GREEN2 = 10;
int BLUE2 = 11;
int P = 50; //sp1 delay
int X = 100; //sp2 delay
int Y = 4; //Fade up speed
int Z = 4; //Fade up speed
int FadeHoldDelay = 250;
int AltDelay = 250;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
pinMode(LED8, OUTPUT);
pinMode(LED9, OUTPUT);
pinMode(LED10, OUTPUT);
pinMode(LED11, OUTPUT);
pinMode(LED12, OUTPUT);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED6, LOW);
digitalWrite(LED7, LOW);
digitalWrite(LED8, LOW);
digitalWrite(LED9, LOW);
digitalWrite(LED10, LOW);
digitalWrite(LED11, LOW);
digitalWrite(LED12, LOW);
Red1Off();
Blue1Off();
Green1Off();
Red2Off();
Blue2Off();
Green2Off();
}
void loop()
{
LEDOn(LED1);
LEDOn(LED2);
LEDOn(LED3);
LEDOn(LED4);
LEDOn(LED5);
LEDOn(LED6);
LEDOn(LED7);
LEDOn(LED8);
LEDOn(LED9);
LEDOn(LED10);
LEDOn(LED11);
LEDOn(LED12);
FadeUp(RED1, RED2,Y);
delay(FadeHoldDelay);
FadeDown(RED1, RED2, Z);
FadeUp(GREEN1, GREEN2, Y);
delay(FadeHoldDelay);
FadeDown(GREEN1, GREEN2, Z);
FadeUp(BLUE1, BLUE2, Y);
delay(FadeHoldDelay);
FadeDown(BLUE1, BLUE2,Z);
Magenta1On ();
Magenta2On ();
delay (AltDelay);
Magenta1Off();
Magenta2Off();
Cyan1On ();
Cyan2On();
delay (AltDelay);
Cyan1Off ();
Cyan2Off();
Yellow1On ();
Yellow2On();
delay (AltDelay);
Yellow1Off;
Yellow2Off();
Blue1On();
Cyan2On();
delay (AltDelay);
Blue1Off();
Cyan2Off();
Green2On();
Yellow1On();
delay (AltDelay);
Green2Off();
Yellow1Off();
Red1On();
Magenta2On();
delay (AltDelay);
Red1Off();
Magenta2Off();
White1On();
White2On();
delay(AltDelay);
White1Off();
White2Off();
Blue1On();
Cyan2On();
delay (AltDelay);
Blue1Off();
Cyan2Off();
Green2On();
Yellow1On();
delay (AltDelay);
Green2Off();
Yellow1Off();
Red1On();
Magenta2On();
delay (AltDelay);
Red1Off();
Magenta2Off();
Red1On();
White2On();
delay(AltDelay);
Red1Off();
White2Off();
LEDOff(LED1);
LEDOff(LED2);
LEDOff(LED3);
LEDOff(LED4);
LEDOff(LED5);
LEDOff(LED6);
LEDOff(LED7);
LEDOff(LED8);
LEDOff(LED9);
LEDOff(LED10);
LEDOff(LED11);
LEDOff(LED12);
Red1Off();
Blue1Off();
Green1Off();
Red2Off();
Blue2Off();
Green2Off();
White1Off();
White2Off();
Red1Off();
Green1Off();
Blue1Off();
Red2Off();
Green2Off();
Blue2Off();
Red1On();
Red2On();
LEDSp(P);
Red1Off();
Red2Off();
Blue1On();
Blue2On();
LEDSp(P);
Blue1Off();
Blue2Off();
Green1On();
Green2On();
LEDSp(P);
Green1Off();
Green2Off();
Magenta1On ();
Magenta2On ();
LEDSp(P);
Magenta1Off();
Magenta2Off();
Cyan1On ();
Cyan2On();
LEDSp(P);
Cyan1Off ();
Cyan2Off();
Yellow1On ();
Yellow2On();
LEDSp(P);
Yellow1Off;
Yellow2Off();
White1On();
White2On();
LEDSp(P);
White1Off();
White2Off();
Blue1On();
Cyan2On();
LEDSp(P);
Blue1Off();
Cyan2Off();
Green2On();
Yellow1On();
LEDSp(P);
Green2Off();
Yellow1Off();
Red1On();
Magenta2On();
LEDSp(P);
Red1Off();
Magenta2Off();
Red1On();
White2On();
LEDSp(P);
Red1Off();
White2Off();
Red1Off();
Green1Off();
Blue1Off();
Red2Off();
Green2Off();
Blue2Off();
Yellow1On();
Blue2On();
LEDSp2 (X);
Yellow1Off();
Blue2Off();
White1On();
Magenta2On();
LEDSp2 (X);
White1Off();
Magenta2Off();
Red1Off();
Blue1Off();
Green1Off();
Red2Off();
Blue2Off();
Green2Off();
}
void LEDSp (int P) { // spirals on from 1-n
LEDOn(LED1);
delay(P);
LEDOn(LED2);
delay(P);
LEDOn(LED3);
delay(P);
LEDOn(LED4);
delay(P);
LEDOn(LED5);
delay(P);
LEDOn(LED6); \
delay(P);
LEDOn(LED7);
delay(P);
LEDOn(LED8);
delay(P);
LEDOn(LED9);
delay(P);
LEDOn(LED10);
delay(P);
LEDOn(LED11);
delay(P);
LEDOn(LED12);
delay(P);
LEDOff(LED1);
delay(P);
LEDOff(LED2);
delay(P);
LEDOff(LED3);
delay(P);
LEDOff(LED4);
delay(P);
LEDOff(LED5);
delay(P);
LEDOff(LED6);
delay(P);
LEDOff(LED7);
delay(P);
LEDOff(LED8);
delay(P);
LEDOff(LED9);
delay(P);
LEDOff(LED10);
delay(P);
LEDOff(LED11);
delay(P);
LEDOff(LED12);
}
void LEDSp2 (int x) { // spirals on from 1-n
LEDOn(LED1);
delay(x);
LEDOff(LED1);
LEDOn(LED2);
delay(x);
LEDOff(LED2);
LEDOn(LED3);
delay(x);
LEDOff(LED3);
LEDOn(LED4);
delay(x);
LEDOff(LED4);
LEDOn(LED5);
delay(x);
LEDOff(LED5);
LEDOn(LED6);
delay(x);
LEDOff(LED6);
LEDOn(LED7);
delay(x);
LEDOff(LED7);
LEDOn(LED8);
delay(x);
LEDOff(LED8);
LEDOn(LED9);
delay(x);
LEDOff(LED9);
LEDOn(LED10);
delay(x);
LEDOff(LED10);
LEDOn(LED11);
delay(x);
LEDOff(LED11);
LEDOn(LED12);
delay(x);
LEDOff(LED12);
}
void LEDOn(int x) {
digitalWrite(x, HIGH);
}
void LEDOff(int x) {
digitalWrite(x, LOW);
}
void Red1On() {
analogWrite(RED1, 100);
}
void Red1Off() {
analogWrite(RED1, 255);
}
void Green1On() {
analogWrite(GREEN1, 100);
}
void Green1Off() {
analogWrite(GREEN1, 255);
}
void Blue1On() {
analogWrite(BLUE1, 100);
}
void Blue1Off() {
analogWrite(BLUE1, 255);
}
void Red2On() {
analogWrite(RED2, 100);
}
void Red2Off() {
analogWrite(RED2, 255);
}
void Green2On() {
analogWrite(GREEN2, 100);
}
void Green2Off() {
analogWrite(GREEN2, 255);
}
void Blue2On() {
analogWrite(BLUE2, 100);
}
void Blue2Off() {
analogWrite(BLUE2, 255);
}
void Yellow1On() {
analogWrite (RED1, 100) ;
analogWrite (GREEN1, 100);
}
void Yellow1Off() {
analogWrite (RED1, 255);
analogWrite (GREEN1, 255);
}
void Cyan1On() {
analogWrite (GREEN1, 100);
analogWrite (BLUE1, 100);
}
void Cyan1Off () {
analogWrite (GREEN1, 255);
analogWrite (BLUE1, 255);
}
void Magenta1On () {
analogWrite (RED1, 100);
analogWrite (BLUE1, 100);
}
void Magenta1Off () {
analogWrite (RED1, 255);
analogWrite (BLUE1, 255);
}
void White1On () {
analogWrite (RED1, 100);
analogWrite (BLUE1, 100);
analogWrite (GREEN1, 100);
}
void White1Off () {
analogWrite (RED1, 225);
analogWrite (BLUE1, 225);
analogWrite (GREEN1, 225);
}
void Yellow2On() {
analogWrite (RED2, 100) ;
analogWrite (GREEN2, 100);
}
void Yellow2Off() {
analogWrite (RED2, 255);
analogWrite (GREEN2, 255);
}
void Cyan2On() {
analogWrite (GREEN2, 100);
analogWrite (BLUE2, 100);
}
void Cyan2Off () {
analogWrite (GREEN2, 255);
analogWrite (BLUE2, 255);
}
void Magenta2On () {
analogWrite (RED2, 100);
analogWrite (BLUE2, 100);
}
void Magenta2Off () {
analogWrite (RED2, 255);
analogWrite (BLUE2, 255);
}
void White2On () {
analogWrite (RED2, 100);
analogWrite (BLUE2, 100);
analogWrite (GREEN2, 100);
}
void White2Off () {
analogWrite (RED2, 225);
analogWrite (BLUE2, 225);
analogWrite (GREEN2, 225);
}
void FadeUp(int colour, int colour2 , int speed) {
for (value = 255 ; value >= 80;) // fade in (from min to max)
{
analogWrite(colour, value); // sets the value (range from 0 to 255)
analogWrite(colour2, value);
delay(30); // waits for 30 milli seconds to see the dimming effect
value = value - speed;
}
}
void FadeDown(int colour, int colour2, int speed) {
for (value = 80; value <= 255;) // fade out (from max to min)
{
analogWrite(colour, value);
analogWrite(colour2, value);
delay(30);
value = value + speed;
}
}