A simple timer

Dependencies:   mbed

Revision:
0:d962bf5b5f53
Child:
1:943070f97366
diff -r 000000000000 -r d962bf5b5f53 main.cpp
--- /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;
+        }
+    }
+
+}