Whitworth-EN173-2016
/
SmartRise_MBED
Alarm Clock
Fork of SmartRise_MBED by
Diff: Alarm.cpp
- Revision:
- 5:90f059fdc625
- Child:
- 7:5412a6d7ef6d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Alarm.cpp Tue Jan 26 01:12:34 2016 +0000 @@ -0,0 +1,49 @@ +#include "mbed.h" +PwmOut buzzer1(p21); +PwmOut buzzer2(p22); +bool go = true; + + +void Sound_Alarm() +{ +float frequency[] = {262,0,262,0,262,0,349,0,523,0,466,0,440,0,392,0,698,0,523,0,466,0,440,0,392,0,698,0,523,0,466,0,440,0,466,0,392,0,/**/}; +float beat[] = {.3,0,.3,0,.3,0,2,0,2,0,.3,0,.3,0,.3,0,2,0,1,0,.3,0,.3,0,.3,0,2,0,1,0,.3,0,.3,0,.3,0,2,0/**/}; +float frequency2[] = {262,0,262,0,294,0,294,0,466,0,440,0,392,0,349,0,349,0,392,0,440,0,392,0,294,0,330,0,523,0,523,0,698,0,622,0,554,0,523,0,466,0,415,0,392,0,349,0,523,0}; +float beat2[] = {.75,0,.25,0,1.5,0,.5,0,.5,0,.5,0,.5,0,.5,0,.3,0,.3,0,.3,0,1,0,.5,0,1,0,.75,0,.25,0,1,0,.5,0,1,0,.5,0,1,0,.5,0,1,0,.5,0,4,0}; + + while(go) + { + for(int i=0; i<= 37;i++) + { + buzzer1.period(2/(frequency[i])); + buzzer2.period(2/(frequency[i])); + buzzer1 = 0.5; + buzzer2 = 0.5; + + wait(0.4*beat[i]); + if(beat[i]==0) + {wait(.05);} + + } + + for(int i=0; i<= 49;i++) + { + buzzer1.period(2/(frequency2[i])); + buzzer2.period(2/(frequency2[i])); + buzzer1 = 0.5; + buzzer2 = 0.5; + + wait(0.4*beat2[i]); + if(beat2[i]==0) + {wait(.05);} + + } + } + + +} + +void turn_off() +{ + go = !go; +}