Created
October 10, 2012 20:13
-
-
Save robotjoosen/3868113 to your computer and use it in GitHub Desktop.
Jerrycan Light Sequencer Old Code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Author : Roald Joosen | |
* Project : OFFCENTRE, Jerrycan Lighting | |
* Date : 10 Sept, 2011 | |
* | |
*/ | |
int seqSelected; | |
int timerNext; | |
int timerSpeed; | |
/* Function Specific */ | |
//seqOneByOne | |
int selectedLed; | |
void setup() { | |
pinMode(__dataPin, OUTPUT); | |
pinMode(__clockPin, OUTPUT); | |
pinMode(__latchPin, OUTPUT); | |
Serial.begin(9600); | |
randomSeed(analogRead(0)); | |
setupTimer(); | |
for(int i=0;i<__numLedsInArray;i++) ledStates[i] = __maxBrightness; | |
} | |
void loop(){ | |
for(int i=0;i<4;i++) seqOneByOneFade(50,50,5); | |
seqOneByOneFadeSpeedUp(5,50,50,5); | |
for(int i=0;i<6;i++) seqOneByOneBlink(100,50); | |
for(int i=0;i<6;i++) seqOneByOneBlink(50,0); | |
for(int i=0;i<15;i++) seqOneByOneBlink(10,0); | |
for(int i=0;i<150;i++) seqRandomBlink(50,50); | |
for(int i=0;i<150;i++) seqRandomOnOff(10,100); | |
for(int i=0;i<150;i++) seqRandomBlink(50,50); | |
for(int i=0;i<10;i++) seqRandomOnOff(10,100); | |
for(int i=0;i<24;i++) seqAllBlink(100,50); | |
for(int i=0;i<24;i++) seqAllBlink(80,10); | |
fadeOut(40); | |
delay(800); | |
for(int i=0;i<10;i++) seqAllFade(100,50,5); | |
for(int i=0;i<8;i++) seqAllFade(200,200,7); | |
for(int i=0;i<6;i++) seqAllFade(300,300,10); | |
fadeInHalf(30); | |
for(int i=0;i<20;i++) snakeFade(5,100); | |
for(int i=0;i<10;i++) seqDoubleOneByOneFade(10,10,2); | |
seqDoubleFadeStay(20,5); | |
waveFadeIn(100,3); | |
for(int i=0;i<10;i++) waveFade(250,3); | |
for(int i=0;i<10;i++) waveBlink(250); | |
for(int i=0;i<10;i++) waveBackAndForth(500); | |
for(int i=0;i<5;i++) waveBackAndForth(200); | |
for(int i=0;i<5;i++) waveBackAndForth(100); | |
for(int i=0;i<2;i++) waveBackAndForth(50); | |
for(int i=0;i<__numLedsInArray;i++) ledStates[i] = __maxBrightness; | |
delay(1000); | |
fadeIn(40); | |
delay(1000); | |
for(int i=0;i<24;i++) seqAllBlink(80,40); | |
fadeOut(40); | |
delay(3000); | |
} | |
/* | |
* SEQ BLINK | |
*/ | |
void seqOneByOneBlink(int pause_0, int pause_1){ | |
for(int i=0;i<__numLedsInArray;i++) { | |
ledStates[i] = 0; | |
delay(pause_0); | |
ledStates[i] = __maxBrightness; | |
delay(pause_1); | |
} | |
} | |
void seqAllBlink(int pause_0, int pause_1){ | |
for(int i=0;i<__numLedsInArray;i++) ledStates[i] = 0; | |
delay(pause_0); | |
for(int i=0;i<__numLedsInArray;i++) ledStates[i] = __maxBrightness; | |
delay(pause_1); | |
} | |
void seqRandomBlink(int pause_0, int pause_1){ | |
int selectedLed = random(__numLedsInArray); | |
ledStates[selectedLed] = 0; | |
delay(pause_0); | |
ledStates[selectedLed] = 100; | |
delay(pause_1); | |
} | |
void seqRandomOnOff(int pause_0, int pause_1){ | |
ledStates[random(__numLedsInArray)] = 0; | |
delay(pause_0); | |
ledStates[random(__numLedsInArray)] = 100; | |
delay(pause_1); | |
} | |
/* | |
* SEQ FADE | |
*/ | |
void seqAllFade(int pause_0, int pause_1, int fade){ | |
for(int c=__maxBrightness;c>0;c--) { | |
for(int i=0;i<__numLedsInArray;i++) ledStates[i] = c; | |
delay(fade); | |
} | |
delay(pause_0); | |
for(int c=0;c<__maxBrightness;c++) { | |
for(int i=0;i<__numLedsInArray;i++) ledStates[i] = c; | |
delay(fade); | |
} | |
delay(pause_1); | |
} | |
void seqOneByOneFade(int pause_0, int pause_1, int fade){ | |
for(int i=0;i<__numLedsInArray;i++) { | |
for(int c=__maxBrightness;c>0;c--) { | |
ledStates[i] = c; | |
delay(fade); | |
} | |
delay(pause_0); | |
for(int c=0;c<__maxBrightness;c++) { | |
ledStates[i] = c; | |
delay(fade); | |
} | |
delay(pause_1); | |
} | |
} | |
void seqDoubleOneByOneFade(int pause_0, int pause_1, int fade){ | |
for(int i=0;i<__numLedsInArray;i++) { | |
for(int c=__maxBrightness;c>0;c--) { | |
ledStates[i] = c; | |
ledStates[(i+(__numLedsInArray/2))%6] = c; | |
delay(fade); | |
} | |
delay(pause_0); | |
for(int c=0;c<__maxBrightness;c++) { | |
ledStates[i] = c; | |
ledStates[(i+(__numLedsInArray/2))%6] = c; | |
delay(fade); | |
} | |
delay(pause_1); | |
} | |
} | |
void seqDoubleFadeStay(int pause_0, int fade){ | |
for(int i=0;i<__numLedsInArray/2;i++) { | |
for(int c=__maxBrightness;c>0;c--) { | |
ledStates[i] = c; | |
ledStates[(i+(__numLedsInArray/2))%6] = c; | |
delay(fade); | |
} | |
delay(pause_0); | |
} | |
} | |
void seqOneByOneFadeSpeedUp(int loops, int pause_0, int pause_1, int fade){ | |
int newFade = fade; | |
for(int l=0;l<loops;l++){ | |
for(int i=0;i<__numLedsInArray;i++) { | |
for(int c=__maxBrightness;c>0;c--) { | |
ledStates[i] = c; | |
delay(newFade); | |
} | |
delay(pause_0); | |
for(int c=0;c<__maxBrightness;c++) { | |
ledStates[i] = c; | |
delay(newFade); | |
} | |
delay(pause_1); | |
} | |
newFade = (newFade > 0) ? newFade-1 : 0; | |
} | |
} | |
/* | |
* FADE | |
*/ | |
void fadeOut(int pause){ | |
for(int i=0;i<__maxBrightness;i++){ | |
for(int c=0;c<__numLedsInArray;c++) ledStates[c] = i; | |
delay(pause); | |
} | |
} | |
void fadeIn(int pause){ | |
for(int i=__maxBrightness;i>0;i--){ | |
for(int c=0;c<__numLedsInArray;c++) ledStates[c] = i; | |
delay(pause); | |
} | |
} | |
void fadeInHalf(int pause){ | |
for(int i=__maxBrightness;i>__maxBrightness/2;i--){ | |
for(int c=0;c<__numLedsInArray;c++) ledStates[c] = i; | |
delay(pause); | |
} | |
} | |
/* | |
* SNAKE | |
*/ | |
void snakeFade(int snakeLength, int snakeSpeed){ | |
int ledBrightness = int(__maxBrightness/snakeLength); | |
for(int i=0;i<__numLedsInArray;i++){ | |
for(int d=0;d<__numLedsInArray;d++) ledStates[d] = __maxBrightness; | |
for(int c=0;c<snakeLength;c++){ | |
ledStates[(i+c)%__numLedsInArray] = 0+(c*ledBrightness); | |
} | |
delay(snakeSpeed); | |
} | |
} | |
/* | |
* WAVE | |
*/ | |
void waveBlink(int waveSpeed){ | |
for(int i=0;i<(__numLedsInArray/2);i++){ | |
for(int d=0;d<__numLedsInArray;d++) ledStates[d] = __maxBrightness; | |
ledStates[i] = 0; | |
ledStates[i+((__numLedsInArray-1)-(i*2))] = 0; | |
delay(waveSpeed); | |
} | |
} | |
void waveBackAndForth(int waveSpeed){ | |
for(int i=0;i<(__numLedsInArray/2);i++){ | |
for(int d=0;d<__numLedsInArray;d++) ledStates[d] = __maxBrightness; | |
ledStates[i] = 0; | |
ledStates[i+((__numLedsInArray-1)-(i*2))] = 0; | |
delay(waveSpeed/2); | |
} | |
for(int i=(__numLedsInArray/2)-2;i>0;i--){ | |
for(int d=0;d<__numLedsInArray;d++) ledStates[d] = __maxBrightness; | |
ledStates[i] = 0; | |
ledStates[i+((__numLedsInArray-1)-(i*2))] = 0; | |
delay(waveSpeed/2); | |
} | |
} | |
void waveFadeIn(int waveSpeed, int waveLength){ | |
for(int i=0;i<(__numLedsInArray);i++){ | |
for(int c=0;c<waveLength;c++){ | |
int value = max(i-c,0); | |
if(value<3) ledStates[value] = 0+(c*(__maxBrightness/waveLength)); | |
} | |
int rI = map(i,0,(__numLedsInArray-1),(__numLedsInArray-1),0); | |
for(int c=0;c<waveLength;c++){ | |
int value = min(rI+c,5); | |
if(value>2) ledStates[value] = 0+(c*(__maxBrightness/waveLength)); | |
} | |
delay(waveSpeed); | |
} | |
} | |
void waveFade(int waveSpeed, int waveLength){ | |
for(int i=0;i<(__numLedsInArray);i++){ | |
for(int d=0;d<__numLedsInArray;d++) ledStates[d] = __maxBrightness; | |
for(int c=0;c<waveLength;c++){ | |
int value = max(i-c,0); | |
if(value<3) ledStates[value] = 0+(c*(__maxBrightness/waveLength)); | |
} | |
int rI = map(i,0,(__numLedsInArray-1),(__numLedsInArray-1),0); | |
for(int c=0;c<waveLength;c++){ | |
int value = min(rI+c,5); | |
if(value>2) ledStates[value] = 0+(c*(__maxBrightness/waveLength)); | |
} | |
delay(waveSpeed); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment