RGB Spectrum Fader. A nice RGB color spectrum cycling Demo
Fork of frdm_rgbled by
Diff: main.cpp
- Revision:
- 7:a557f5584f83
- Parent:
- 5:14891bb08b35
- Child:
- 8:a6c27db26c21
--- a/main.cpp Fri Feb 21 16:14:34 2014 +0000 +++ b/main.cpp Fri May 30 14:30:43 2014 +0000 @@ -2,17 +2,35 @@ PwmOut r(LED_RED); PwmOut g(LED_GREEN); +PwmOut b(LED_BLUE); -int main() { - r.period(0.001); - g.period(0.001); + float color,red,green,blue; + float colorRange = 1024; + short unsigned i; + +int main() +{ + + + r.period(0.01); + g.period(0.01); + b.period(0.01); - while (true) { - for (float i = 0.0; i < 1.0 ; i += 0.001) { - float p = 3 * i; - r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0); - g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p); - wait (0.0025); + while (true) + { + for (i=0; i<=colorRange; i++) + { + color = (1/colorRange)*i; + + if(color >= 0 && color <= 0.3333 ) { red = 0.3333-color; green = color; blue = 0; } + if(color > 0.3333 && color <= 0.6666) { red = 0; green =0.6666-color; blue = color-0.3333; } + if(color > 0.6666 && color <= 1) { red = color-0.6666; green = 0; blue = 1-color; } + + r=1-red; + g=1-green; + b=1-blue; + + wait(0.1); } } } \ No newline at end of file