a breathing led

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 #define BREATHE_PERIOD         4500    // ms
00004 #define INHALE_PERIOD          (BREATHE_PERIOD / 4)
00005 #define EXHALE_PERIOD          (BREATHE_PERIOD / 2)
00006 #define HOLD_PERIOD            (BREATHE_PERIOD / 8)
00007 
00008 
00009 BusOut leds(LED1, LED2, LED3, LED4);
00010 PwmOut led(P1_14);
00011 
00012 int main() {
00013     float brightness;
00014     
00015     while(1) {
00016         for (int i = 0; i <= 32; i++) {
00017             brightness = i * i / (float)(32 * 32);
00018             led = brightness;
00019             wait_ms(INHALE_PERIOD / 32);
00020         }
00021         
00022         wait_ms(HOLD_PERIOD);
00023         
00024         for (int i = 0; i <= 32; i++) {
00025             brightness = 1- (i * i / (float)(32 * 32));
00026             led = brightness;
00027             wait_ms(EXHALE_PERIOD / 32);
00028         }
00029         
00030         wait_ms(HOLD_PERIOD);
00031     }
00032 }