Heim-Sicherheit

So basteln Sie sich eine Alarmanlage mit Arduino

15.03.2016 von Sridhar J
Aufwändige Alarmanlagen kaufen kann jeder. Aber oft ist es gar nicht nötig, eine Zentrale mit Glasbruchsensoren, Bewegungsmeldern und Wählautomatik einzusetzen. Vielfach genügt es, nur auf Bewegung zu reagieren und vielleicht die schlafenden Bewohner zu wecken.

Dem Schutz der eigenen vier Wände, sei es zuhause oder auch temporär in einem Hotelzimmer/Ferienhaus, gilt immer besonderes Augenmerk. Allerdings hat längst nicht jeder die Lust und vielleicht auch nicht das Geld, eine Highend-Alarmanlage zu installieren. Eventuell möchte man auch nicht, dass man von außen überhaupt erkennen kann, ob ein Objekt besonders gesichert ist, was beispielweise bei Überwachungskameras oder der Sirene mit dem Rundumlicht der Fall wäre. Eine sehr einfache und günstige Möglichkeit lässt sich auf Basis eines Arduinos realisieren. Hier vorgestellt wird das Konzept, mit entsprechenden Komponenten lässt sich das Ganze aber auch für den Dauerbetrieb realisieren.

Die Komponenten für die Arduino-Alarmanlage

Grundsätzlich besteht die Alarmanlage aus vier wesentlichen Teilen. Das Herz stellt ein Arduino-Bord dar. Hinzu kommt ein Infrarot-Sensor, der auf Wärmesignaturen reagiert. Die Alarmausgabe erfolgt per Display und mittels Akustiksignal. Der Aufbau kann zunächst mittels Breadboard realisiert werden; wer will, kann natürlich auch direkt ein Gehäuse verwenden. Zum Programmieren ist ein Computer nötig; hinzu kommen noch ein paar Kleinteile wie Kabel, eine 9-Volt-Batterie nebst Anschlusskabel und eine LED.

Der Aufbau

1. Den Inrarot-Sensor am Arduino anschließen

So schließen Sie den Infrarot-Sensor an

Zunächst verbindet man Pluspol des Infrarot-Sensors mit dem +5V-Anschluss des Arduino. Anschließend folgt der GND-Pin des Infrarot-Sensors, den man an einen beliebigen GND-Pin am Arduino anschließt. Der Sensor verfügt noch über einen dritten Anschluss, den Out-Pin. Der findet sich beim Arduino auf Pin 7 wieder.

2. Die LED am Arduino anschließen

So schließen Sie die LED an

Der LED-Pluspol wird mit dem Pin 13 des Arduino verbunden, der Minuspol kann an jeden beliebigen GND-Anschluss.

3. Den Piezo-Summer am Arduino anschließen

Nun ist der Piezo-Summer an der Reihe.

Das rote (Plus)-Kabel des Summers wird an Arduino-Pin 10 angeschlossen, das Minuskabel kann wieder an jeden beliebigen GND-Anschluss. Will man die Lösung professionalisieren, würde man hier einen leistungsfähigeren Summer verwenden oder aber vielleicht sogar eine kleine Sirene schalten.

4. Das Display an den Arduino anbringen

Und zu guter Letzt noch das Display.

Wir verwenden ein 16 x 2 LCD-Display. Das verfügt über einen Aktivierungspin (LCD enable), der mit dem Digital-Pin 11 am Arduino zusammengebracht wird. LCD-Pin D4 geht dann zum Digital-Pin 5, D5 an 4, D6 an 3 und D7 an 2. Zu guter Letzt wird noch ein 10K-Poti an +5-Volt und GND des Arduino angeschlossen, das Ausgangskabel des Potis geht an den VO-Pin des LCD.

Die Programmierung

Der in der Arduino-Software zu verwenden Code sieht folgendermaßen aus:

int IRpin = A0; // IR photodiode on analog pin A0 int IRemitter = 2; // IR emitter LED on digital pin 2 int ambientIR; // variable to store the IR coming from the ambient int obstacleIR; // variable to store the IR coming from the object int value[10]; // variable to store the IR values int distance; // variable that will tell if there is an obstacle or not void setup() { Serial.begin(9600); // initializing Serial monitor pinMode(IRemitter,OUTPUT); // IR emitter LED on digital pin 2 digitalWrite(IRemitter,LOW); // setup IR LED as off pinMode(11,OUTPUT); // buzzer in digital pin 11 } void loop() { distance = readIR(5); // calling the function that will read the distance and passing the „accuracy“ to it Serial.println(distance); // writing the read value on Serial monitor // buzzer(); // uncomment to activate the buzzer function } int readIR(int times) { for(int x=0;x //-- Function to sound a buzzer for audible measurements --// void buzzer() { if (distance>1) { if(distance>100) { // continuous sound if the obstacle is too close digitalWrite(11,HIGH); } else { // bips faster when an obstacle approaches digitalWrite(11,HIGH); delay(150-distance); // adjust this value for your convenience digitalWrite(11,LOW); delay(150-distance); // adjust this value for your convenience } } else { // off if there is no obstacle digitalWrite(11,LOW); } }

Mit diesem Code reagiert der Arduino nun auf Wärmesignaturen und löst bei deren Veränderung Alarm aus.

(PC-Welt/ad)