6.4 Wenn sich jemand nähert, Lauflicht einschalten und Akustisches Signal

Dependencies:   mbed

Fork of 06-04-Uebung by th.iotkit.ch

Revision:
2:e5add5104ed3
Parent:
1:2315b7ecebe9
Child:
3:713da1a5879b
--- a/main.cpp	Fri Feb 20 20:04:09 2015 +0000
+++ b/main.cpp	Fri Feb 20 20:13:29 2015 +0000
@@ -1,7 +1,10 @@
-/** 4.8 Lauflicht, Geschwindigkeit mittels Poti regeln. 
+/** 4.9 Lauflicht, Geschwindigkeit mittels Poti regeln. Ein-/Ausschalten mittels Taste
 */
 #include "mbed.h"
 
+DigitalIn b1( PTC9, PullUp );
+DigitalIn b2( PTC0, PullUp );
+
 DigitalOut led1( D10 );
 DigitalOut led2( D11 );
 DigitalOut led3( D12 );
@@ -9,34 +12,51 @@
 
 AnalogIn poti ( A0 );
 
+int on = 0;     // On/Off Merker
+
 int main()
 {
     while (true) 
     {
-        for ( int i = 0; i < 5; i++ )
+        // On / Off Buttons
+        if  ( b1 == 0 )
+            on = 1;
+        if  ( b2 == 0 )
+            on = 0;
+
+        // LED
+        if  ( on ) 
         {
-            switch  ( i )
+            // ab hier werden die Buttons nicht beruecksichtigt
+            // bis die for Schlaufe abgearbeitet ist!!!
+            for ( int i = 0; i < 5; i++ ) 
             {
-                case   0:
-                    led1 = led2 = led3 = led4 = 0;
-                    break;
-                case   1:
-                    led1 = 1;
-                    break;
-                case   2:
-                    led1 = 0;
-                    led2 = 1;
-                    break;
-                case 3:  
-                    led2 = 0;
-                    led3 = 1;
-                    break;
-                case 4:
-                    led3 = 0;
-                    led4 = 1;
-                    break;
+                switch  ( i ) 
+                {
+                    case   0:
+                        led1 = led2 = led3 = led4 = 0;
+                        break;
+                    case   1:
+                        led1 = 1;
+                        break;
+                    case   2:
+                        led1 = 0;
+                        led2 = 1;
+                        break;
+                    case 3:
+                        led2 = 0;
+                        led3 = 1;
+                        break;
+                    case 4:
+                        led3 = 0;
+                        led4 = 1;
+                        break;
+                }
+                wait( poti );
             }
-            wait( poti );
-        }   
+        }
+        else
+            led1 = led2 = led3 = led4 = 0;
+        wait( 0.2 );    // ohne wait laesst sich das Board nicht neu programmieren!   
     }
 }
\ No newline at end of file