Instar Kamera – PIR Sensor nachrüsten

Voraussetzungen: Netzwerkkamera mit Alarm Eingang, Arduino, Breadboard, Widerstände (2x 220 Ohm), 4N35 Optokoppler, Kabel, Arduino Software
Getestet mit: Instar IN-6012HD, Arduino Uno, HC-SR501 (PIR), Arduino Software 1.8.3
Optional: Visual Micro (Visual Studio Plugin)

Cam+PIR

Habt ihr eine ältere Instar Kamera, die noch keinen PIR Sensor hat, könnt ihr diese mittels Arduino und einem günstigen PIR Sensor nachrüsten.
Wenn die Kamera Bilder und/oder Videos bei Bewegung aufnehmen soll, gibt es nur die Möglichkeit der Software Bilderkennung. Diese ist aber unzuverlässig und es kommt oft zu “false positives” durch Schatten, Regen oder schlagartig geänderte Helligkeit. Ein passiver Infrarot Sensor umgeht solche Probleme in der Regel und reagiert auf Temperaturveränderungen z.b. kann je nach Modell ein Signal ausgelöst werden, wenn sich die Temperatur im PIR Radius um 4 Grad verändert.

Der PIR Radius kann übrigens begrenzt werden z.b. mit Gewebeband. Desweiteren könnt ihr natürlich auch mehrere PIR Sensoren verwenden und dann eine Aktion auslösen, wenn einer der PIR Sensoren auslöst. Das Tutorial behandelt aber nur einen PIR Sensor. Das Tutorial ist auch nicht auf INSTAR Kameras beschränkt, habt ihr eine Kamera mit Alarm Eingang dann könnt ihr ebenso einen externen PIR nutzen.

So simple sieht die Schaltung aus (Die rote LED ist nur dazu da, um gleich eine PIR Erkennung anzuzeigen).

Schaltung_Steckplatine

PIR: Die Haltezeit und Empfindlichkeit kann über die integrierten Widerstände konfiguriert werden (Ausprobieren, was bei euch am besten passt!)

Software:


const int redLED = 9;
const int pirPin = 2;
int optoPin = 7;
int pirState = LOW;
int val = 0;
const int calibrationTime = 10;

void calibration() {
	for (auto i = 0; i < calibrationTime; i++) {
		Serial.print(".");
		delay(1000);
	}
	Serial.println("PIR ready!");
}

void setup() {
	pinMode(redLED, OUTPUT);
	pinMode(pirPin, INPUT);
	pinMode(optoPin, OUTPUT);
	Serial.begin(9600);
	calibration();
}

void detectionAlarm() {
	digitalWrite(redLED, HIGH);
	digitalWrite(optoPin, HIGH);
}

void endDetectionAlarm() {
	digitalWrite(redLED, LOW);
	digitalWrite(optoPin, LOW);
}

void loop() {

	val = digitalRead(pirPin);
	if (val == HIGH) {
		detectionAlarm();
	}

	val = digitalRead(pirPin);
	if (val == LOW)
	{
		endDetectionAlarm();
	}
}

Konfiguration in der Kamera:
IN6012HD_AlarmAktionen

Achtung: Software Erkennung und Hardware Erkennung kann kombiniert werden!

Testaufbau

Hinweis: Sollte eine Schaltung nicht möglich sein, müssen nur die Anschlüsse des Steuerstromkreises invertiert werden!

HC-SR501 PIR Datenblatt

Mein Fazit nach 4 Monaten: Ich bin sehr zufrieden mit der Lösung, die Fehlalarme sind nahezu bei null. Jetzt kann man die Schaltung noch auf eine Platine löten und in ein Gehäuse packen und nach Möglichkeit den PIR an der Kamera befestigen, damit beim drehen der PIR immer an der richtigen Position ist.

Dieser Beitrag wurde unter Elektronik, Programmierung abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

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

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>