![](/media/cache/group/ep.webp.50x50_q85.jpg)
6.4 Wenn sich jemand nähert, Lauflicht einschalten und Akustisches Signal
Dependencies: mbed
Fork of 06-04-Uebung by
main.cpp@3:713da1a5879b, 2015-02-22 (annotated)
- Committer:
- stefan1691
- Date:
- Sun Feb 22 10:38:58 2015 +0000
- Revision:
- 3:713da1a5879b
- Parent:
- 2:e5add5104ed3
- Child:
- 4:a470b7ed1f78
6.4 Wenn sich jemand n?hert, Lauflicht einschalten und Akustisches Signal
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
stefan1691 | 3:713da1a5879b | 1 | /** 6.4 Wenn sich jemand nähert, Lauflicht einschalten und Akustisches Signal |
stefan1691 | 0:a2dc2e18687d | 2 | */ |
stefan1691 | 0:a2dc2e18687d | 3 | #include "mbed.h" |
stefan1691 | 0:a2dc2e18687d | 4 | |
stefan1691 | 0:a2dc2e18687d | 5 | DigitalOut led1( D10 ); |
stefan1691 | 0:a2dc2e18687d | 6 | DigitalOut led2( D11 ); |
stefan1691 | 0:a2dc2e18687d | 7 | DigitalOut led3( D12 ); |
stefan1691 | 0:a2dc2e18687d | 8 | DigitalOut led4( D13 ); |
stefan1691 | 3:713da1a5879b | 9 | DigitalOut buzzer( D2 ); // Buzzer |
stefan1691 | 0:a2dc2e18687d | 10 | |
stefan1691 | 3:713da1a5879b | 11 | DigitalIn pirSensor( A2 ); // Bewegungsmelder schaltet auf 1 |
stefan1691 | 2:e5add5104ed3 | 12 | |
stefan1691 | 0:a2dc2e18687d | 13 | int main() |
stefan1691 | 0:a2dc2e18687d | 14 | { |
stefan1691 | 0:a2dc2e18687d | 15 | while (true) |
stefan1691 | 0:a2dc2e18687d | 16 | { |
stefan1691 | 3:713da1a5879b | 17 | // hat sich etwas bewegt? |
stefan1691 | 3:713da1a5879b | 18 | if ( pirSensor ) |
stefan1691 | 0:a2dc2e18687d | 19 | { |
stefan1691 | 3:713da1a5879b | 20 | // 10x Lauflicht durchlaufen |
stefan1691 | 3:713da1a5879b | 21 | for ( int t = 0; t < 10; t++ ) |
stefan1691 | 0:a2dc2e18687d | 22 | { |
stefan1691 | 3:713da1a5879b | 23 | // Buzzer bleibt eingeschaltet werden die LED ON sind |
stefan1691 | 3:713da1a5879b | 24 | buzzer = 1; |
stefan1691 | 3:713da1a5879b | 25 | for ( int i = 0; i < 5; i++ ) |
stefan1691 | 2:e5add5104ed3 | 26 | { |
stefan1691 | 3:713da1a5879b | 27 | switch ( i ) |
stefan1691 | 3:713da1a5879b | 28 | { |
stefan1691 | 3:713da1a5879b | 29 | case 0: |
stefan1691 | 3:713da1a5879b | 30 | led1 = led2 = led3 = led4 = 0; |
stefan1691 | 3:713da1a5879b | 31 | break; |
stefan1691 | 3:713da1a5879b | 32 | case 1: |
stefan1691 | 3:713da1a5879b | 33 | led1 = 1; |
stefan1691 | 3:713da1a5879b | 34 | break; |
stefan1691 | 3:713da1a5879b | 35 | case 2: |
stefan1691 | 3:713da1a5879b | 36 | led1 = 0; |
stefan1691 | 3:713da1a5879b | 37 | led2 = 1; |
stefan1691 | 3:713da1a5879b | 38 | break; |
stefan1691 | 3:713da1a5879b | 39 | case 3: |
stefan1691 | 3:713da1a5879b | 40 | led2 = 0; |
stefan1691 | 3:713da1a5879b | 41 | led3 = 1; |
stefan1691 | 3:713da1a5879b | 42 | break; |
stefan1691 | 3:713da1a5879b | 43 | case 4: |
stefan1691 | 3:713da1a5879b | 44 | led3 = 0; |
stefan1691 | 3:713da1a5879b | 45 | led4 = 1; |
stefan1691 | 3:713da1a5879b | 46 | break; |
stefan1691 | 3:713da1a5879b | 47 | } |
stefan1691 | 3:713da1a5879b | 48 | // wait bis naechstes LED aktiviert wird |
stefan1691 | 3:713da1a5879b | 49 | wait( 0.2 ); |
stefan1691 | 2:e5add5104ed3 | 50 | } |
stefan1691 | 3:713da1a5879b | 51 | // Ruhe und alle LED off |
stefan1691 | 3:713da1a5879b | 52 | buzzer = 0; |
stefan1691 | 3:713da1a5879b | 53 | led4 = 0; |
stefan1691 | 3:713da1a5879b | 54 | wait ( 0.5 ); |
stefan1691 | 0:a2dc2e18687d | 55 | } |
stefan1691 | 3:713da1a5879b | 56 | } else |
stefan1691 | 3:713da1a5879b | 57 | { |
stefan1691 | 3:713da1a5879b | 58 | led1 = led2 = led3 = led4 = 0; |
stefan1691 | 3:713da1a5879b | 59 | buzzer = 0; |
stefan1691 | 2:e5add5104ed3 | 60 | } |
stefan1691 | 3:713da1a5879b | 61 | |
stefan1691 | 3:713da1a5879b | 62 | wait( 0.2 ); // ohne wait laesst sich das Board nicht neu programmieren! |
stefan1691 | 0:a2dc2e18687d | 63 | } |
stefan1691 | 0:a2dc2e18687d | 64 | } |