Ben Schueler
/
PWM_LED_Sequence
Fading LEDs timer/interrupt and PWM based.
main.cpp
- Committer:
- Schueler
- Date:
- 2010-10-25
- Revision:
- 0:aa880864e976
File content as of revision 0:aa880864e976:
#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(); } }