#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
const int player_counter = 0;
const int player_limit=6;
const int player_array_size=player_limit-1;
const int number_of_leds = 20;
const int number_of_PWMS = 4;
int player[player_array_size][number_of_leds];
int myleds_PWM_unit[number_of_leds];
int myleds_port_number[number_of_leds];
int global_delay=200;
// Define PCA9685 addresses
#define PCA9685_ADDRESS_0 0x40
#define PCA9685_ADDRESS_1 0x41
#define PCA9685_ADDRESS_2 0x42
#define PCA9685_ADDRESS_3 0x43
Adafruit_PWMServoDriver pwm0 = Adafruit_PWMServoDriver(PCA9685_ADDRESS_0, Wire);
Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(PCA9685_ADDRESS_1, Wire);
Adafruit_PWMServoDriver pwm2 = Adafruit_PWMServoDriver(PCA9685_ADDRESS_2, Wire);
Adafruit_PWMServoDriver pwm3 = Adafruit_PWMServoDriver(PCA9685_ADDRESS_3, Wire);
Adafruit_PWMServoDriver PWMs[number_of_PWMS] = {pwm0, pwm1, pwm2, pwm3};
int color[][5] = {
{0, 0, 0},
{0, 0, 255},
{255, 255, 0},
{0, 255, 0},
{255, 255, 255},
{255, 0, 0}
};
int color_black = 0;
int color_blue = 1;
int color_yellow = 2;
int color_green = 3;
int color_white = 4;
int color_red = 5;
bool run_trafficAdvisorL = true;
bool run_front_alt_blue_red=true;
bool run_trafficAdvisorR = true;
bool run_MIDDLE = true;
/*
int blank_pattern[player_limit][number_of_leds]=
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
};
*/
int trafficAdvisorR[player_limit][number_of_leds]=
{
{0,0,0,0,0,0,0,0,0,0, 0,0,-1,-1,-1,-1,-1,2,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0,-1,-1,-1,-1,2, 2,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0,-1,-1,-1,2, 2, 2,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0,-1,-1,2, 2, 2, 2,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0,-1,2, 2, 2, 2, 2,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0,2, 2, 2, 2, 2, 2,0,0},
};
int whyNoWork[player_limit][number_of_leds]=
{
{0,0,0,0,0,0,0,0,0,0, 0, 0, -1, -1, 2 ,2, -1, -1, 0,0},
{0,0,0,0,0,0,0,0,0,0, 0, 0, -1, 2, 2, 2, 2, -1, 0,0},
{0,0,0,0,0,0,0,0,0,0, 0, 0, 2, 2, 2, 2, 2, 2, 0,0},
{0,0,0,0,0,0,0,0,0,0, 0, 0, 2, 2, 2, 2, 2, 2, 0,0},
{0,0,0,0,0,0,0,0,0,0, 0, 0, 2, 2, 2, 2, 2, 2, 0,0},
{0,0,0,0,0,0,0,0,0,0, 0, 0, 2, 2, 2, 2, 2, 2, 0,0},
};
int trafficAdvisorL[player_limit][number_of_leds]=
{
{0,0,0,0,0,0,0,0,0,0, 0,0,2,-1,-1,-1,-1,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2,2,-1,-1,-1,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2, 2,2,-1,-1,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2, 2,2, 2,-1,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2, 2, 2, 2,2,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2, 2, 2, 2, 2,2,0,0},
};
int MIDDLE[player_limit][number_of_leds]=
{
{0,0,0,0,0,0,0,0,0,0, 0,0,2,-1,-1,-1,-1,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2,2,-1,-1,-1,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2, 2,2,-1,-1,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2, 2,2, 2,-1,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2, 2, 2, 2,2,-1,0,0},
{0,0,0,0,0,0,0,0,0,0, 0,0, 2, 2, 2, 2, 2,2,0,0},
};
int front_alt_blue_red[player_limit][number_of_leds]=
{
{0,1,5,1,5,1,5,1,5,0, 0,0,0,0,0,0,0,0,0,0},
{0,5,1,5,1,5,1,5,1,0, 0,0,0,0,0,0,0,0,0,0},
{0,1,5,1,5,1,5,1,5,0, 0,0,0,0,0,0,0,0,0,0},
{0,5,1,5,1,5,1,5,1,0, 0,0,0,0,0,0,0,0,0,0},
{0,1,5,1,5,1,5,1,5,0, 0,0,0,0,0,0,0,0,0,0},
{0,5,1,5,1,5,1,5,1,0, 0,0,0,0,0,0,0,0,0,0},
};
int silly_funny_pattern_01[player_limit][number_of_leds]=
{
{5,5,5,5,5,1,1,1,1,1, 1,1,1,1,1,5,5,5,5,5},
{1,1,1,1,1,5,5,5,5,5, 5,5,5,5,5,1,1,1,1,1},
{5,5,5,5,5,1,1,1,1,1, 1,1,1,1,1,5,5,5,5,5},
{1,1,1,1,1,5,5,5,5,5, 5,5,5,5,5,1,1,1,1,1},
{5,5,5,5,5,1,1,1,1,1, 1,1,1,1,1,5,5,5,5,5},
{1,1,1,1,1,5,5,5,5,5, 5,5,5,5,5,1,1,1,1,1},
};
void setup() {
Serial.begin(9600);
// starts the PWM units and sets the Freq
for ( int x = 0; x < number_of_PWMS; x++)
{
PWMs[x].begin();
PWMs[x].setPWMFreq(1000);
}
// this just fills the array with the values we want
int counter = 0; // this counter keeps track of the led number
for ( int pwm_unit = 0; pwm_unit < number_of_PWMS; pwm_unit++)
{
// we start at x = 0
// for each we also do this
for (int port = 0; port < 5; port++)
{
myleds_PWM_unit[counter] = pwm_unit;
myleds_port_number[counter] = port;
counter++;
}
}
// your delay - assume for chip settle
delay(10);
pinMode(11, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
}
/*
int blank_pattern[player_limit][number_of_leds]=
{
//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};
*/
void loop() {
for ( int player_run=0; player_run < player_limit; player_run++)
{
//zero the player run
for (int x= 0 ;x < 20;x++)
{
player[player_run][x]=0;
}
{
if (run_front_alt_blue_red) set_player(player_run, front_alt_blue_red);
//if (run_back_alt_blue_red) set_player(player_run, back_alt_blue_red);
if (run_trafficAdvisorL) set_player(player_run, trafficAdvisorL);
if (run_trafficAdvisorR) set_player(player_run, trafficAdvisorR);
if (run_MIDDLE) set_player(player_run, MIDDLE);
//if (run_whyNoWork) set_player(player_run, whyNoWork);
//if (run_whiteL) set_player(player_run, whiteL);
//if (run_whiteR) set_player(player_run, whiteR);
if (silly_funny_pattern_01)
{
//global_delay = 100;
for (int x= 0;x < 20;x++)
{
// see
if (silly_funny_pattern_01[player_run][x] !=0)
{
player[player_run][x]=silly_funny_pattern_01[player_run][x];
}
}
}
if (run_trafficAdvisorR)
if(digitalRead(10) == 1)
{
{
for (int x= 0;x < 20;x++)
{
// see
if (trafficAdvisorR[player_run][x] !=0)
{
player[player_run][x]=trafficAdvisorR[player_run][x];
}
}
}
}
if (run_trafficAdvisorL)
if(digitalRead(11) == 1)
{
{
for (int x= 0;x < 20;x++)
{
// see
if (trafficAdvisorL[player_run][x] !=0)
{
player[player_run][x]=trafficAdvisorL[player_run][x];
}
}
}
}
if (run_MIDDLE)
if(digitalRead(9) == 1)
{
{
for (int x= 0;x < 20;x++)
{
// see
if (MIDDLE[player_run][x] !=0)
{
player[player_run][x]=MIDDLE[player_run][x];
}
}
}
}
// completed all the pattern insertions - show it
for ( int x = 0; x < 20; x++)
{
setLED(x, player[player_run][x]);
}
Serial.println(digitalRead(11));
delay(global_delay);
}
//delay(10); // chip settle ?
}
}
void set_player( int line_number, int selected_array[5][20] )
{
for (int x = 0; x < 20; x++)
{
if (selected_array[line_number][x] != 0) // <--- if the pattern is 0 -
// we dont do any thing
{
player[line_number][x] = selected_array[line_number][x];
}
}
}
void setLED(uint8_t lednumber, uint8_t color_num) {
// this sets the color based on the number that comes in (color_num)
int Rvalue = color[color_num][0];
int Gvalue = color[color_num][1];
int Bvalue = color[color_num][2];
// this is your code to map to 4096 from 255
uint16_t redPWM = (Rvalue == 0) ? 4096 : map(Rvalue, 0, 255, 0, 4095);
uint16_t greenPWM = (Gvalue == 0) ? 4096 : map(Gvalue, 0, 255, 0, 4095);
uint16_t bluePWM = (Bvalue == 0) ? 4096 : map(Bvalue, 0, 255, 0, 4095);
// this is where the actual PWM chip and LED are set
PWMs[myleds_PWM_unit[lednumber]].setPWM((myleds_port_number[lednumber]) * 3, 4096, redPWM);
PWMs[myleds_PWM_unit[lednumber]].setPWM((myleds_port_number[lednumber]) * 3 + 1, 4096, greenPWM);
PWMs[myleds_PWM_unit[lednumber]].setPWM((myleds_port_number[lednumber]) * 3 + 2, 4096, bluePWM);
//delay(20);
}
//-------------------
//PATTERNS
//-------------------
/*
void chipWireTest()
{
for ( int x = red_blue_1_start ; x < red_blue_1_end; x++)
{
if ( x % 2 == 0)
{ setLED(x, color_red);
}
else
{
setLED(x, color_blue);
}
delay(100);
}
for ( int x = red_blue_1_end; x < red_blue_2_start; x++)
{
setLED(x, color_yellow);
delay(100);
}
for ( int x = red_blue_2_start; x < red_blue_2_end; x++)
{
if ( x % 2 == 0)
{ setLED(x, color_red);
}
else
{
setLED(x, color_blue);
}
delay(100);
}
delay(1000);
for ( int x = white_start; x < white_end; x++)
{
setLED(x, color_white);
delay(100);
}
delay(3000);
for ( int x = 0; x < 20; x++)
{
setLED(x, color_blue);
}
delay(300);
for ( int x = 0; x < 20; x++)
{
setLED(x, color_yellow);
}
delay(300);
for ( int x = 0; x < 20; x++)
{
setLED(x, color_green);
}
delay(300);
}
void trafficAdvisorL()
{
setLED(3, 255, 255, 0, pwm2);
delay(250);
setLED(4, 255, 255, 0, pwm2);
delay(250);
setLED(5, 255, 255, 0, pwm2);
delay(250);
setLED(1, 255, 255, 0, pwm3);
delay(250);
setLED(2, 255, 255, 0, pwm3);
delay(250);
setLED(3, 255, 255, 0, pwm3);
delay(250);
setLED(3, 0, 0, 0, pwm2);
setLED(4, 0, 0, 0, pwm2);
setLED(5, 0, 0, 0, pwm2);
setLED(1, 0, 0, 0, pwm3);
setLED(2, 0, 0, 0, pwm3);
setLED(3, 0, 0, 0, pwm3);
}
*/
/*
void trafficAdvisorR()
{
setLED(3, 255, 255, 0, pwm3);
delay(250);
setLED(2, 255, 255, 0, pwm3);
delay(250);
setLED(1, 255, 255, 0, pwm3);
delay(250);
setLED(5, 255, 255, 0, pwm2);
delay(250);
setLED(4, 255, 255, 0, pwm2);
delay(250);
setLED(3, 255, 255, 0, pwm2);
delay(250);
setLED(3, 0, 0, 0, pwm2);
setLED(4, 0, 0, 0, pwm2);
setLED(5, 0, 0, 0, pwm2);
setLED(1, 0, 0, 0, pwm3);
setLED(2, 0, 0, 0, pwm3);
setLED(3, 0, 0, 0, pwm3);
}
void trafficAdvisorM()
{
setLED(5, 255, 255, 0, pwm2);
setLED(1, 255, 255, 0, pwm3);
delay(250);
setLED(4, 255, 255, 0, pwm2);
setLED(2, 255, 255, 0, pwm3);
delay(250);
setLED(3, 255, 255, 0, pwm2);
setLED(3, 255, 255, 0, pwm3);
delay(250);
setLED(3, 0, 0, 0, pwm2);
setLED(4, 0, 0, 0, pwm2);
setLED(5, 0, 0, 0, pwm2);
setLED(1, 0, 0, 0, pwm3);
setLED(2, 0, 0, 0, pwm3);
setLED(3, 0, 0, 0, pwm3);
delay(250);
}
void trafficAdvisorS()
{
subTAS1();
subTAS1();
subTAS1();
subTAS1();
subTAS1();
subTAS2();
subTAS2();
subTAS2();
subTAS2();
subTAS2();
subTAS3();
subTAS3();
subTAS3();
subTAS3();
subTAS3();
}
*/
void allOff()
{
for ( int x = 0; x < 20; x++)
{
setLED(x, color_black);
}
}
void allRed()
{
for ( int x = 0; x < 20; x++)
{
setLED(x, color_red);
}
}
void allBlue()
{
for ( int x = 0; x < 20; x++)
{
setLED(x, color_blue);
}
}
/*
void leftSideRed()
{
setLED(1, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm0);
setLED(3, 255, 0, 0, pwm0);
setLED(4, 255, 0, 0, pwm0);
setLED(5, 255, 0, 0, pwm0);
setLED(1, 255, 0, 0, pwm3);
setLED(2, 255, 0, 0, pwm3);
setLED(3, 255, 0, 0, pwm3);
setLED(4, 255, 0, 0, pwm3);
setLED(5, 255, 0, 0, pwm3);
}
void rightSideRed()
{
setLED(1, 255, 0, 0, pwm1);
setLED(2, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm1);
setLED(4, 255, 0, 0, pwm1);
setLED(5, 255, 0, 0, pwm1);
setLED(1, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm2);
setLED(3, 255, 0, 0, pwm2);
setLED(4, 255, 0, 0, pwm2);
setLED(5, 255, 0, 0, pwm2);
}
void leftSideBlue()
{
setLED(1, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm0);
setLED(3, 0, 0, 255, pwm0);
setLED(4, 0, 0, 255, pwm0);
setLED(5, 0, 0, 255, pwm0);
setLED(1, 0, 0, 255, pwm3);
setLED(2, 0, 0, 255, pwm3);
setLED(3, 0, 0, 255, pwm3);
setLED(4, 0, 0, 255, pwm3);
setLED(5, 0, 0, 255, pwm3);
}
void rightSideBlue()
{
setLED(1, 0, 0, 255, pwm1);
setLED(2, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm1);
setLED(4, 0, 0, 255, pwm1);
setLED(5, 0, 0, 255, pwm1);
setLED(1, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm2);
setLED(3, 0, 0, 255, pwm2);
setLED(4, 0, 0, 255, pwm2);
setLED(5, 0, 0, 255, pwm2);
}
//------------------------------------------------
void patternTest()
{
allRed();
checkSwitch();
delay(50);
checkSwitch();
allOff();
checkSwitch();
delay(15);
checkSwitch();
allRed();
checkSwitch();
delay(50);
checkSwitch();
allOff();
checkSwitch();
delay(15);
checkSwitch();
allRed();
checkSwitch();
delay(50);
checkSwitch();
allOff();
checkSwitch();
delay(150);
checkSwitch();
allBlue();
checkSwitch();
delay(50);
checkSwitch();
allOff();
checkSwitch();
delay(15);
checkSwitch();
allBlue();
checkSwitch();
delay(50);
checkSwitch();
allOff();
checkSwitch();
delay(15);
checkSwitch();
allBlue();
checkSwitch();
delay(50);
checkSwitch();
allOff();
checkSwitch();
delay(150);
checkSwitch();
}
void doubleDual()
{
leftSideRed();
delay(60);
allOff();
delay(20);
leftSideRed();
delay(60);
allOff();
delay(20);
rightSideRed();
delay(60);
allOff();
rightSideRed();
delay(60);
allOff();
rightSideRed();
delay(60);
allOff();
leftSideBlue();
delay(60);
allOff();
delay(20);
leftSideBlue();
delay(60);
allOff();
delay(20);
rightSideBlue();
delay(60);
allOff();
rightSideBlue();
delay(60);
allOff();
rightSideBlue();
delay(60);
allOff();
}
void unnamedPattern()
{
setLED(1, 255, 0, 0, pwm0);
setLED(3, 255, 0, 0, pwm0);
setLED(5, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm1);
setLED(4, 255, 0, 0, pwm1);
setLED(6, 255, 0, 0, pwm1);
setLED(1, 255, 0, 0, pwm2);
setLED(3, 255, 0, 0, pwm2);
setLED(5, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm3);
setLED(4, 255, 0, 0, pwm3);
setLED(6, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 255, 0, 0, pwm0);
setLED(3, 255, 0, 0, pwm0);
setLED(5, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm1);
setLED(4, 255, 0, 0, pwm1);
setLED(6, 255, 0, 0, pwm1);
setLED(1, 255, 0, 0, pwm2);
setLED(3, 255, 0, 0, pwm2);
setLED(5, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm3);
setLED(4, 255, 0, 0, pwm3);
setLED(6, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 255, 0, 0, pwm0);
setLED(3, 255, 0, 0, pwm0);
setLED(5, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm1);
setLED(4, 255, 0, 0, pwm1);
setLED(6, 255, 0, 0, pwm1);
setLED(1, 255, 0, 0, pwm2);
setLED(3, 255, 0, 0, pwm2);
setLED(5, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm3);
setLED(4, 255, 0, 0, pwm3);
setLED(6, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(2, 255, 0, 0, pwm0);
setLED(4, 255, 0, 0, pwm0);
setLED(6, 255, 0, 0, pwm0);
setLED(1, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm1);
setLED(5, 255, 0, 0, pwm1);
setLED(2, 255, 0, 0, pwm2);
setLED(4, 255, 0, 0, pwm2);
setLED(6, 255, 0, 0, pwm2);
setLED(1, 255, 0, 0, pwm3);
setLED(3, 255, 0, 0, pwm3);
setLED(5, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(2, 255, 0, 0, pwm0);
setLED(4, 255, 0, 0, pwm0);
setLED(6, 255, 0, 0, pwm0);
setLED(1, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm1);
setLED(5, 255, 0, 0, pwm1);
setLED(2, 255, 0, 0, pwm2);
setLED(4, 255, 0, 0, pwm2);
setLED(6, 255, 0, 0, pwm2);
setLED(1, 255, 0, 0, pwm3);
setLED(3, 255, 0, 0, pwm3);
setLED(5, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(2, 255, 0, 0, pwm0);
setLED(4, 255, 0, 0, pwm0);
setLED(6, 255, 0, 0, pwm0);
setLED(1, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm1);
setLED(5, 255, 0, 0, pwm1);
setLED(2, 255, 0, 0, pwm2);
setLED(4, 255, 0, 0, pwm2);
setLED(6, 255, 0, 0, pwm2);
setLED(1, 255, 0, 0, pwm3);
setLED(3, 255, 0, 0, pwm3);
setLED(5, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 0, 0, 255, pwm0);
setLED(3, 0, 0, 255, pwm0);
setLED(5, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm1);
setLED(4, 0, 0, 255, pwm1);
setLED(6, 0, 0, 255, pwm1);
setLED(1, 0, 0, 255, pwm2);
setLED(3, 0, 0, 255, pwm2);
setLED(5, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm3);
setLED(4, 0, 0, 255, pwm3);
setLED(6, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 0, 0, 255, pwm0);
setLED(3, 0, 0, 255, pwm0);
setLED(5, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm1);
setLED(4, 0, 0, 255, pwm1);
setLED(6, 0, 0, 255, pwm1);
setLED(1, 0, 0, 255, pwm2);
setLED(3, 0, 0, 255, pwm2);
setLED(5, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm3);
setLED(4, 0, 0, 255, pwm3);
setLED(6, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 0, 0, 255, pwm0);
setLED(3, 0, 0, 255, pwm0);
setLED(5, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm1);
setLED(4, 0, 0, 255, pwm1);
setLED(6, 0, 0, 255, pwm1);
setLED(1, 0, 0, 255, pwm2);
setLED(3, 0, 0, 255, pwm2);
setLED(5, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm3);
setLED(4, 0, 0, 255, pwm3);
setLED(6, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(2, 0, 0, 255, pwm0);
setLED(4, 0, 0, 255, pwm0);
setLED(6, 0, 0, 255, pwm0);
setLED(1, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm1);
setLED(5, 0, 0, 255, pwm1);
setLED(2, 0, 0, 255, pwm2);
setLED(4, 0, 0, 255, pwm2);
setLED(6, 0, 0, 255, pwm2);
setLED(1, 0, 0, 255, pwm3);
setLED(3, 0, 0, 255, pwm3);
setLED(5, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(2, 0, 0, 255, pwm0);
setLED(4, 0, 0, 255, pwm0);
setLED(6, 0, 0, 255, pwm0);
setLED(1, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm1);
setLED(5, 0, 0, 255, pwm1);
setLED(2, 0, 0, 255, pwm2);
setLED(4, 0, 0, 255, pwm2);
setLED(6, 0, 0, 255, pwm2);
setLED(1, 0, 0, 255, pwm3);
setLED(3, 0, 0, 255, pwm3);
setLED(5, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(2, 0, 0, 255, pwm0);
setLED(4, 0, 0, 255, pwm0);
setLED(6, 0, 0, 255, pwm0);
setLED(1, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm1);
setLED(5, 0, 0, 255, pwm1);
setLED(2, 0, 0, 255, pwm2);
setLED(4, 0, 0, 255, pwm2);
setLED(6, 0, 0, 255, pwm2);
setLED(1, 0, 0, 255, pwm3);
setLED(3, 0, 0, 255, pwm3);
setLED(5, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
}
void unnamedPattern2()
{
setLED(1, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm0);
setLED(5, 255, 0, 0, pwm0);
setLED(1, 255, 0, 0, pwm1);
setLED(4, 255, 0, 0, pwm1);
setLED(5, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm2);
setLED(4, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm3);
setLED(3, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm0);
setLED(5, 255, 0, 0, pwm0);
setLED(1, 255, 0, 0, pwm1);
setLED(4, 255, 0, 0, pwm1);
setLED(5, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm2);
setLED(4, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm3);
setLED(3, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm0);
setLED(5, 255, 0, 0, pwm0);
setLED(1, 255, 0, 0, pwm1);
setLED(4, 255, 0, 0, pwm1);
setLED(5, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm2);
setLED(4, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm3);
setLED(3, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(3, 255, 0, 0, pwm0);
setLED(4, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm1);
setLED(1, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm2);
setLED(5, 255, 0, 0, pwm2);
setLED(1, 255, 0, 0, pwm3);
setLED(4, 255, 0, 0, pwm3);
setLED(5, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(3, 255, 0, 0, pwm0);
setLED(4, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm1);
setLED(1, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm2);
setLED(5, 255, 0, 0, pwm2);
setLED(1, 255, 0, 0, pwm3);
setLED(4, 255, 0, 0, pwm3);
setLED(5, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(3, 255, 0, 0, pwm0);
setLED(4, 255, 0, 0, pwm0);
setLED(2, 255, 0, 0, pwm1);
setLED(3, 255, 0, 0, pwm1);
setLED(1, 255, 0, 0, pwm2);
setLED(2, 255, 0, 0, pwm2);
setLED(5, 255, 0, 0, pwm2);
setLED(1, 255, 0, 0, pwm3);
setLED(4, 255, 0, 0, pwm3);
setLED(5, 255, 0, 0, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm0);
setLED(5, 0, 0, 255, pwm0);
setLED(1, 0, 0, 255, pwm1);
setLED(4, 0, 0, 255, pwm1);
setLED(5, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm2);
setLED(4, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm3);
setLED(3, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm0);
setLED(5, 0, 0, 255, pwm0);
setLED(1, 0, 0, 255, pwm1);
setLED(4, 0, 0, 255, pwm1);
setLED(5, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm2);
setLED(4, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm3);
setLED(3, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(1, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm0);
setLED(5, 0, 0, 255, pwm0);
setLED(1, 0, 0, 255, pwm1);
setLED(4, 0, 0, 255, pwm1);
setLED(5, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm2);
setLED(4, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm3);
setLED(3, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(3, 0, 0, 255, pwm0);
setLED(4, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm1);
setLED(1, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm2);
setLED(5, 0, 0, 255, pwm2);
setLED(1, 0, 0, 255, pwm3);
setLED(4, 0, 0, 255, pwm3);
setLED(5, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(3, 0, 0, 255, pwm0);
setLED(4, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm1);
setLED(1, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm2);
setLED(5, 0, 0, 255, pwm2);
setLED(1, 0, 0, 255, pwm3);
setLED(4, 0, 0, 255, pwm3);
setLED(5, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
setLED(3, 0, 0, 255, pwm0);
setLED(4, 0, 0, 255, pwm0);
setLED(2, 0, 0, 255, pwm1);
setLED(3, 0, 0, 255, pwm1);
setLED(1, 0, 0, 255, pwm2);
setLED(2, 0, 0, 255, pwm2);
setLED(5, 0, 0, 255, pwm2);
setLED(1, 0, 0, 255, pwm3);
setLED(4, 0, 0, 255, pwm3);
setLED(5, 0, 0, 255, pwm3);
delay(60);
allOff();
delay(20);
}
//SUB
void subTAS1()
{
setLED(2, 0, 0, 0, pwm3);
setLED(5, 0, 0, 0, pwm2);
setLED(3, 0, 0, 0, pwm2);
setLED(3, 255, 255, 0, pwm3);
setLED(1, 255, 255, 0, pwm3);
setLED(4, 255, 255, 0, pwm2);
delay(250);
setLED(3, 0, 0, 0, pwm3);
setLED(1, 0, 0, 0, pwm3);
setLED(4, 0, 0, 0, pwm2);
setLED(2, 255, 255, 0, pwm3);
setLED(5, 255, 255, 0, pwm2);
setLED(3, 255, 255, 0, pwm2);
delay(250);
}
void subTAS2()
{
setLED(2, 0, 0, 0, pwm3);
setLED(5, 0, 0, 0, pwm2);
setLED(3, 0, 0, 0, pwm2);
setLED(3, 255, 255, 0, pwm3);
setLED(1, 255, 255, 0, pwm3);
setLED(4, 255, 255, 0, pwm2);
delay(100);
setLED(3, 0, 0, 0, pwm3);
setLED(1, 0, 0, 0, pwm3);
setLED(4, 0, 0, 0, pwm2);
setLED(2, 255, 255, 0, pwm3);
setLED(5, 255, 255, 0, pwm2);
setLED(3, 255, 255, 0, pwm2);
delay(100);
}
void subTAS3()
{
setLED(1, 0, 0, 0, pwm3);
setLED(2, 0, 0, 0, pwm3);
setLED(3, 0, 0, 0, pwm3);
setLED(3, 255, 255, 0, pwm2);
setLED(4, 255, 255, 0, pwm2);
setLED(5, 255, 255, 0, pwm2);
delay(200);
setLED(3, 0, 0, 0, pwm2);
setLED(4, 0, 0, 0, pwm2);
setLED(5, 0, 0, 0, pwm2);
setLED(1, 255, 255, 0, pwm3);
setLED(2, 255, 255, 0, pwm3);
setLED(3, 255, 255, 0, pwm3);
delay(200);
}
*/
1----2----3----4---5----6----7----8
9
10
18---17---16---15---14---13---12---11
0
19