(Last) Section 4:
//LED STUFF
unsigned int Color(byte r, byte g, byte b)
{
return( ((unsigned int)g & 0x1F )<<10 | ((unsigned int)b & 0x1F)<<5 | (unsigned int)r & 0x1F);
}
void colorWipe(uint16_t c, uint8_t wait) {
int i;
for (i=0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
void quarterLights()
{
delay(2000);
colorWipe(Color(63,0,0),50);
delay(400);
colorWipe(Color(0,0,63),50);
delay(400);
colorWipe(Color(0,63,0),50);
delay(350);
colorWipe(Color(63,0,0),50);
delay(2000);
}
void halfLights()
{
delay(2200);
colorWipe(Color(63,0,0),50);
delay(300);
colorWipe(Color(0,63,0),50);
delay(300);
colorWipe(Color(0,0,63),50);
delay(200);
colorWipe(Color(63,0,0),50);
delay(700);
colorWipe(Color(0,63,0),50);
delay(300);
colorWipe(Color(0,0,63),50);
delay(200);
colorWipe(Color(63,0,0),50);
delay(200);
colorWipe(Color(0,63,0),50);
delay(1800);
}
int interval = 1000;
unsigned int pColors[] = {Color(63,0,0),Color(0,63,0),Color(0,0,63)};
void threeQuarterLights()
{
int delays[] = {2200,300,300,200,700,300,200,200,700,300,200,100,700};
unsigned int pColors[] = {Color(63,0,0),Color(0,63,0),Color(0,0,63)};
byte loopCount = 0;
for(byte i=0;i<13;i++)
{
delay(delays[i]);
colorWipe(pColors[loopCount],50);
if(loopCount<2)
loopCount++;
else
loopCount=0;
}
}
/* TODO - Find enough sketch space to fit this in, implement
/* hour chimes properly
void hourLights(byte b)
{
//threeQuarterLights();
int delays[] = {2200,300,300,200,700,300,200,200,700,300,200,100,700};
unsigned int pColors[] = {Color(63,0,0),Color(0,63,0),Color(0,0,63)};
byte loopCount = 0;
for(byte i=0;i<13;i++)
{
delay(delays[i]);
colorWipe(pColors[loopCount],50);
if(loopCount<2)
loopCount++;
else
loopCount=0;
}
/*
delay(2200);
colorWipe(Color(63,0,0),50);
delay(300);
colorWipe(Color(0,63,0),50);
delay(300);
colorWipe(Color(0,0,63),50);
delay(200);
colorWipe(Color(63,0,0),50);
delay(700);
colorWipe(Color(0,63,0),50);
delay(300);
colorWipe(Color(0,0,63),50);
delay(200);
colorWipe(Color(63,0,0),50);
delay(200);
colorWipe(Color(0,63,0),50);
delay(700);
colorWipe(Color(0,0,63),50);
delay(300);
colorWipe(Color(63,0,0),50);
delay(200);
colorWipe(Color(0,63,0),50);
delay(100);
colorWipe(Color(0,0,63),50);
delay(700);
for(byte j=0;j<b;j++)
{
colorWipe(Color(0,0,63),50);
delay(300);
}
}
*/
void rainLights()
{
for(byte j=0;j<10;j++)
{
for(byte i=0;i<10;i++)
{
strip.setPixelColor(i, Color(random(17,25),63,20));
strip.show();
delay(50);
}
}
}
void sunLights()
{
for(byte j=0;j<10;j++)
{
for(byte i=0;i<10;i++)
{
strip.setPixelColor(i, Color(random(58,63),0,random(55,63)));
strip.show();
delay(50);
}
}
}
void snowLights()
{
for(byte j=0;j<10;j++)
{
for(byte i=0;i<10;i++)
{
strip.setPixelColor(i, Color(random(60,63),59,random(60,63)));
strip.show();
delay(50);
}
}
}
void stormLights()
{
for(byte j=0;j<10;j++)
{
for(byte i=0;i<10;i++)
{
strip.setPixelColor(i, Color(random(50,55),random(50,55),10));
strip.show();
delay(50);
strip.setPixelColor(i+2, Color(random(50,55),random(50,55),10));
strip.show();
delay(50);
strip.setPixelColor(i, Color(63,63,63));
}
}
}
void cloudLights()
{
for(byte j=0;j<10;j++)
{
for(byte i=0;i<10;i++)
{
strip.setPixelColor(i, Color(random(10,15),random(10,15),10));
strip.show();
delay(50);
}
}
}
void nightLights()
{
for(byte j=0;j<10;j++)
{
for(byte i=0;i<10;i++)
{
strip.setPixelColor(i, Color(random(45,50),random(45,50),0));
strip.show();
delay(50);
}
}
}