ESP32 Tutorial 21/55 - Menschenerkennung mit PIR-Bewegungsmelder | SunFounder's ESP32 IoT-Lernkit

ESP32 Tutorial 21/55 - Menschenerkennung mit PIR-Bewegungsmelder | SunFounder's ESP32 IoT-Lernkit

In diesem Tutorial lernen wir, wie man einen PIR-Bewegungssensor mit dem ESP32 verwendet, um die menschliche Präsenz zu erkennen. Der ESP32 ist ein leistungsstarker Mikrocontroller, der sowohl Wi-Fi- als auch Bluetooth-Funktionen bietet, was ihn ideal für IoT-Projekte macht. Durch die Integration eines PIR-Sensors können wir ein System erstellen, das eine LED oder einen Summer aktiviert, wann immer Bewegung erkannt wird, was eine einfache, aber effektive Möglichkeit bietet, menschliche Aktivitäten zu überwachen.

PIR-SENSOR RE 200B

Der PIR (Passiv-Infrarot-)Sensor erkennt Bewegungen, indem er die von Objekten, insbesondere von warmen Körpern wie Menschen, emittierte Infrarotstrahlung wahrnimmt. Wenn Bewegung erkannt wird, sendet der Sensor ein Signal an den ESP32, der dann eine Ausgabe auslösen kann, wie das Einschalten einer LED oder das Erzeugen eines Signals durch einen Summer. Dieses Tutorial wird Sie durch die Hardwareeinrichtung, die Verkabelung und den benötigten Code führen, um das System korrekt funktionieren zu lassen (im Video bei 00:45).

ESP32-21_Motionsensor-Schema

Hardware Erklärt

Dieses Projekt umfasst mehrere Schlüsselkomponenten. Der ESP32-Mikrocontroller dient als das Gehirn des Betriebs, verarbeitet Sensordaten und steuert Ausgänge. Der PIR-Bewegungssensor erkennt Bewegung, indem er Veränderungen der Infrarotstrahlung misst. Die LED oder der Summer bietet eine visuelle oder akustische Warnung, wenn Bewegung erkannt wird.

Der ESP32 ist mit Wi-Fi und Bluetooth ausgestattet, was erweiterte Funktionen wie die Cloud-Konnektivität ermöglicht. Der PIR-Sensor enthält eine Linse, die Infrarotlicht auf einen pyroelektrischen Sensor fokussiert, der ein Spannungssignal erzeugt, wenn er Veränderungen der Infrarotwerte erkennt, was Bewegung anzeigt.

Technische Daten

Hersteller SunFounder
Teilenummer PIR-Sensormodul
Logik/IO-Spannung 3,3 V
Versorgungsspannung 3,3 V
Ausgangsstrom (pro Kanal) 20 mA max
Spitzenstrom (pro Kanal) 50 mA max
PWM-Frequenzanleitung N/A
Eingangslogikschwellen 0,3 V (niedrig), 2,0 V (hoch)
Spannungsabfall / RDS(on)/ Sättigung N/A
Thermische Grenzen 0 bis 70 °C
Paket Modul
Hinweise / Varianten Einstellbare Empfindlichkeit und Verzögerung

  • Stellen Sie eine ordnungsgemäße Stromversorgung (3,3 V) sicher, um Schäden zu vermeiden.
  • Verwenden Sie einen Widerstand für die LED, um den Strom zu begrenzen.
  • Halten Sie die richtige Verkabelung aufrecht, um Kurzschlüsse zu verhindern.
  • PIR-Sensor-Regler für Empfindlichkeit und Verzögerung nach Bedarf anpassen.
  • Testen Sie den Sensor in verschiedenen Umgebungen für optimale Leistung.

Verdrahtungsanweisungen

ESP32-21_motion_sensor-wiring

Um den PIR-Bewegungsmelder und die LED an den ESP32 anzuschließen, beginnen Sie damit, den VCC-Pin des PIR-Sensors mit dem 3,3 V-Ausgang des ESP32 zu verbinden. Verbinden Sie als Nächstes den Masse-Pin des PIR-Sensors mit einem Masse-Pin am ESP32. Der Signal-Pin (häufig alsS) vom PIR-Sensor sollte mit dem GPIO-Pin 14 auf dem ESP32 verbunden werden.

Für die LED verbinden Sie den längeren Draht (Anode) über einen 220-Ohm-Widerstand mit dem GPIO-Pin 26 und verbinden den kürzeren Draht (Kathode) mit dem Ground. Stellen Sie sicher, dass alle Verbindungen sicher sind, um eine ordnungsgemäße Funktionalität zu gewährleisten. Wenn Sie stattdessen einen Summer verwenden, verbinden Sie einen Pin des Summers mit GPIO-Pin 26 und den anderen mit dem Ground, wobei Sie das LED-Setup ersetzen.

Code-Beispiele und Anleitung

Im Code definieren wir die Pin-Nummern für den PIR-Sensor und die LED. Wir verwendenconst int pirPin = 14;den PIR-Pin festlegen undconst int ledPin = 26;für den LED-Pin. Diese Konstanten stellen sicher, dass die Pin-Nummern während der Ausführung des Programms unverändert bleiben.

const int pirPin = 14;  // the number of the pir pin
const int ledPin = 26;     // LED pin

Dieser Snippet initialisiert die Pins, die wir verwenden werden. In dersetup()Funktion, wir konfigurieren den PIR-Pin als Eingang und den LED-Pin als Ausgang. Diese Konfiguration ist entscheidend für das Auslesen des Zustands des Sensors und das Steuern der LED.

void setup() {
  Serial.begin(115200);  
  pinMode(pirPin, INPUT);  // initialize the pir pin as an input
  pinMode(ledPin, OUTPUT);  // initialize the LED pin as an output
}

In derloop()Funktion, wir lesen kontinuierlich den Zustand des PIR-Sensors aus, indem wirdigitalRead(pirPin);Wenn der Sensor Bewegung erkennt (angezeigt durch einen HIGH-Zustand), schalten wir die LED ein, indem wirdigitalWrite(ledPin, HIGH);Sonst schalten wir die LED aus.

if (pirState == HIGH) {
    digitalWrite(ledPin, HIGH);  // turn LED on
} else {
    digitalWrite(ledPin, LOW);    // turn LED off
}

Diese Logik ermöglicht es der LED, auf Bewegungen zu reagieren, die vom PIR-Sensor erkannt werden. Stellen Sie sicher, dass Sie den vollständigen Code, der unten im Artikel bereitgestellt wird, hochladen, um die volle Funktionalität zu gewährleisten.

Demonstration / Was zu erwarten ist

Sobald alles eingerichtet und der Code hochgeladen ist, leuchtet die LED auf, wenn Bewegung vom PIR-Sensor erkannt wird. Sie können den Sensor testen, indem Sie sich davor bewegen; die LED sollte sofort angehen. Wenn der Sensor auf eine Verzögerung eingestellt ist, bleibt er für die angegebene Zeit eingeschaltet, bevor er wieder ausschaltet (im Video um 12:15).

Häufige Fallstricke sind falsche Verkabelungen, die dazu führen können, dass der Sensor nicht funktioniert. Stellen Sie sicher, dass der PIR-Sensor ordnungsgemäß mit Strom versorgt wird und dass der Signalpin mit dem richtigen GPIO-Pin auf dem ESP32 verbunden ist. Das Anpassen der Empfindlichkeits- und Verzögerungsregler am PIR-Sensor kann ebenfalls dazu beitragen, die Leistung an Ihre Umgebung anzupassen.

Video-Zeiten

  • 00:00 Beginn
  • 1:54 Einführung in den PIR-Sensor
  • 6:38 Verdrahtung erklärt
  • 10:21 Arduino-Code erklärt
  • 12:45 Auswahl des ESP32-Boards und des COM-Ports in der Arduino IDE
  • 14:27 Demonstration und Kalibrierung des PIR-Sensors

Bilder

ESP32-21_motion_sensor-wiring
ESP32-21_motion_sensor-wiring
PIR SENSOR RE 200B
PIR SENSOR RE 200B
ESP32-21_motion_sensor-schematic
ESP32-21_motion_sensor-schematic
820-ESP32 Tutorial 21/55- Arduino code for motion sensor
Sprache: C++
Kopiert!

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Datenblatt (pdf)

Andere Dateien