ESP8266 - Bewegungssensor - LED-Streifen

Dieses Tutorial zeigt Ihnen, wie Sie ein nahtloses Beleuchtungsautomatisierungssystem mit einem ESP8266, einem HC-SR501-Bewegungssensor und einem LED-Streifen erstellen. Speziell darauf ausgerichtet, den LED-Streifen bei Erkennung menschlicher Anwesenheit auszulösen, ist dieses vielseitige System gut geeignet für eine Reihe von Anwendungen, einschließlich:

Erforderliche Hardware

1×ESP8266 NodeMCU
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×HC-SR501 Bewegungssensor
1×DotStar RGB LED-Streifen
1×5V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über LED-Streifen und Bewegungssensor

Wenn Sie nichts über LED-Streifen und Bewegungsmelder wissen (Pinbelegung, Funktionsweise, Programmierung …), informieren Sie sich in den folgenden Tutorials darüber:

Sie haben die Flexibilität, entweder NeoPixel-, WS2812B- oder DotStar-LED-Streifen zu verwenden. Um die Verkabelung zu vereinfachen, verwendet dieses Tutorial ausdrücklich den DotStar-LED-Streifen. Die Anpassung des Codes für andere LED-Streifenarten ist unkompliziert; beziehen Sie sich einfach auf die oben genannten Tutorials als Orientierung.

Verdrahtungsdiagramm

ESP8266 NodeMCU Bewegungsmelder LED-Streifen Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Anfangseinstellung

Time Delay AdjusterScrew it in anti-clockwise direction fully.
Detection Range AdjusterScrew it in clockwise direction fully.
Repeat Trigger SelectorPut jumper as shown on the image.
ESP8266 NodeMCU-Bewegungssensor-Ersteinrichtung

ESP8266-Code – Bewegungssensor steuert LED-Streifen

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-motion-sensor-led-strip */ #include <Adafruit_DotStar.h> #define NUMPIXELS 144 // Number of LEDs in DotStar strip #define DOTSTAR_DATA_PIN D6 // The ESP8266 pin D6 #define DOTSTAR_CLOCK_PIN D5 // The ESP8266 pin D5 #define MOTION_SENSOR_PIN D1 // The ESP8266 pin connected to the OUTPUT pin of motion sensor int motion_state = LOW; // current state of motion sensor's pin int prev_motion_state = LOW; // previous state of motion sensor's pin Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_DATA_PIN, DOTSTAR_CLOCK_PIN, DOTSTAR_BRG); void setup() { Serial.begin(9600); strip.begin(); // Initialize NeoPixel strip object (REQUIRED) strip.show(); // Turn OFF all pixels ASAP strip.setBrightness(255); pinMode(MOTION_SENSOR_PIN, INPUT); // Configure the ESP8266 pin to the input mode } void loop() { prev_motion_state = motion_state; // store old state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (prev_motion_state == LOW && motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!"); // turn on the led strip for (int pixel = 0; pixel < NUMPIXELS; pixel++) { // red color int r = 255; // CHANGE COLOR AS YOUR DESIRE int g = 255; // CHANGE COLOR AS YOUR DESIRE int b = 0; // CHANGE COLOR AS YOUR DESIRE strip.setPixelColor(pixel, g, r, b); // set color for each pixel } strip.show(); } else if (prev_motion_state == HIGH && motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); strip.clear(); // turn off all pixel on LED strip strip.show(); } }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schauen Sie sich das Tutorial zur Einrichtung der Entwicklungsumgebung für ESP8266 in der Arduino IDE an, wenn Sie ESP8266 zum ersten Mal verwenden.
  • Verdrahten Sie die Komponenten wie im Diagramm.
  • Verbinden Sie das ESP8266-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E Module), und dessen entsprechenden COM-Port.
  • Verbinden Sie den ESP8266 über das USB-Kabel mit dem PC.
  • Öffnen Sie die Arduino IDE, wählen Sie das richtige Board und den richtigen Port.
  • Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie „Adafruit DotStar“, und finden Sie dann die DotStar-Bibliothek von Adafruit.
  • Klicken Sie auf den Install-Button, um die DotStar-Bibliothek zu installieren.
ESP8266 NodeMCU DotStar-Bibliothek
  • Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Alle installieren.
ESP8266 NodeMCU DotStar-Bibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den ESP8266 hochzuladen
  • Bewegen Sie Ihre Hand vor dem Sensor
  • Schauen Sie sich die LED-Leiste an

Sie können den Code ändern, um einen Lichteffekt hinzuzufügen.

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!