Bewegungserkennung mit Raspberry Pi
Das Beispiel zeigt, wie wir mit einem PIR-Sensor in Kombination mit einem Raspberry Pi Bewegungen erkennen können.
Das Beispiel verwendet die folgenden Elemente:
Sensor mit RaspberryPi verbinden:
Verbinden Sie beide Geräte gemäß der angezeigten Tabelle
Raspberry Pi-GPIO | PIR-Sensor |
---|---|
5 V | VCC |
Masse | Masse |
GPIO1 |
AUS |
Anschlussplan des PIR-Sensors mit dem Raspberry Pi.
Service
Um die GPIO-Pins auf dem Raspberry zu verwenden, benötigen wir eine Bibliothek, die uns dies ermöglicht. Zu diesem Zweck verwenden wir wiringPi . Die Beschreibung zum Herunterladen und Installieren finden Sie hier . Es reicht aus, nachfolgende Befehle zu kopieren. Schließlich, um die Installation zu validieren:
-
gpio readall
Nach diesem Befehl sollten wir die folgende Tabelle sehen:
Jetzt schreiben wir ein einfaches Programm. Wir erstellen die Datei pir.cpp
-
nano pir.cpp
Die Datei sollte folgendes Programm enthalten:
#enthalten#enthalten mit Namensraum std; int-Sensor = 1; // Pin GPIO1 mit dem Signal vom Sensor verbunden int main (leer) { VerdrahtungPiSetup (); PinMode (Sensor, INPUT); // Himbeer-Pin als Eingang setzen cout << endl << "---- BEWEGUNGSSENSOR TEST ----" << endl; während (1) { int Bewegung = digitalRead (Sensor); // den Wert vom Sensor lesen if (motion == HIGH) // Informationen auf dem Monitor anzeigen {// Hoher Zustand bedeutet Bewegungserkennung, niedriger Zustand - kein Verkehr cout << „BEWEGUNG ERKANNT!“ << endl; } sonst {cout << "kein Verkehr" << endl;} Verzögerung (200); // Verzögerung zwischen aufeinanderfolgenden Lesevorgängen } }
Speichern Sie dann die Änderungen an der Datei und schließen Sie sie. Um die erstellte Datei zu kompilieren, verwenden wir den Befehl:
-
g ++ -Wall -o pir.o pir.cpp -lwiringPi
Programmbetrieb
Das Programm zeigt Meldungen auf dem Bildschirm an. Wenn der Sensor eine Bewegung erkennt, wird ein High-Zustand an den Raspberry Pi gesendet und auf dem Bildschirm wird „MOTION DETECTED!“ angezeigt.
Programm mit folgendem Befehl ausführen:
-
sudo ./pir.o
Das Ergebnis des Programms kann auf dem Monitor betrachtet werden:
Screenshot des Monitors.