Yihui Xiong
/
breathing_led
a breathing led
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Thu Jul 28 2022 13:35:03 by 1.7.2