ESP32 - Bewegungsensor
In diesem Tutorial zeigen wir dir, wie man den ESP32 mit dem HC-SR501-Bewegungssensor verwendet. Im Detail werden wir Folgendes lernen:
- Wie funktioniert ein HC-SR501-Bewegungssensor?
- Wie verbindet man einen HC-SR501-Bewegungssensor mit dem ESP32?
- Wie liest man den Wert eines HC-SR501-Bewegungssensors aus, um die Anwesenheit eines Menschen zu erkennen?
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den HC-SR501-Bewegungssensor

HC-SR501 PIR-Sensor ist ein Sensor, der die Bewegung von Menschen (oder Tieren) erkennen kann. Er wird häufig verwendet, um die Anwesenheit von Menschen in vielen Anwendungen zu erkennen (automatisches Ein- bzw. Ausschalten der Glühbirne, Aktivieren/Deaktivieren der Rolltreppe, Erkennen eines Eindringlings, Öffnen/Schließen der Tür...)
HC-SR501 Bewegungssensor Pinbelegung
Der HC-SR501-Bewegungssensor hat 3 Pins:
- VCC-Pin: Verbinden Sie diesen Pin mit VCC (5V)
- GND-Pin: Verbinden Sie diesen Pin mit GND (0V)
- OUTPUT-Pin: Verbinden Sie diesen Pin mit dem Eingangs-Pin des ESP32. Dieser Pin gibt das Signal aus, das der Bewegungserkennung entspricht:
- NIEDRIG, wenn keine Bewegung erkannt wird
- HOCH, wenn Bewegung erkannt wird
- Das Objekt strahlt Infrarotstrahlung aus.
- Das Objekt bewegt sich oder zittert.
- Wenn ein Objekt eine Infrarotstrahlung aussendet, sich aber nicht bewegt, wird es vom Sensor nicht erkannt.
- Wenn ein Objekt sich bewegt, aber keine Infrarotstrahlung aussendet, wird es vom Sensor nicht erkannt.
- Wenn die Bewegung erkannt wird, sind die Menschen anwesend
- Wenn die Bewegung nicht erkannt wird, sind die Menschen nicht anwesend
Am HC-SR501-Bewegungsmelder gibt es auch zwei Potentiometer und einen Jumper. Diese Potentiometer und der Jumper werden verwendet, um die Einstellung des Sensors anzupassen. Die detaillierte Anleitung finden Sie unter Fortgeschrittene Anwendungen.

Wie der HC-SR501-Bewegungssensor funktioniert
Das Funktionsprinzip des HC-SR501-Sensors basiert auf der Veränderung der Infrarotstrahlung am sich bewegenden Objekt. Damit der HC-SR501-Sensor das Objekt erkennen kann, muss das Objekt zwei Voraussetzungen erfüllen:
Also:
Die Tiere und Menschen strahlen von Natur aus Infrarotstrahlung aus. Daher können die Tiere und Menschen vom HC-SR501-Sensor erkannt werden, wenn sie sich bewegen.
Das oben gezeigte Video zeigt das Funktionsprinzip des Bewegungssensors. In der Praxis kann der Bewegungssensor je nach Einstellung des Sensors unterschiedlich funktionieren (wie im Abschnitt Erweiterte Anwendungen beschrieben).
Erkennung der Anwesenheit von Menschen
Der Sensor selbst erkennt NICHT direkt die Anwesenheit von Menschen; der Sensor erkennt nur die Bewegung. Und dann wird die Anwesenheit von Menschen anhand der Bewegungserkennung abgeleitet:
In der Praxis gibt es ein Problem mit dieser Regel. Die Menschen befinden sich im Sensorbereich, bewegen sich jedoch NICHT. Die Bewegung wird NICHT erkannt. Der ESP32 (oder ein MCU) schlussfolgert, dass die Menschen NICHT anwesend sind.
Allerdings werden Sensoren in vielen Anwendungen eingesetzt, um Menschen zu erkennen, da dieses Problem nicht gravierend ist und der Preis der Sensoren günstig ist.
ESP32 und HC-SR501 Bewegungsmelder
Wenn der Pin eines ESP32 als digitaler Eingang konfiguriert ist, kann er den Zustand (LOW oder HIGH) von allem lesen, an dem er angeschlossen ist.
Indem der Pin des ESP32 mit dem Ausgangspin des HC-SR501-Sensors verbunden wird, können wir den ESP32-Code verwenden, um den Wert des Ausgangspins zu lesen und daraus die Bewegung abzuleiten.
Schaltplan zwischen HC-SR501 Bewegungssensor und ESP32
- Wie man ESP32 und Bewegungssensor mit Breadboard verbindet (über USB-Kabel gespeist)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
- So verbinden Sie ESP32 und Bewegungssensor mit einem Breadboard (über den Vin-Pin mit Strom versorgt)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Wie man ESP32 und Bewegungssensor mithilfe eines Schraubklemmen-Breakout-Boards anschließt (über USB-Kabel mit Strom versorgt)

- Wie man ESP32 und Bewegungssensor anschließt, mit einem Schraubklemmen-Breakout-Board (über den Vin-Pin mit Strom versorgt)

Ersteinrichtung
Detection Range Adjuster | Fully screw it in the clockwise direction. |
Time Delay Adjuster | Fully screw it in the anti-clockwise direction. |
Repeat Trigger Selector | Put jumper like the below image. |

Wie man einen Bewegungssensor programmiert
- Konfigurieren Sie einen Pin eines ESP32 als digitalen Eingang, indem Sie die Funktion pinMode() verwenden.
- Lies den Zustand des OUTPUT-Pins des Sensors mit der Funktion digitalRead().
- Bewegungsbeginn erkennen (Pin-Zustandsänderung von LOW nach HIGH)
- Bewegungsstopp erkennen (Zustandsänderung des Pins von HIGH nach LOW)
ESP32-Quellcode
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Kompilieren und den Code auf das ESP32-Board hochladen, indem Sie in der Arduino IDE auf die Schaltfläche Hochladen klicken.
- Öffnen Sie den seriellen Monitor in der Arduino IDE.

- Bewege deine Hand vor dem Sensorbereich
- Sieh die Ausgabe im seriellen Monitor
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.