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 *

11 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.

  3. Hans

    Hallo,
    Ich habe den Aufbau nachgebaut, doch leider erhalte ich nur einen Pipston und die Led’s funktionieren nicht. Alles nach Schema angeschlossen. Der Funksender –> keine reaktion.
    Haben Sie mir evtl. eine lösung? Was mache ich falsch? Danke für Ihre Nachricht. Können sie mir per Email behilflich sein?
    Hi,
    I have rebuilt the structure, but unfortunately I only get a Pipston and the Led’s do not work. Everything connected to the scheme. The radio transmitter -> no reaction.
    Do you have any solution for me? What am I doing wrong? Thank you for your message. Can you help me by email?

  4. Hans

    Hallo, die Anlage funktioniert, super! Wenn der Alarm durch Bewegung ausgelöst wird lässt sich der Alarm über die Fernbedienung auch wieder abstellen, löst jedoch sofot bei Bewegung wirder aus. Sobald die Anlage eingesteckt wird löst der Alarm aus. Gibt es eine Möglichkeit die Alarmanlage als solches per Fernbedienung aus und einzuschalten? das heisst, wenn ich den Raum in der die Alarmanlage steht verlasse, möchte ich die Anlage von aussen per Fernbedienung einschalten, bez. wider ausschalten können. Ist das möglich?

    1. Arduino Projekte

      Hallo Hans,
      schön das du es hinbekommen hast. Ja es ist möglich die Anlage über die Fernbedienung zu aktivieren. Man brauch nur den Code entsprechend anzupassen. Denkbar ist auch eine Verzögerung nach dem einschalten.

      Gruß
      Tobias

      1. Hans

        Hallo Tobias,
        Danke für die rasche Antwort. Das lässt sich einfach sagen “braucht nur den Code entsprechend anzupassen”. Hast du da evtl. einen Vorschlag? Bin Anfänger leider.
        Gruss Hans

        1. Hallo Hans,

          ich habe mir grad noch mal das Projekt angesehen. Es ist so eingestellt das erst mit der Fernbedienung die Anlage eingeschalten werden muss. Somit löst sie nicht aus wenn man sie nur mit Strom versorgt. Weiß nicht was bei dir falsch ist.

          Gruß
          Tobias

          1. Hans

            Guten Abend Tobias
            Danke für die Info. Ich werde alles nochmal’s überprüfen und bereichten.
            Gerne würde ich mich ein wenig in die Materie einarbeiten, hast dur mir einen Typ wie ich das Angehen kann? Evtl. ein Buchvorschlag ? Gruss Hans

          2. Arduino Projekte

            Hallo Hans,
            es gibt bestimmt Bücher aber ich kenne da jetzt kein spezielles. Ich habe damals mit Funduino gestartet, habe mit da so ein Starter Kit gekauft. Auf der Homepage von Funduino werden auch Schritt für Schritt die ersten Schritte mit Arduino erklärt guck es dir doch vielleicht mal an.
            https://funduino.de/nr-1-blinkende-led

            Gruß
            Tobias

Leave a Comment