6.5 Wenn sich jemand nähert, Licht (D10) einschalten und Akustisches Signal. Alarm ein-/ausschaltbar mittels Tastern. Wenn Alarm scharf ist, leuchtet LED 2

Dependencies:   mbed

Committer:
stefan1691
Date:
Sun Apr 26 13:59:39 2015 +0000
Revision:
0:220387101075
Child:
1:555de1dd3f4b
6.5 Wenn sich jemand n?hert, Licht (D10) einschalten und;     Akustisches Signal. Alarm ein-/ausschaltbar mittels Tastern. Wenn Alarm scharf ist, leuchtet LED 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stefan1691 0:220387101075 1 /** 6.5 Wenn sich jemand nähert, Licht (D10) einschalten und
stefan1691 0:220387101075 2 Akustisches Signal. Alarm ein-/ausschaltbar mittels Tastern. Wenn Alarm scharf ist, leuchtet LED 2
stefan1691 0:220387101075 3 */
stefan1691 0:220387101075 4 #include "mbed.h"
stefan1691 0:220387101075 5
stefan1691 0:220387101075 6 // Buttons fuer Ein-/Ausschalten
stefan1691 0:220387101075 7 DigitalIn b1( A1 );
stefan1691 0:220387101075 8 DigitalIn b2( A2 );
stefan1691 0:220387101075 9
stefan1691 0:220387101075 10 // Sensor
stefan1691 0:220387101075 11 DigitalIn pirSensor( A4 );
stefan1691 0:220387101075 12
stefan1691 0:220387101075 13 // LED UI
stefan1691 0:220387101075 14 DigitalOut led1( D10 );
stefan1691 0:220387101075 15 DigitalOut led2( D13 );
stefan1691 0:220387101075 16
stefan1691 0:220387101075 17 // Summer (Buzzer)
stefan1691 0:220387101075 18 PwmOut speaker( D7 );
stefan1691 0:220387101075 19
stefan1691 0:220387101075 20 int on = 0; // On/Off Merker
stefan1691 0:220387101075 21
stefan1691 0:220387101075 22 int main()
stefan1691 0:220387101075 23 {
stefan1691 0:220387101075 24 while (true)
stefan1691 0:220387101075 25 {
stefan1691 0:220387101075 26 // On / Off Buttons
stefan1691 0:220387101075 27 if ( b1 == 0 )
stefan1691 0:220387101075 28 on = 1;
stefan1691 0:220387101075 29 if ( b2 == 0 )
stefan1691 0:220387101075 30 on = 0;
stefan1691 0:220387101075 31
stefan1691 0:220387101075 32 // Alarm scharf?
stefan1691 0:220387101075 33 if ( on )
stefan1691 0:220387101075 34 {
stefan1691 0:220387101075 35 led2 = 1;
stefan1691 0:220387101075 36 // und Bewegungsmelder gibt an
stefan1691 0:220387101075 37 if ( pirSensor )
stefan1691 0:220387101075 38 {
stefan1691 0:220387101075 39 led1 = 1;
stefan1691 0:220387101075 40 // Polizei Sirene
stefan1691 0:220387101075 41 speaker.period( 1.0 / 969.0 ); // 969 = Tonfrequenz in Hz
stefan1691 0:220387101075 42 speaker = 0.5f;
stefan1691 0:220387101075 43 wait( 0.5f );
stefan1691 0:220387101075 44 speaker.period( 1.0 / 800.0 );
stefan1691 0:220387101075 45 wait( 0.5f );
stefan1691 0:220387101075 46 }
stefan1691 0:220387101075 47 else
stefan1691 0:220387101075 48 {
stefan1691 0:220387101075 49 speaker = 0.0f;
stefan1691 0:220387101075 50 led1 = 0;
stefan1691 0:220387101075 51 }
stefan1691 0:220387101075 52 }
stefan1691 0:220387101075 53 // Alarm abgeschaltet
stefan1691 0:220387101075 54 else
stefan1691 0:220387101075 55 {
stefan1691 0:220387101075 56 speaker = 0.0f;
stefan1691 0:220387101075 57 led1 = 0;
stefan1691 0:220387101075 58 led2 = 0;
stefan1691 0:220387101075 59 }
stefan1691 0:220387101075 60
stefan1691 0:220387101075 61 wait( 0.2 ); // ohne wait laesst sich das Board nicht neu programmieren!
stefan1691 0:220387101075 62 }
stefan1691 0:220387101075 63 }