E-Hacks Gestaltungselement

Alarmanlage selber bauen | E-Hacks Infrarot Bewegungsmelder
mit SMS-Warnsystem

Kein Bock mehr auf verschwundene Süßigkeiten oder Kleidung und keiner will es gewesen sein? Du willst dich gegen diebische Familienmitglieder oder Mitbewohner schützen? Dann haben wir genau das Richtige für dich!

Erhalte eine Nachricht auf's Handy, wenn ungebetene Gäste deinen Schrank durchstöbern. Mit der Infrarot-Alarmanlage inklusive SMS-Warnsystem ist das möglich! Max zeigt dir Schritt für Schritt, wie es geht. 

Arbeitsmittel

Elektronik-Nerd Max bastelt an seiner Alarmanlage
Kabel werden verbunden

Folgende Materialien und Werkzeuge solltest du dir für diesen E-Hack besorgen. Die Teile bekommst du online oder im Fachhandel. Achte darauf, dass die Spezifikationen deiner Bauteile zueinander passen. Wenn du dich nicht auskennst, dann lasse dich vom Händler deiner Wahl beraten. Es gibt je nach Verfügbarkeit oft auch alternativ verwendbare Bauteile oder Bausätze zu unterschiedlichen Preisen.

Material

  • 1 x Arduino UNO

  • 1 x PIR-Sensor

  • 1 x Adafruit FONA 800 Shield

  • 1 x Antenne für FONA 800 Shield

  • 1 x LiPoly Akku 3,7 V mit JST-PH Stecker, mindestens 500 mAh

  • 1 X SIM-Karte mit Guthaben,
    Gr..e: Standard-SIM oder einen entsprechenden Adapter

  • 1 x Steckverbinder male to female, rot

  • 1 x Steckverbinder male to female, schwarz

  • 1 x Steckverbinder male to female, weiß

  • 1 x Steckverbinder male to male, rot

  • 1 x Steckverbinder male to male, schwarz

  • 1 x Gehäuse L x B x H,
    mindestens: 12cm x 7cm x 5cm

  • 1 x Batterie-Halterung, sechsfach AA

  • 6 x AA Batterien

  • 2 x Wago-Klemmen

Werkzeug

  • Laptop mit USB-Anschluss
    und Arduino IDE

  • USB-Kabel

  • Akkuschrauber

  • Senkbohrer

  • Abisolierzange

  • doppelseitiges Schaumstoff-Klebeband

  • Lötkolben

  • Lötpumpe

  • Lötzinn

DIY-Anleitung

Nutzungsbedingungen

Snack-Alarm von ArGe Medien im ZVEH GbR ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Über diese Lizenz hinausgehende Erlaubnisse können Sie unter www.e-zubis.de erhalten.

Juger Elektro-Nerd hält sich Lupe vor das Gesicht
Elektroniker Max entdeckt, dass sein Safe leer ist

Startschuss für den Snack-Hack: Gleich zu Beginn testest du deinen Bewegungsmelder, den sogenannten PIR-Sensor. Er funktioniert mithilfe von Infrarot und erkennt anhand des Temperaturunterschieds, ob ein Mensch am Sensor vorbeiläuft. Dabei kannst du über zwei Mini-Potentiometer seine Empfindlichkeit („Sensitivity“) und die Auslösedauer („Time“) nach deinen Bedürfnissen einstellen.

Verbinde den Sensor wie auf dem Bild zu sehen mit dem Arduino. Benutze dazu die drei male to female  Steckverbinder: mit dem schwarzen von GNDPIN des Sensors auf GND-PIN am Arduino, mit dem roten von 5 V auf 5 V-PIN am Arduino und mit dem weißen vom OUT auf den A0-PIN des Arduinos. Jetzt den folgenden Code auf den Arduino laden und den Test starten!

ACHTUNG: Im Code ist ein delay () von 10 Sekunden angegeben. Warum? Damit er nicht ständig ausgelöst wird und dein Handy später vor lauter SMS nicht mehr stillsteht.

Sensor wird mit Arduino verbunden

int inputPin = A0;
int bewegung = LOW;
void setup() {
  pinMode(inputPin, INPUT);
  Serial.begin(9600);
}
void loop() {
  bewegung = digitalRead(inputPin);
  if (bewegung  == HIGH) {
    Serial.println("Bewegungsmelder ausgelöst!");
    //Warte 10 Sekunden, und prüfe erneut ob der Bewegungsmelder ausgelöst wird!
    delay(10000);
  }
}

Als nächstes baust Du das FONA 800 Shield wie in der Hersteller-Anleitung angegeben zusammen.

Aufgepasst: Das FONA 800 Shield funktioniert nur mit extra Antenne und extra Akku.  Die Antenne also an die Antennenbuchse und den Akku an die Akku-Buchse anschließen!

Das FONA 800 Shield macht den Arduino zu einem voll funktionsfähigen Handy mit allem, was dazu gehört: telefonieren, SMS verschicken und lesen, GPS, GPRS, Radio – und so weiter. Für den Snackalarm brauchst du allerdings erst einmal nur die SMS senden-Funktion.

Erster Schritt: Die SIM-Karte. Lege sie zunächst in Dein Mobiltelefon um zu testen, ob sie läuft. Ganz wichtig: Stell die SIM-Karte so ein, dass sie ohne PIN funktioniert. Klappt alles? Bestens.

Jetzt die SIM-Karte in die Halterung auf dem FONA 800 Shield stecken und den Arduino an einen USB-Port anschließen. Warte ein paar Minuten ab, damit der Akku ein wenig aufladen kann. An welche Telefonnummer soll die Test-SMS versendet werden? Trage diese in den Code ein. Dann kannst du den Code auf den Arduino laden. Beachte hier unbedingt genau die Anmerkungen im Code!

Als nächstes öffnest du den Seriellen-Monitor der Arduino IDE. Wenn du alles richtig gemacht hast, bekommst du mehrere Status Meldungen und die Nachricht, dass die SMS versendet worden ist.

Falls du eine Fehlermeldung bekommst, warte fünf Minuten und probier es noch einmal. Es kann nämlich eine Weile dauern, bis sich die SIM-Karte im Netz angemeldet hat. Wenn du alles richtig gemacht hast, müsste dein Mobiltelefon jetzt klingeln! Falls es noch immer nicht klappen sollte, wirf einen Blick in die Hersteller-Anleitung. Dort findest du alles, was du wissen musst!


#include "Adafruit_FONA.h"
#define FONA_RX 2
#define FONA_TX 3
#define FONA_RST 4
#include 
SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
SoftwareSerial *fonaSerial = &fonaSS;
Adafruit_FONA fona = Adafruit_FONA(FONA_RST);
void setup() {
  while (!Serial);
  Serial.begin(115200);
  Serial.println("FONA Test!");
  fonaSerial->begin(4800);
  if (! fona.begin(*fonaSerial)) {
    Serial.println("FONA nicht gefunden!");
    while (1);
  }
  Serial.println(F("FONA gefunden!"));
  char imei[16] = {0};
  uint8_t imeiLen = fona.getIMEI(imei);
  if (imeiLen > 0) {
    Serial.print("SIM card IMEI: "); Serial.println(imei);
  }
  Serial.println("FONA bereit!");
}
void loop() {
  if (fona.available()) {
    Serial.println("FONA Netzwerkstatus prüfen!");
    uint8_t n = fona.getNetworkStatus();
    if (n == 2) Serial.println("Netzwerkstatus: Nicht registriert, Netzwerk suchen");
    if (n == 3) Serial.println("Netzwerkstatus: Verweigert");
    if (n == 4) Serial.println("Netzwerkstatus: Unbekannt");
    if (n == 5) Serial.println("Netzwerkstatus: Registriert mit Roaming");
    if (n == 0) Serial.println("Netzwerkstatus: Nicht registriert!");
    if (n == 1) {
      Serial.println("Im Netzwerk Registriert!");
       //Hier die Telefonnummer eintragen
      if (!fona.sendSMS("0175555555555", "TEST SMS !!!")) {
        Serial.println("fehlgeschlagen!");
      } else {
        Serial.println("gesendet!");
      }
    }
    delay(5000);
  }
}

Nachdem dein Test erfolgreich war, kann nun alles in das Gehäuse eingebaut werden. Dafür bohrst du als erstes mit dem Senkbohrer ein Loch in das Gehäuse. Dieses sollte so groß sein, dass die Halbkugel des Sensors von innen gut durchpasst.

Hierbei darauf achten, dass das Loch soweit oben wie möglich ist und später der Arduino UNO noch darunter passt! Befestige nun den Sensor von innen mit dem doppelseitigen Schaumstoff-Klebeband, damit er an Ort und Stelle bleibt.

Zuerst bereitest du den Batterie-Halter vor: Isoliere dafür die beiden Kabelenden ab und befestige daran die beiden Wago-Klemmen. Jetzt jeweils entsprechend der Farbe, den roten und den schwarzen male to male Steckverbinder an den Wago-Klemmen festmachen.

Jetzt kannst du den Batterie-Halter mit dem doppelseitigen Schaumstoff-Klebeband in das Gehäuse kleben und die Batterien einsetzen.

Lade nun die finale Programmierung auf den Arduino. Denk daran, im Code folgende Angaben einzutragen: die Telefonnummer, an welche die SMS verschickt werden soll, und gegebenenfalls einen passenden SMS-Text. Wie wäre es zum Beispiel mit: „ALARM! SNACKDIEB!“?

Wenn deine vorangegangenen Tests alle erfolgreich waren, sollte es jetzt problemlos funktionieren! Falls nicht, wiederhole die Test-Schritte. Endspurt: Jetzt kann der Arduino mit dem FONA 800 Shield in das Gehäuse geklebt werden. Verwende dazu wie zuvor das doppelseitige Schaumstoff-Klebeband. Die LiPoly-Batterie legst du einfach über die Wago-Klemmen.

Verbinde jetzt noch den Arduino mit dem Batterie-Halter über die beiden Steckverbinder, damit dieser Strom bekommt. Und zwar so: den roten Steckverbinder auf den VIN-PIN des Arduino und den schwarzen auf den GNDPIN des Arduinos.


#include "Adafruit_FONA.h"
#define FONA_RX 2
#define FONA_TX 3
#define FONA_RST 4
#include 
SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
SoftwareSerial *fonaSerial = &fonaSS;
Adafruit_FONA fona = Adafruit_FONA(FONA_RST);
int inputPin = A0;
int bewegung = LOW;
void setup() {
  pinMode(inputPin, INPUT);
  while (!Serial);
  Serial.begin(115200);
  Serial.println("FONA Test!");
  fonaSerial->begin(4800);
  if (! fona.begin(*fonaSerial)) {
    Serial.println("FONA nicht gefunden!");
    while (1);
  }
  Serial.println(F("FONA gefunden!"));
  char imei[16] = {0};
  uint8_t imeiLen = fona.getIMEI(imei);
  if (imeiLen > 0) {
    Serial.print("SIM card IMEI: "); Serial.println(imei);
  }
  Serial.println("FONA bereit!");
}
void loop() {
  if (fona.available()) {
    Serial.println("FONA Netzwerkstatus prüfen!");
    uint8_t n = fona.getNetworkStatus();
    if (n == 2) Serial.println("Netzwerkstatus: Nicht registriert, Netzwerk suchen");
    if (n == 3) Serial.println("Netzwerkstatus: Verweigert");
    if (n == 4) Serial.println("Netzwerkstatus: Unbekannt");
    if (n == 5) Serial.println("Netzwerkstatus: Registriert mit Roaming");
    if (n == 0) Serial.println("Netzwerkstatus: Nicht registriert!");
    if (n == 1) {
      Serial.println("Im Netzwerk Registriert!");
      bewegung = digitalRead(inputPin);
      if (bewegung  == HIGH) {
        Serial.println("Bewegungsmelder ausgelöst!");
        //Hier die Telefonnummer eintragen
        if (!fona.sendSMS("0175555555555", "Bewegungsmelder ausgelöst!")) {
          Serial.println("fehlgeschlagen!");
        } else {
          Serial.println("gesendet!");
        }
      }
    }
  }
  //Warte 10 Sekunden damit du nicht zu viele SMS versendest!
  delay(10000);
}

Du hast es so gut wie geschafft! Verbinde als letztes den Sensor über die drei male to female Steckverbinder mit dem Arduino: mit dem schwarzen von GND auf den GND-PIN des Arduinos, mit dem roten von 5V auf 5V PIN des Arduinos und mit dem weißen vom OUT des Sensors auf A0-PIN am Arduino. Gleiche alles zur Sicherheit nochmals mit dem Bauplan ab.

Um den Arduino neu zu starten, einfach den roten Steckverbinder am Arduino kurz abziehen und wieder aufstecken.

Fertig!

Jetzt noch das Gehäuse vorsichtig zusammenklappen, den Snackalarm positionieren und – auf die Lauer legen!

Wie funktioniert ein Bewegungsmelder mit
PIR-Sensor?

Ein Pyroelektrischer Sensor – auch PIR-Sensor – empfängt Infrarot-Strahlung und kann Temperaturänderungen von bewegten Objekten in seiner Umgebung wahrnehmen. 

PIR-Sensoren beruhen auf der namensgebenden Pyroelektrizität, einer Eigenschaft einiger piezoelektrischer Halbleiterkristalle. Dabei führt eine Veränderung der Wärmestrahlung zu einer messbaren Änderung der elektrischen Spannung.

PIR-Sensoren reagieren nicht, wie andere Temperatursensoren, auf ein bestimmtes zeitlich konstantes Temperaturniveau, sondern nur auf die Veränderung der Temperatur. Sie werden unter anderem bei Bewegungsmeldern eingesetzt.

Bei diesem Hack wird durch das Aktivieren des PIR-Sensors mit dem Arduino eine SMS-Benachrichtigung versendet.

Mehr Elektronik