Alarmanlage mit Arduino UNO

Alarmanlage Arduino

Alarmanlage mit Arduino UNO

Ich habe mir mal eine kleine Alarmanlage mit einem Arduino Uno bebaut, man kann auch andere Arduino Boards verwenden. Der Uno machte sich nur einfacher weil er einen Stecker für ein Netzteil schon integriert hat. Wofür das wichtig ist erkläre ich später noch genau.

Kurz zur Funktion:

Mit der Funkfernbedienung lässt sich die Alarmanlage Ein- und Ausschalten. Beim Einschalten leuchtet die LED Grün auf, beim Ausschalten leuchtet Sie Rot auf. Wenn die Bewegungsmelder auslösen, ertönt über den Piezo Summer ein ca. 100dB lautes Signal. Das sollte bei den meisten Menschen ausreichen um wach zu werden. Wenn das noch nicht reicht, wird über ein Funksignal noch das Licht im Schlafzimmer eingeschalten.

Zum Aufbau:

Ich habe mir aus ein Stück Lochrasterplatine ein Shield für den Arduino gebaut, damit man Ihn im Fall eines defektes schneller austauschen kann. Ein Shield ist eine Zusatzplatine die man einfach auf den Arduino aufsteckt. Beim Funkempfänger habe ich mit eine Antenne selber gedreht, den mit einer Größeren Antenne und höhere Spannung erhält man eine Größere Reichweite, deswegen auch der Uno, da man hier ein Netzteil mit beispielsweise 12 Volt anschließen kann.

Die Beschaltung:

alarmanlage_Steckplatine
Bewegungsmelder 1 (OUT) Pin 10 am Arduino
Bewegungsmelder 2 (OUT) Pin 11 am Arduino
Rote LED Pin 9 am Arduino
Grüne LED Pin 8 am Arduino
Piezo Summer Pin 12 am Arduino
Funk Sender (DATA) Pin 3 am Arduino
Funk Empfänger (DATA) Pin 2 am Arduino

Der Programmcode:

Der Programmcode kann mit sicherheit noch verbessert werden, aber so funktioniert es. Wie man den Code für die Funkfernbedienung oder Steckdosen usw. rausbekommt zeige ich euch hier.


#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();
int Summer = 12;
int LEDrot = 9;
int LEDgruen = 8;
int bewegung1 = 10;
int bewegungsstatus1 = 0;
int bewegung2 =11;
int bewegungsstatus2 = 0;

boolean alarmEIN = false;


void setup() {
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
  mySwitch.enableTransmit(3);
  pinMode(Summer, OUTPUT);
  pinMode(LEDrot, OUTPUT);
  pinMode(LEDgruen, OUTPUT);
  pinMode(bewegung1, INPUT);
  pinMode(bewegung2, INPUT);
}

void loop() {
  if (mySwitch.available()) {

    long value = mySwitch.getReceivedValue();

    if (value == 4210709) {
      alarmEIN = true;
      digitalWrite(LEDrot, HIGH);
      delay(100);
      digitalWrite(LEDrot, LOW);
      delay(100);
    }
    if (value == 4210708) {
      alarmEIN = false;
      digitalWrite(LEDgruen, HIGH);
      delay(100);
      digitalWrite(LEDgruen, LOW);
      delay(100);
    }
    mySwitch.resetAvailable();
  }


  if (alarmEIN == true;)
  {

    bewegungsstatus1 = digitalRead(bewegung1);
    bewegungsstatus2 = digitalRead(bewegung2);

    if (bewegungsstatus1 || bewegungsstatus2 == HIGH)
    {
      mySwitch.send(1130517, 24);
      for (int i = 0; i < 50; i++) {
        if (mySwitch.available()) {

          long value = mySwitch.getReceivedValue();
          if (value == 4210708) {
            alarmEIN = false;
            digitalWrite(LEDgruen, HIGH);
            delay(100);
            digitalWrite(LEDgruen, LOW);
            delay(100);
            break;
          }
          mySwitch.resetAvailable();
        }
        digitalWrite(Summer, HIGH);
        delay(2000);
        digitalWrite(Summer, LOW);
        delay(500);
      }
    }
    else
    {
      digitalWrite(Summer, LOW);
    }
  }

}

Folgende Bauteile wurde verwendet:

1x Arduino Uno https://amzn.to/2mkkpQF *
2x Bewegungsmelder https://amzn.to/2lRCBUn *
1x Funksender und Funkempfänger 433MHz https://amzn.to/2mf7yCu *
2x LED (Rot und Grün)
1x Piezo Summer https://www.reichelt.de/Signalakustik/RMP-45SPDT-PT/3/index.html?ACTION=3&LA=446&ARTICLE=107805&GROUPID=6560&artnr=RMP-45SPDT+PT&SEARCH=piezo%2Bsummer%2B5v
1x Lochrasterplatine https://amzn.to/2lCRA1P *
1x Kunststoffgehäuse https://amzn.to/2kU640l *
1x Intertechno Funkfernbedienung ITK 200 https://amzn.to/2mwJGap *

4 Thoughts to “Alarmanlage mit Arduino UNO”

  1. Walter

    Hallo,
    kann man gleichzeitig zwei Programmcodes laden wie hier in diesem Beispiel der Alarmanlage?

    1. Arduino Projekte

      Hallo,

      Programme können immer nur eins auf den Arduino geladen werden. Wenn du die Codes für die Fernbedienungen meinst, dann ja da können mehrere geladen werden.

      Gruß

  2. Walter

    Hallo,
    Ich habe die beiden Codes überprüft und sie funktionieren, auch wenn im Code der Alarmanlage ein Beistrichfehler vorhanden war. Leider aber funktioniert die Anlage als ganzes nicht. Um das zu erklären müsste ich Foto senden. Können sie mir per Email behilflich sein?

    1. Arduino Projekte

      Hallo,
      ich habe Ihnen ein Mail geschickt.

Leave a Comment