![](/media/cache/profiles/ibmfp2.jpg.50x50_q85.jpg)
Demo of LED lighting effects using PWM and wait for time delays. Pins are setup for LPC1768 platform’s LEDs. For complete information, see http://developer.mbed.org/users/4180_1/notebook/led-lighting-effects-for-modelers/
Diff: main.cpp
- Revision:
- 0:5fc0791b9f3c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Nov 28 18:02:35 2014 +0000 @@ -0,0 +1,30 @@ +#include "mbed.h" +//LED welding lighting effect +PwmOut myled(LED1); +//Use PWM output to enable LED dimming + +//Use Cs random number generator rand(), but scaled and +//converted to a float 0.0 to 1.0 for PWM output +inline float random_number() +{ + return (rand()/(float(RAND_MAX))); +} + +int main() +{ + float x = 0.0; + while(1) { + //get a new random number for PWM + x = random_number(); + //add some exponential brightness scaling + //for more of a fast flash effect + myled = x*x*x; + //fast update rate for welding flashes + wait(0.02); + //add a random pause between welds + if (random_number()>0.9925) { + myled=0.0; + wait(4.0*random_number()); + } + } +} \ No newline at end of file