Skip to content

Instantly share code, notes, and snippets.

@robotjoosen
Created October 10, 2012 20:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robotjoosen/3868113 to your computer and use it in GitHub Desktop.
Save robotjoosen/3868113 to your computer and use it in GitHub Desktop.
Jerrycan Light Sequencer Old Code
/*
* 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