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