ESP32 - Bewegungssensor - Relais

Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 mit dem HC-SR501-Bewegungssensor und einem Relais verwenden. Im Detail schaltet der ESP32 das Relais automatisch ein, wenn eine Bewegung erkannt wird, und schaltet es andernfalls wieder aus.

Wir können dieses Tutorial erweitern, damit der Bewegungsmelder einen LED-Streifen, eine Sirene, eine Glühbirne oder einen Aktuator steuert, indem man sie mit dem Relais verbindet.

Über Relais und Bewegungsmelder

Wir haben spezifische Tutorials zu Relais und Bewegungssensoren. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verdrahtung an den ESP32 und zum ESP32-Code... Erfahren Sie mehr dazu in den folgenden Links:

Verdrahtungsdiagramm

ESP32-Bewegungsmelder-Relais-Verdrahtungsdiagramm

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.

Standardeinstellung

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.
Ersteinrichtung des ESP32-Bewegungssensors

ESP32-Code

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-motion-sensor-relay */ #define MOTION_SENSOR_PIN 22 // ESP32 pin GPIO22 connected to the OUTPUT pin of motion sensor #define RELAY_PIN 26 // ESP32 pin GPIO26 connected to Relay's pin int motionStateCurrent = LOW; // current state of motion sensor's pin int motionStatePrevious = LOW; // previous state of motion sensor's pin void setup() { Serial.begin(9600); // initialize serial pinMode(MOTION_SENSOR_PIN, INPUT); // set ESP32 pin to input mode pinMode(RELAY_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { motionStatePrevious = motionStateCurrent; // store old state motionStateCurrent = digitalRead(MOTION_SENSOR_PIN); // read new state if (motionStatePrevious == LOW && motionStateCurrent == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!, turns relay ON"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!, turns relay OFF"); digitalWrite(RELAY_PIN, LOW); // turn off } }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Entwicklungsumgebung für ESP32 in der Arduino-IDE einrichtet an.
  • Verbinden Sie die Verkabelung wie im obigen Bild.
  • Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren und Hochladen des Codes auf das ESP32-Board, indem Sie auf die Schaltfläche Hochladen in der Arduino IDE klicken.
Code in der Arduino IDE hochladen
  • Bewegen Sie Ihre Hand vor dem Sensor
  • Sehen Sie die Änderung des Relaiszustands

Zeilen-für-Zeile Code-Erklärung

Der oben gezeigte ESP32-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!

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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!