PIR Sensor

Da ich möchte, dass meine Hausautomatisierung in der Lage ist meinen Tagesablauf zu erlernen benötigt der Raspberry Pi ein paar Sensoren. Für den Anfang beginne ich mit einem PIR (passiver IR) Sensor.
Der Fritzing Screenshot unten zeigt wie der Sensor mit dem Cobbler verbunden wird. Im Prinzip wird das rote Kabel mit 5V0, das schwarze Kabel mit GND und das gelbe Kabel mit dem GPIO Pin 25 verbunden.
PIR Fritzing

Für einen ersten Test habe ich den folgenden Befehl von der Kommando Zeile aus ausgeführt.

 while true; do gpio read 6; done
 

Der Befehl gibt eine 0 aus, wenn der PIR nicht ausgelöst wurde und eine 1, wenn der PIR ausgelöst wurde.

Im nächsten Schritt habe ich die gleiche Funktionalität in einem einfachen perl Skript unter Verwendung des wiringPi-Perl Framework implementiert.

 #!/usr/local/bin/perl -w

use lib "/appco.de/WiringPi-Perl";

require "wiringpi.pm";

if (wiringpic::wiringPiSetup () == -1)
 { exit 0};

# set pin #6 (marked with #25 on the T-Cobbler) to mode INPUT
 wiringpic::pinMode (6, 0);

while (1){
 # read from PIR

# PIR not triggered
 if (wiringpic::digitalRead (6) == 0){
 print ("off \n");
 wiringpic::delay (500); # milliseconds
 }

# PIR triggered
 if (wiringpic::digitalRead (6) == 1){
 print ("on \n");
 wiringpic::delay (500); # milliseconds
 }
 }
 

Dieser Quellcode schreibt „off“ auf die Standard Ausgabe, wenn der PIR nicht ausgelöst wurde und „on“, wenn er ausgelöst wurde. Das Skript läuft bis er mit ctrl+c abgebrochen wird.

Schreibe einen Kommentar

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