add trifade animation
This commit is contained in:
parent
c9479eaee8
commit
86376ae168
5 changed files with 70 additions and 4 deletions
63
trifade.ino
Normal file
63
trifade.ino
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
/********************************** TRI-FADE **********************************\
|
||||
| This animation fades through the red green and blue colors of the leds |
|
||||
| creating different mixtures of each of the colors. |
|
||||
| |
|
||||
| Written By: Asher Glick |
|
||||
| Modified By: S. Dugre to use asynchronous timer |
|
||||
\******************************************************************************/
|
||||
|
||||
//int animationSpeed = 100;
|
||||
int loop_tf;
|
||||
|
||||
void trifade() {
|
||||
|
||||
if (currentState != lastState) {
|
||||
|
||||
lastState = currentState;
|
||||
Serial.print("New State = ");
|
||||
Serial.println(currentState);
|
||||
|
||||
currentTimer = 0;
|
||||
maxTimer = 0.2 * 1000 * 1000 / 16; // 0.2 seconds
|
||||
loop_tf = 1;
|
||||
}
|
||||
|
||||
if ( timerReset) {
|
||||
|
||||
switch(loop_tf){
|
||||
|
||||
case 0 ... 7:
|
||||
drawBox(blue,8-loop_tf,0,0,0,3,3,3);
|
||||
drawBox(red,loop_tf+1,0,0,0,3,3,3);
|
||||
flushBuffer();
|
||||
clearBuffer();
|
||||
loop_tf++;
|
||||
timerReset = false;
|
||||
break;
|
||||
|
||||
case 8 ... 15:
|
||||
// red fade out, green fade in
|
||||
drawBox(red,8-(loop_tf % 8),0,0,0,3,3,3);
|
||||
drawBox(green,(loop_tf % 8)+1,0,0,0,3,3,3);
|
||||
flushBuffer();
|
||||
clearBuffer();
|
||||
loop_tf++;
|
||||
timerReset = false;
|
||||
break;
|
||||
|
||||
case 16 ... 23:
|
||||
// green fade out, blue fade in
|
||||
drawBox(green,8-(loop_tf % 8),0,0,0,3,3,3);
|
||||
drawBox(blue,(loop_tf % 8)+1,0,0,0,3,3,3);
|
||||
flushBuffer();
|
||||
clearBuffer();
|
||||
loop_tf++;
|
||||
timerReset = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
loop_tf = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue