Inhaltsverzeichnis:

Automatisches IoT Flur-Nachtlicht mit ESP8266 - Gunook
Automatisches IoT Flur-Nachtlicht mit ESP8266 - Gunook

Video: Automatisches IoT Flur-Nachtlicht mit ESP8266 - Gunook

Video: Automatisches IoT Flur-Nachtlicht mit ESP8266 - Gunook
Video: LED - Lauflicht mit Bewegungserkennung ( ws2812b ) 2024, November
Anonim
Image
Image
Sammeln Sie alle benötigten Materialien
Sammeln Sie alle benötigten Materialien

Ich begann dieses Projekt, das von einem Treppenlicht von einem anderen anweisbaren Pfosten inspiriert wurde. Der Unterschied besteht darin, dass das Gehirn der Schaltung ESP8266 verwendet, was bedeutet, dass es sich um ein IoT-Gerät handelt.

Was ich mir vorstelle, ist, dass die Kinder das Flurnachtlicht haben, wenn sie aus ihrem Zimmer treten, es den Weg zum Badezimmer beleuchtet. Dazu verwende ich den ESP8266, um die Bewegung des PIR-Sensors zu erkennen. Ich habe 2 PIR-Sensoren verwendet, einen an jedem Ende für die Rückfahrt. Da ESP8266 IoT-fähig ist, kann ich damit auch erkennen, ob sich auf dem Flur bewegt, indem ich eine MQTT-Nachricht an den Home Assistant schicke.

Schritt 1: Sammeln Sie alle benötigten Materialien

Sammeln Sie alle benötigten Materialien
Sammeln Sie alle benötigten Materialien
Sammeln Sie alle benötigten Materialien
Sammeln Sie alle benötigten Materialien

Für dieses Projekt verwende ich folgende Materialien:

- ESP8266

- PIR-Sensor

- 330 Ohm Widerstand, der als Strombegrenzer dient

- 5 V adressierbarer LED-Streifen (WS2812B)

- Stromleitung zur Unterbringung der Lichter

Schritt 2: Schließen Sie die Schaltung an

Verbinden Sie die Schaltung
Verbinden Sie die Schaltung
Verbinden Sie die Schaltung
Verbinden Sie die Schaltung
Verbinden Sie die Schaltung
Verbinden Sie die Schaltung

Wir verbinden die Datenleitung des LED-Streifens im Wesentlichen über einen 330-Ohm-Widerstand mit Pin D2 oder ESP8266, um den Strom zu begrenzen. Beachten Sie, dass die Betriebsspannung des ESP8266 3,3 V beträgt.

Die PIR-Sensoren werden an Pin D5 und D6 angeschlossen, einer für den linken Sensor und einer für den rechten. Vergessen Sie in diesem Fall nicht, die Stromversorgung für PIR und LED-Streifen an 3,3 V anzuschließen.

Schritt 3: Laden Sie den Code hoch

Laden Sie den Code hoch
Laden Sie den Code hoch
Laden Sie den Code hoch
Laden Sie den Code hoch

Damit der Code funktioniert, benötigen Sie die folgende Bibliothek:

- Bibliothek "FastLed" von Daniel Garcia, in diesem Fall habe ich Version 3.3.3 installiert

- TimeLib

- ESP8266Wifi

- ESP8266WebServer

- ArduinoOTA

Wenn Sie sie noch nicht installiert haben, können Sie sie über "Tools-> Manage Library" in der Arduino-Oberfläche installieren.

Im folgenden Abschnitt des Codes

#define FASTLED_ESP8266_D1_PIN_ORDER#include "FastLED.h" FASTLED_USING_NAMESPACE

#define NUM_LEDS 30

#define LEDS_PER_STAIR 2 // Anzahl der LEDs pro Treppe. Noch nicht änderbar - nur bemerkenswert #define BRIGHTNESS 120 // 0…255 (verwendet in Fade7) #define PIN_LED 04 // LED Data Pin (GPIO4) D2 #define PIN_PIR_DOWN 14 // PIR Downstairs Pin (GPI14) D5 #define PIN_PIR_UP 12 // PIR Upstairs Pin (GPI12) D6

Sie können die Anzahl der LEDs in Ihrem LED-Streifen konfigurieren, auch den Anschluss des LEDStrip, wenn Sie ihn an einen anderen Pin anschließen, und auch den PIR-Sensor-Pin, wenn Sie ihn an einen anderen Pin der MCU anschließen.

Die obige Konfiguration befindet sich in der Datei "ledsettings.h".

Den vollständigen Quellcode können Sie unter folgendem Link herunterladen.

Sobald Sie den Code erfolgreich kompilieren können, können Sie ihn auf den ESP8266 hochladen.

Schritt 4: Testen und Testen und Fehlerbehebung

Test und Test und Fehlerbehebung
Test und Test und Fehlerbehebung
Test und Test und Fehlerbehebung
Test und Test und Fehlerbehebung

Wenn alles gut geht, sollten Sie eine funktionierende Flurbeleuchtung haben, auf die Sie stolz sein können. Wenn Sie die Schaltung zum ersten Mal einschalten, leuchtet der LED-Streifen mit einer Regenbogensequenz auf. Dann fungiert der ESP8266 als Zugangspunkt (AP), damit Sie die WLAN-Verbindung konfigurieren können.

Wenn Sie den Code verwenden, den ich habe, sollten Sie "ESP-HallLight" als Zugangspunkt sehen können. Aus Sicherheitsgründen habe ich den AP mit einem Passwortschutz versehen. Das Standardpasswort ist "arduino". Sie können dies in der Datei settings.h im folgenden Abschnitt ändern.

#define CLOCK_NAME "ESP-HallLight"

#define WIFI_AP_NAME CLOCK_NAME #define WIFI_APPSK "arduino" // Standard-AP-Passwort

Nach erfolgreicher Verbindung mit einem Mobiltelefon oder Laptop über WLAN sollten Sie in der Lage sein, Ihren Browser auf 192.168.4.1 zu verweisen. Sie sollten den Einstellungsbildschirm sehen, wie in der Abbildung oben gezeigt. Sie können jetzt Ihre WLAN-Einstellungen eingeben und nach der Eingabe wird ESP8266 neu gestartet und versucht, eine Verbindung zu Ihrem WLAN herzustellen. Bei erfolgreicher Verbindung sehen Sie den Access Point "ESP-HallLight" nicht mehr.

Wenn Sie noch mit der Arduino-Schnittstelle verbunden sind, können Sie dies über den seriellen Monitor überwachen.

Hinweis: Sie müssen das WLAN nicht konfigurieren, damit die Sensoren funktionieren, es sollte nach einigen Sekunden funktionieren, wenn die ersten Lichter aus sind.

Zum Testen können Sie versuchen, von einer Seite zu gehen oder mit der Hand zu winken, das Licht sollte in Fahrtrichtung aufleuchten, wenn es umgekehrt ist, müssen Sie den linken und rechten Sensor im Code vertauschen.

Während meines ersten Builds verbinde ich versehentlich das falsche Ende des LED-Streifens, wodurch keine der LEDs aufleuchtet.

Ich hoffe, Ihnen gefällt dieser Build, wenn dies hilfreich ist, stimmen Sie bitte für den Wettbewerb ab. Wenn Sie Fragen haben, zögern Sie nicht, mir eine Nachricht zu schreiben, und ich werde mich so schnell wie möglich darum kümmern.

Einige nachträgliche Überlegung wäre, die zusätzlichen Funktionen hinzuzufügen wie:

  • Mit einer Schnittstelle, um die LEDs unabhängig vom Sensor zu schalten, ähnlich wie in meinem vorherigen Beitrag über WLAN-gesteuerte LED-Streifen oder LED-Streifen-Statusanzeige.
  • Fügen Sie eine zusätzliche Funktion hinzu, um MQTT-Nachrichten an Home Assistant zu senden, ähnlich wie im folgenden Beitrag.

Empfohlen: