Ben Schueler
/
PWM_LED_Sequence
Fading LEDs timer/interrupt and PWM based.
Revision 0:aa880864e976, committed 2010-10-25
- Comitter:
- Schueler
- Date:
- Mon Oct 25 16:50:33 2010 +0000
- Commit message:
- 1.0
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r aa880864e976 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Oct 25 16:50:33 2010 +0000 @@ -0,0 +1,47 @@ +#include "mbed.h" + +PwmOut led1 (LED1); +PwmOut led2 (LED2); +PwmOut led3 (LED3); +PwmOut led4 (LED4); + +Ticker step; + +float delay_time = 0.001; +float increment = 0.002; + +void LED_control() { + // ticker routine + + // fading control led1 + if ( ( led4 == 1 ) && ( led1 < 1 ) ) { led1 = led1 + increment; } + else if ( ( led2 == 1 ) && ( led1 > 0 ) ) { led1 = led1 - increment; } + + // fading control led2 + if ( ( led1 == 1 ) && ( led2 < 1 ) ) { led2 = led2 + increment; } + else if ( ( led3 == 1 ) && ( led2 > 0 ) ) { led2 = led2 - increment; } + + // fading control led3 + if ( ( led2 == 1 ) && ( led3 < 1 ) ) { led3 = led3 + increment; } + else if ( ( led4 == 1 ) && ( led3 > 0 ) ) { led3 = led3 - increment; } + + // fading control led4 + if ( ( led3 == 1 ) && ( led4 < 1 ) ) { led4 = led4 + increment; } + else if ( ( led1 == 1 ) && ( led4 > 0 ) ) { led4 = led4 - increment; } +} + + +int main() { + // initialize values + led1 = 1; + led2 = 0; + led3 = 0; + led4 = 0; + + step.attach(&LED_control, delay_time); + + while ( 1 ) // never ending story + { + //sleep(); + } +}
diff -r 000000000000 -r aa880864e976 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Oct 25 16:50:33 2010 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e