python world
/
Nucleo_timer_with_four_keys
A simple timer
Diff: main.cpp
- Revision:
- 0:d962bf5b5f53
- Child:
- 1:943070f97366
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Sep 17 22:25:35 2017 +0000 @@ -0,0 +1,117 @@ +#include "mbed.h" + +int status = 0; +int second =5; +const float interval1 = 0.3; +const float interval0 = 0.5; +DigitalOut my_led(D13); +DigitalOut my_buzzer(D8); + +InterruptIn my_button1(D6); +InterruptIn my_button2(D5); +InterruptIn my_button3(D4); +InterruptIn my_button4(D3); + +Timeout my_timer; + +void key1_pressed() +{ + + my_timer.detach(); + status = 1; + second = 10; + +} + +void key2_pressed() +{ + + my_timer.detach(); + status = 1; + + second = 300; +} + +void key3_pressed() +{ + + my_timer.detach(); + status = 1; + + second = 600; +} + +void key4_pressed() +{ + + my_timer.detach(); + status = 1; + + second = 900; +} + +void buzzer() +{ + my_buzzer = !my_buzzer; + my_led = !my_led; + wait(interval1); + my_buzzer = !my_buzzer; + wait(interval0); + + my_buzzer = !my_buzzer; + my_led = !my_led; + wait(interval1); + my_buzzer = !my_buzzer; + wait(interval0); + + my_buzzer = !my_buzzer; + my_led = !my_led; + wait(interval1); + my_buzzer = !my_buzzer; + wait(interval0); + + my_buzzer = !my_buzzer; + my_led = !my_led; + wait(interval1); + my_buzzer = !my_buzzer; + wait(interval0); + + my_buzzer = !my_buzzer; + my_led = !my_led; + wait(interval1); + my_buzzer = !my_buzzer; + wait(interval0); + status = 0; + +} + + +int main() +{ + my_buzzer.write(1); + // Set button + my_button1.fall(&key1_pressed); +// my_button1.rise(&key1_pressed); + + my_button2.fall(&key2_pressed); +// my_button2.rise(&key2_pressed); + + my_button3.fall(&key3_pressed); +// my_button3.rise(&key3_pressed); + + my_button4.fall(&key4_pressed); +// my_button4.rise(&key4_pressed); + + + while (1) { + if(status == 1) { + my_timer.attach(&buzzer,second); + status = 2; + } + if(status == 2) + { wait(0.5); + my_led = !my_led; + } + } + +}