Arduino Projekt: DIY Alarmanlage mit Zündkapsel und Signalhorn

In diesem Beitrag möchte ich eine wirkungsvolle DIY Alarmanlage vorstellen. Diese Alarmanlage verfügt neben 2 Bewegungssensoren und einem typischen Signalhorn auch über eine Zündkapsel mit welcher sich ein kleiner „Sprengsatz“ betätigen lässt.

Teileliste

In dieser Teileliste habe ich bereits die Artikel aus dem Online-Portal ebay.de verlinkt, somit entfällt für euch die teils lästige Suche nach dem Artikel.

* Es ist darauf zu achten das NICHT die 315 MHz Version gewählt wird, diese Frequenz ist nicht für den zivilen Bereich freigegeben!

Schaltung

Teile der Alarmanlage, wie Bsp.

habe ich bereits in einzelne Tutorials behandelt, daher ist diese Schaltung eigentlich nur eine Zusammenstellung der einzelnen Schaltungen.

Schaltung - DIY Alarmanlage mit einem Arduino UNO
Schaltung – DIY Alarmanlage mit einem Arduino UNO

Aufbau

Der Aufbau ist mit dem Breadboard und den dazugehörigen Breadboardkabeln schnell erledigt. Vor allem ist dieser Aufbau zunächst ohne Lötkolben zu bewerkstelligen, wenn diese Alarmanlage fertig ist, könnte man mit einem Prototyp Board diese fest erstellen.

Aufbau - DIY Alarmanlage mit einem Arduino UNO
Aufbau – DIY Alarmanlage mit einem Arduino UNO

Oder man macht sich etwas mehr Arbeit und erstellt ein richtiges PCB über Bsp. Seeedstudio.com, wie dieses funktioniert habe ich in dem Bericht Eigene PCBs mit Seeedstudio erstellen erläutert.

Programmieren

#include <Bounce2.h>

//LEDs
#define ledRot 8
#define ledGelb 9
#define ledGruen 10

//Taster Powwer ON/OFF
#define powerBtn 1

//2fach Relaisplatine
#define relais1 13
#define relais2 7


//Bewegungssensoren
#define pir1 11
#define pir2 12

//433MHz Funkfernbedienung
#define btnApin 4
#define btnBpin 2
#define btnCpin 5
#define btnDpin 3
#define btnAnyPin 6

Bounce btnBouncer = Bounce(powerBtn, 50);

Bounce btnABouncer = Bounce(btnApin, 50);

void setup() {
  Serial.begin(9600);

  pinMode(powerBtn, INPUT);
  pinMode(pir1, INPUT);
  pinMode(pir2, INPUT);

  pinMode(relais1, OUTPUT);
  pinMode(relais2, OUTPUT);
}

boolean powerOn = false;
boolean alarmanlageAktivVal = false;

void loop() {
  btnBouncer.update();
  btnABouncer.update();
  if(btnBouncer.fell()){
    if(btnABouncer.fell()){
      Serial.println("toggle Alarmanlage");
      alarmanlageAktivVal = !alarmanlageAktivVal;
    } 

    if(alarmanlageAktivVal){
      Serial.println("Alarmanlage AKTIVIERT");
      digitalWrite(ledGruen, LOW);
      digitalWrite(ledRot, HIGH);
      alarmanlageAktiv();  
    } else {
      Serial.println("Alarmanlage DEAKTIVIERT");
      digitalWrite(relais1, HIGH);  
      digitalWrite(relais2, HIGH);  
      digitalWrite(ledGruen, HIGH);
      digitalWrite(ledRot, LOW);
    }
  } 
}

void alarmanlageAktiv(){
  int pirSensor1 = digitalRead(pir1);  
  int pirSensor2 = digitalRead(pir2);

  if(pirSensor1 == HIGH){
    Serial.println("PIR Sensor 1 AKTIVIERT");
    digitalWrite(relais1, LOW);
    if(pirSensor2 == HIGH){
      Serial.println("PIR Sensor 2 AKTIVIERT");
      digitalWrite(relais2, LOW);
    }
  } else {
    digitalWrite(relais1, HIGH);  
    digitalWrite(relais2, HIGH);  
  }  
}

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert