![](/media/cache/group/Download_u2oFdPW.jpg.50x50_q85.jpg)
6.4 Wenn sich jemand nähert, Lauflicht einschalten und Akustisches Signal
Dependencies: mbed
Fork of 04-09-Uebung by
Revision 3:713da1a5879b, committed 2015-02-22
- Comitter:
- stefan1691
- Date:
- Sun Feb 22 10:38:58 2015 +0000
- Parent:
- 2:e5add5104ed3
- Commit message:
- 6.4 Wenn sich jemand n?hert, Lauflicht einschalten und Akustisches Signal
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r e5add5104ed3 -r 713da1a5879b main.cpp --- a/main.cpp Fri Feb 20 20:13:29 2015 +0000 +++ b/main.cpp Sun Feb 22 10:38:58 2015 +0000 @@ -1,62 +1,64 @@ -/** 4.9 Lauflicht, Geschwindigkeit mittels Poti regeln. Ein-/Ausschalten mittels Taste +/** 6.4 Wenn sich jemand nähert, Lauflicht einschalten und Akustisches Signal */ #include "mbed.h" -DigitalIn b1( PTC9, PullUp ); -DigitalIn b2( PTC0, PullUp ); - DigitalOut led1( D10 ); DigitalOut led2( D11 ); DigitalOut led3( D12 ); DigitalOut led4( D13 ); +DigitalOut buzzer( D2 ); // Buzzer -AnalogIn poti ( A0 ); - -int on = 0; // On/Off Merker +DigitalIn pirSensor( A2 ); // Bewegungsmelder schaltet auf 1 int main() { while (true) { - // On / Off Buttons - if ( b1 == 0 ) - on = 1; - if ( b2 == 0 ) - on = 0; - - // LED - if ( on ) + // hat sich etwas bewegt? + if ( pirSensor ) { - // ab hier werden die Buttons nicht beruecksichtigt - // bis die for Schlaufe abgearbeitet ist!!! - for ( int i = 0; i < 5; i++ ) + // 10x Lauflicht durchlaufen + for ( int t = 0; t < 10; t++ ) { - switch ( i ) + // Buzzer bleibt eingeschaltet werden die LED ON sind + buzzer = 1; + 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 bis naechstes LED aktiviert wird + wait( 0.2 ); } - wait( poti ); + // Ruhe und alle LED off + buzzer = 0; + led4 = 0; + wait ( 0.5 ); } + } else + { + led1 = led2 = led3 = led4 = 0; + buzzer = 0; } - else - led1 = led2 = led3 = led4 = 0; - wait( 0.2 ); // ohne wait laesst sich das Board nicht neu programmieren! + + wait( 0.2 ); // ohne wait laesst sich das Board nicht neu programmieren! } } \ No newline at end of file