Fotofalle mit Raspberry Pi

Automatisch fotografieren, wenn jemand vor die Linse läuft, das könnten spannende oder auch lustige Bilder werden.
Um so eine Fotogalerie mit einem Raspberry Pi 5, einer USB-Webcam und einem Bewegungssensor zu erstellen, brauchst du einige Komponenten und etwas Programmierarbeit.

Als Kamera habe ich eine alte USB-Webcam der Playstation 3 genommen.
Als Bewegungssensor den HC-SR501. Dieser benötigt eine 5V Versorgungsspannung, aber sein Ausgangssignal ist 3,3V-kompatibel – perfekt für den Raspberry Pi.

Hier sind die Schritte, die das ermöglichen:

Benötigte Hardware

  • Raspberry Pi 5 mit installiertem Betriebssystem (Raspberry Pi OS).
  • USB-Webcam, die mit dem Raspberry Pi kompatibel ist.
  • Bewegungssensor HC-SR501 (PIR-Sensor)
  • Micro-SD-Karte mit genügend Speicherplatz für die Bilder. (ext4 oder FAT32 formatiert)
  • Netzteil und eventuelle weitere Anschlüsse.

Verdrahtung

Vorbereitung

  • Verbinde den PIR-Sensor mit den GPIO-Pins des Raspberry Pi.
  • Installiere Python3 und die passende Bibliothek (libgpiod) mit
    sudo apt-get install python3
    sudo apt install python3-libgpiod

Bewegungssensor einrichten

  • Erstelle dieses einfache Python-Skript unter home/username/ und Teste den Sensor damit auf Funktion:
import gpiod
import time

chip = gpiod.Chip("gpiochip0")  # Ersten GPIO-Chip auswählen
line = chip.get_line(14)  # GPIO 14 für den PIR-Sensor

# Den GPIO-Pin als Eingang setzen
line.request(consumer="motion_sensor", type=gpiod.LINE_REQ_DIR_IN)

print("Warte auf Bewegung...")

while True:
    if line.get_value():  # Prüfen, ob Bewegung erkannt wurde
        print("Bewegung erkannt!")
    time.sleep(0.1)  # Kurze Pause, um das System nicht zu überlasten

USB-Webcam konfigurieren

  • Überprüfe, ob die Kamera erkannt wird:
 ls /dev/video*

Bei mir erscheint mit angeschlossener WebCam /dev/video0

  • Installiere fswebcam, damit Bilder von der Webcam erstellt werden:
sudo apt-get install fswebcam
  • Teste die Kamera damit (Bilder werden erstmal als jpg unter home/username/ abgelegt)
fswebcam testbild.jpg

Automatische Bilder bei Bewegung aufnehmen

  • Erstelle ein Python-Skript, das bei Bewegung ein Foto aufnimmt:
import gpiod
import os
import time

chip = gpiod.Chip("gpiochip0")  # GPIO-Chip auswählen
line = chip.get_line(14)  # GPIO-Pin des Bewegungssensors

# GPIO als Eingang setzen
line.request(consumer="motion_sensor", type=gpiod.LINE_REQ_DIR_IN)

bild_nummer = 1

print("Warte auf Bewegung...")

while True:
    if line.get_value():  # Prüfen, ob Bewegung erkannt wurde
        bild_name = f"bild_{bild_nummer}.jpg"
        os.system(f"fswebcam -r 1280x720 --no-banner {bild_name}")  # Bild aufnehmen
        print(f"Bild gespeichert: {bild_name}")
        bild_nummer += 1
        time.sleep(1)  # Verhindert mehrfaches Auslösen durch eine einzige Bewegung

Fertig – Viel Spass beim nachbauen


Fotofalle mit dem ESP32-Cam erstellen:

, ,
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzerkomfort bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst und hilft uns zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.