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.
- 1x Schlüsselschalter*,
- 1x 120 kOhm Widerstand*,
- 3x LED*, 5 mm
- 1x rot
- 1x gelb
- 1x grün
- 3x 220 Ohm Widerstand*,
- 2x Bewegungsmelder*,
- 1x Funksender & Empfänger, 433 MHz * **
- 1x 2fach Relaisplatine*,
- 1x Breadboard, mit 400 Pins*,
- 1x Arduino UNO
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
** 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.
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.
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); } }