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

Dependencies:   mbed

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

Committer:
stefan1691
Date:
Fri Feb 20 20:13:29 2015 +0000
Revision:
2:e5add5104ed3
Parent:
1:2315b7ecebe9
Child:
3:713da1a5879b
4.9 Lauflicht, Geschwindigkeit mittels Poti regeln. Ein-/Ausschalten mittels Taste

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stefan1691 2:e5add5104ed3 1 /** 4.9 Lauflicht, Geschwindigkeit mittels Poti regeln. Ein-/Ausschalten mittels Taste
stefan1691 0:a2dc2e18687d 2 */
stefan1691 0:a2dc2e18687d 3 #include "mbed.h"
stefan1691 0:a2dc2e18687d 4
stefan1691 2:e5add5104ed3 5 DigitalIn b1( PTC9, PullUp );
stefan1691 2:e5add5104ed3 6 DigitalIn b2( PTC0, PullUp );
stefan1691 2:e5add5104ed3 7
stefan1691 0:a2dc2e18687d 8 DigitalOut led1( D10 );
stefan1691 0:a2dc2e18687d 9 DigitalOut led2( D11 );
stefan1691 0:a2dc2e18687d 10 DigitalOut led3( D12 );
stefan1691 0:a2dc2e18687d 11 DigitalOut led4( D13 );
stefan1691 0:a2dc2e18687d 12
stefan1691 1:2315b7ecebe9 13 AnalogIn poti ( A0 );
stefan1691 0:a2dc2e18687d 14
stefan1691 2:e5add5104ed3 15 int on = 0; // On/Off Merker
stefan1691 2:e5add5104ed3 16
stefan1691 0:a2dc2e18687d 17 int main()
stefan1691 0:a2dc2e18687d 18 {
stefan1691 0:a2dc2e18687d 19 while (true)
stefan1691 0:a2dc2e18687d 20 {
stefan1691 2:e5add5104ed3 21 // On / Off Buttons
stefan1691 2:e5add5104ed3 22 if ( b1 == 0 )
stefan1691 2:e5add5104ed3 23 on = 1;
stefan1691 2:e5add5104ed3 24 if ( b2 == 0 )
stefan1691 2:e5add5104ed3 25 on = 0;
stefan1691 2:e5add5104ed3 26
stefan1691 2:e5add5104ed3 27 // LED
stefan1691 2:e5add5104ed3 28 if ( on )
stefan1691 0:a2dc2e18687d 29 {
stefan1691 2:e5add5104ed3 30 // ab hier werden die Buttons nicht beruecksichtigt
stefan1691 2:e5add5104ed3 31 // bis die for Schlaufe abgearbeitet ist!!!
stefan1691 2:e5add5104ed3 32 for ( int i = 0; i < 5; i++ )
stefan1691 0:a2dc2e18687d 33 {
stefan1691 2:e5add5104ed3 34 switch ( i )
stefan1691 2:e5add5104ed3 35 {
stefan1691 2:e5add5104ed3 36 case 0:
stefan1691 2:e5add5104ed3 37 led1 = led2 = led3 = led4 = 0;
stefan1691 2:e5add5104ed3 38 break;
stefan1691 2:e5add5104ed3 39 case 1:
stefan1691 2:e5add5104ed3 40 led1 = 1;
stefan1691 2:e5add5104ed3 41 break;
stefan1691 2:e5add5104ed3 42 case 2:
stefan1691 2:e5add5104ed3 43 led1 = 0;
stefan1691 2:e5add5104ed3 44 led2 = 1;
stefan1691 2:e5add5104ed3 45 break;
stefan1691 2:e5add5104ed3 46 case 3:
stefan1691 2:e5add5104ed3 47 led2 = 0;
stefan1691 2:e5add5104ed3 48 led3 = 1;
stefan1691 2:e5add5104ed3 49 break;
stefan1691 2:e5add5104ed3 50 case 4:
stefan1691 2:e5add5104ed3 51 led3 = 0;
stefan1691 2:e5add5104ed3 52 led4 = 1;
stefan1691 2:e5add5104ed3 53 break;
stefan1691 2:e5add5104ed3 54 }
stefan1691 2:e5add5104ed3 55 wait( poti );
stefan1691 0:a2dc2e18687d 56 }
stefan1691 2:e5add5104ed3 57 }
stefan1691 2:e5add5104ed3 58 else
stefan1691 2:e5add5104ed3 59 led1 = led2 = led3 = led4 = 0;
stefan1691 2:e5add5104ed3 60 wait( 0.2 ); // ohne wait laesst sich das Board nicht neu programmieren!
stefan1691 0:a2dc2e18687d 61 }
stefan1691 0:a2dc2e18687d 62 }