Arduino Nano ESP32 - Bewegungssensor
Dieses Tutorial gibt Anleitungen dazu, wie man den Arduino Nano ESP32 mit dem HC-SR501-Bewegungssensor verwendet. Genauer gesagt werden wir lernen:
- Wie ein HC-SR501-Bewegungssensor funktioniert
- Wie man einen HC-SR501-Bewegungssensor mit Arduino Nano ESP32 anschließt
- Wie man den Wert eines HC-SR501-Bewegungssensors liest, um eine Person zu erkennen
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den HC-SR501-Bewegungsmelder

Der HC-SR501-PIR-Sensor ist ein Sensor, der die Bewegung von Menschen (oder Tieren) erkennen kann. Er wird in vielen Anwendungen häufig verwendet, um die Anwesenheit von Menschen zu erkennen (Licht automatisch ein- und auszuschalten, Rolltreppe ein- und auszuschalten, einen Einbrecher zu erkennen, Türen öffnen/schließen...).
HC-SR501 Bewegungsmelder 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 eine Bewegung erkannt wird
- Das Objekt emittiert Infrarotstrahlung.
- Das Objekt bewegt sich oder zittert.
- Wenn ein Objekt den Infrarotstrahl aussendet, sich aber NICHT bewegt, wird es vom Sensor NICHT erkannt (z. B. eine Person, die stillsteht).
- Wenn sich ein Objekt bewegt, aber NICHT den Infrarotstrahl aussendet, wird es vom Sensor NICHT erkannt (z. B. ein Roboter oder ein Fahrzeug).
- Wenn die Bewegung erkannt wird, sind die Menschen anwesend
- Wenn die Bewegung nicht erkannt wird, sind die Menschen nicht anwesend
Es gibt auch zwei Potentiometer und einen Jumper am HC-SR501-Bewegungssensor. Diese Potentiometer und Jumper werden verwendet, um die Einstellung des Sensors anzupassen. Die detaillierte Anleitung wird in den Fortgeschrittenen Anwendungen beschrieben.

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 es zwei Voraussetzungen erfüllen:
Also:
Die Tiere und Menschen emittieren natürlich Infrarotstrahlung. Daher können sie 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 Sensor-Einstellung unterschiedlich funktionieren (wie im Abschnitt Fortgeschrittene Anwendungen beschrieben).
Erkennung der Anwesenheit eines Menschen
Der Sensor selbst erkennt das Vorhandensein von Menschen NICHT direkt; der Sensor erkennt lediglich die Bewegung. Und dann wird das Vorhandensein von Menschen anhand der Bewegungserkennung abgeleitet:
Es gibt ein Problem mit dieser Regel in der Praxis. Die Menschen befinden sich im Sensorbereich, bewegen sich aber NICHT. Die Bewegung wird NICHT erkannt. Der Arduino Nano ESP32 (oder MCU) schlussfolgert, dass kein Mensch vorhanden ist.
Allerdings werden Sensoren in vielen Anwendungen weit verbreitet eingesetzt, um Menschen zu erkennen, da dieses Problem nicht ernst ist und der Preis der Sensoren günstig ist.
Arduino Nano ESP32 und HC-SR501 Bewegungssensor
Wenn der Pin eines ESP32 als digitaler Eingang konfiguriert ist, kann er den Zustand (LOW oder HIGH) von allem lesen, woran er angeschlossen ist.
Indem man den Pin des ESP32 mit dem Ausgangspin des HC-SR501-Sensors verbindet, können wir den Arduino Nano ESP32-Code verwenden, um den Wert des Ausgangspins zu lesen und daraus die Bewegung abzuleiten.
Verdrahtungsdiagramm zwischen HC-SR501-Bewegungssensor und Arduino Nano ESP32
- Das Verdrahtungsdiagramm beim Betrieb des Arduino Nano ESP32-Boards über den USB-Anschluss.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Das Schaltbild beim Betrieb des Arduino Nano ESP32-Boards über den Vin-Pin.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
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. |

So programmieren Sie einen Bewegungsmelder
- Konfigurieren Sie den Pin eines ESP32 in den digitalen Eingabemodus, indem Sie die Funktion pinMode() verwenden.
- Lies den Zustand des Sensor-Ausgangspins, indem du die digitalRead() Funktion verwendest.
- Bewegungsbeginn erkennen (Pin-Zustandsänderung von LOW nach HIGH)
- Erkennung eines Bewegungsstopps (Zustandsänderung des Pins von HIGH nach LOW)
Arduino Nano ESP32-Code
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie Arduino Nano ESP32 verwenden, lesen Sie wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Kompilieren Sie den Code und laden Sie ihn auf das Arduino Nano ESP32-Board hoch, indem Sie in der Arduino IDE auf die Hochladen-Schaltfläche klicken.
- Öffnen Sie den seriellen Monitor in der Arduino IDE.

- Bewege deine Hand vor dem Sensorbereich
- Sieh dir die Ausgabe im Serial Monitor an
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.