#define R1 2
#define G1 5
#define B1 19
#define R2 22
#define G2 13
#define B2 14
#define R3 26
#define G3 33
#define B3 32
//r is the array of pins
int r[]={R1,G1,B1,R2,G2,B2,R3,G3,B3};
//int r[]={R1,G1,B1,R3,G3,B3};
int arrLen=9;
void setup() {
for(int i=0; i<=8; i++){
pinMode(r[i], OUTPUT);
}
}
void loop() {
pattern01();
pattern02();
pattern03();
pattern04();
pattern05();
pattern06();
pattern07();
pattern08();
pattern09();
pattern10();
pattern11();
pattern12();
pattern13();
}
//pattern functions starts from here
/*LED LIGHT TURN ON AND OF AS SET1 , SET2 AND SET3..
ONE SET TURN OFF WHEN OTHER ONE TURNS ON */
void pattern01(){
for(int i=2;i<=8;i+=3){
analogWrite(r[i], 255);
analogWrite(r[i-1], 255);
analogWrite(r[i-2], 255);
delay(2000);
analogWrite(r[i], 0);
analogWrite(r[i-1], 0);
analogWrite(r[i-2], 0);
delay(50);
}
}
/* LED TURN ON AS SETS AND KEEP ALL FOR 2 SECONDS.
THEN TURN OFF SET BY SET */
void pattern02(){
for(int i=2;i<=8;i+=3){
analogWrite(r[i], 255);
analogWrite(r[i-1], 255);
analogWrite(r[i-2], 255);
delay(2000);
}
for(int i=8;i>=2;i-=3){
analogWrite(r[i], 0);
analogWrite(r[i-1], 0);
analogWrite(r[i-2], 0);
delay(2000);
}
}
///// LEDS BLINK FROM MIDDLE TO END /////
/*void pattern03(){
for (int i = 0; i <= arrLen / 2; i++) {
analogWrite(r[arrLen / 2 - i], 255); // Turn on left LED
analogWrite(r[arrLen / 2 + i], 255); // Turn on right LED
delay(500);
// Turn off LEDs
analogWrite(r[arrLen / 2 - i], 0); // Turn off left LED
analogWrite(r[arrLen / 2 + i], 0); // Turn off right LED
delay(500);
}
}
*/
//////////// LEDS BLINK FROM END TO MIDDLE //////////
/*void pattern04(){
for (int i = 7/2; i >= 0 / 2; i--) {
analogWrite(r[arrLen / 2 - i], 255); // Turn on left LED
analogWrite(r[arrLen / 2 + i], 255); // Turn on right LED
delay(500);
// Turn off LEDs
analogWrite(r[arrLen / 2 - i], 0); // Turn off left LED
analogWrite(r[arrLen / 2 + i], 0); // Turn off right LED
delay(500);
}
}
//////// ALL LEDS TURN ON FOR 2 SECONDS AND TURN OFF FOR 2 SECONDS /////
void pattern05(){
for (int i=0;i<=8;i++){
analogWrite(r[i], 255);
}
delay(4000); //turn on for 2 seconds
for (int i=8;i>=0;i--){
analogWrite(r[i], 0);
}
delay(200); //turn off for 2 seconds
}
/* BLINKING LEDS WHILE TURNING ON OTHERS.
REPEAT 5 TIMES PER 1 LED UNTIL COMPLETE ALL. THEN BLINK AS SETS.
PREVIOUS ONE TURN OFF WHEN TURNING ON NEXT LED */
void pattern06(){
for (int i = 0; i < 9; i++) {
for(int x=0;x<=4;x++){
analogWrite(r[i], 255);
delay(200);
analogWrite(r[i], 0);
delay(100);
}
}
for(int i=2;i<=8;i+=3){
for(int x=0; x<=4;x++){
analogWrite(r[i], 255);
analogWrite(r[i-1], 255);
analogWrite(r[i-2], 255);
delay(200);
analogWrite(r[i], 0);
analogWrite(r[i-1], 0);
analogWrite(r[i-2], 0);
delay(100);
}
}
}
/// FADE IN LED SETS FROM MIDDLE TO END /////
void pattern07(){
for(int m=0;m<=4;m++){
for(int i=0;i<=2;i++){ // selecting leds from 1st set
for(int x=0;x<=6;x+=3){ // selecting same color leds from other sets
analogWrite(r[x+i], 255); // turn on
}
delay(500);
for(int x=0;x<=6;x+=3){
analogWrite(r[x+i], 0); // turn off
}
delay(500);
}
}
}*/
void pattern08(){
for (int m=0; m<=8; m++){
analogWrite(r[m], 255); // turn the LED on
delay(100); // wait for a second
}
for (int m=8; m>=0; m--){
analogWrite(r[m], 0);
delay(100); // wait for a second
}
for (int m=8; m>=0; m--){
analogWrite(r[m], 255); // turn the LED on
delay(100); // wait for a second
}
for (int m=0; m<=8; m++){
analogWrite(r[m], 0);
delay(100); // wait for a second
}
}
void pattern09(){
for (int m=0; m<=8; m++){
analogWrite(r[m], 255);
delay(300);
}
for (int m=8; m>=0; m--){
analogWrite(r[m], 0);
delay(300);
}
for (int m=8; m>=0; m--){
analogWrite(r[m], 255);
delay(300);
}
for (int m=0; m<=8; m++){
analogWrite(r[m], 0);
delay(300);
}
}
/*void pattern10(){
for (int m=0; m<=2; m++){
analogWrite(r[m], 255);
delay(300);
}
for (int m=8; m>=6; m--){
analogWrite(r[m], 255);
delay(300);
}
for (int m=0; m<=2; m++){
analogWrite(r[m], 0);
delay(300);
}
for (int m=8; m>=6; m--){
analogWrite(r[m], 0);
delay(300);
}
}
void pattern11(){
delay(4);
for (int m=0; m<=2; m++){
for (int n=0; n<=255; n++){
analogWrite(r[m], n);
delay(3);
}
}
for (int m=8; m>=6; m--){
for (int n=0; n<=255; n++){
analogWrite(r[m], n);
delay(3);
}
}
for (int m=0; m<=2; m++){
for (int n=255; n>=0; n--){
analogWrite(r[m], n);
delay(3);
}
}
for (int m=8; m>=6; m--){
for (int n=255; n>=0; n--){
analogWrite(r[m], n);
delay(3);
}
delay(5);
}
delay(4);
for (int n=0; n<=255; n++){
analogWrite(R2, n);
analogWrite(G2, n);
analogWrite(B2, n);
delay(10);
}
for (int m=0; m<=2; m++){
for (int n=0; n<=255; n++){
analogWrite(r[m], n);
delay(3);
}
}
for (int m=8; m>=6; m--){
for (int n=0; n<=255; n++){
analogWrite(r[m], n);
delay(3);
}
}
for (int m=0; m<=2; m++){
for (int n=255; n>=0; n--){
analogWrite(r[m], n);
delay(3);
}
}
for (int m=8; m>=6; m--){
for (int n=255; n>=0; n--){
analogWrite(r[m], n);
delay(3);
}
}
delay(7);
for (int n=255; n>=0; n--){
analogWrite(R2, n);
analogWrite(G2, n);
analogWrite(B2, n);
delay(7);
}
}
void pattern12(){
int d[]={R1,R2,R3,G1,G2,G3,B1,B2,B3};
for (int pin=0; pin<=8; pin++){
for (int n=0; n<=255; n++){
analogWrite(d[pin], n);
delay(10);
}
for (int n=255; n>=0; n--){
analogWrite(d[pin], n);
delay(10);
}
}
for (int pin=7; pin>=0; pin--){
for (int n=0; n<=255; n++){
analogWrite(d[pin], n);
delay(10);
}
for (int n=255; n>=0; n--){
analogWrite(d[pin], n);
delay(10);
}
}
}
void pattern13(){
for (int l=1;l<=3;l++){
for(int i=2;i<=8;i+=3){
analogWrite(r[i], 255);
delay(200);
analogWrite(r[i], 0);
delay(50);
analogWrite(r[i-1], 255);
delay(200);
analogWrite(r[i-1], 0);
delay(200);
analogWrite(r[i-2],255);
delay(200);
analogWrite(r[i-2],0);
delay(200);
}
}
}*/