Inhoudsopgave:

Automatisch IoT Hal Nachtlampje Met ESP8266 - Ajarnpa
Automatisch IoT Hal Nachtlampje Met ESP8266 - Ajarnpa

Video: Automatisch IoT Hal Nachtlampje Met ESP8266 - Ajarnpa

Video: Automatisch IoT Hal Nachtlampje Met ESP8266 - Ajarnpa
Video: Hoe de AC-lamp te bedienen met behulp van relais met NodeMCU D1 Mini via WiFi 2024, November
Anonim
Image
Image
Verzamel alle benodigde materialen
Verzamel alle benodigde materialen

Ik begon dit project geïnspireerd door een traplicht van een andere instructable post. Het verschil is dat het brein van het circuit ESP8266 gebruikt, wat betekent dat het een IoT-apparaat zal worden.

Wat ik in gedachten heb, is om het nachtlampje in de gang voor de kinderen te hebben, wanneer ze uit hun kamer komen, het pad naar de badkamer verlichten. Hiervoor gebruik ik de ESP8266 om de beweging van de PIR-sensor te detecteren. Ik gebruikte 2 PIR-sensoren, één aan elk uiteinde voor de terugreis. Aangezien ESP8266 IoT-compatibel is, kan ik dit ook gebruiken om te detecteren of er beweging in de gang is door een MQTT-bericht naar de Home Assistant te sturen.

Stap 1: Verzamel alle benodigde materialen

Verzamel alle benodigde materialen
Verzamel alle benodigde materialen
Verzamel alle benodigde materialen
Verzamel alle benodigde materialen

Voor dit project gebruik ik de volgende materialen:

- ESP8266

- PIR-sensor

- Weerstand van 330 Ohm die fungeert als stroombegrenzer

- 5 V adresseerbare LED-strip (WS2812B)

- Elektrische leiding om de lichten te huisvesten

Stap 2: Sluit het circuit aan

Sluit het circuit aan
Sluit het circuit aan
Sluit het circuit aan
Sluit het circuit aan
Sluit het circuit aan
Sluit het circuit aan

We verbinden in wezen de LED-strip Datalijn met pin D2 of ESP8266 via een weerstand van 330 Ohm om de stroom te beperken. Houd er rekening mee dat de bedrijfsspanning van de ESP8266 3,3 V is.

De PIR-sensoren worden aangesloten op Pin D5 en D6, één voor de linker sensor en één voor de rechter. Vergeet in dit geval niet de voeding voor PIR en ledstrip aan te sluiten op 3,3V.

Stap 3: Upload de code

Upload de code
Upload de code
Upload de code
Upload de code

Om de code te laten werken, heb je de volgende bibliotheek nodig:

- "FastLed" bibliotheek door Daniel Garcia, in dit geval heb ik versie 3.3.3 geïnstalleerd

- TimeLib

- ESP8266Wifi

- ESP8266WebServer

- ArduinoOTA

Als je ze nog niet hebt geïnstalleerd, kun je ze installeren via "Extra->Bibliotheek beheren" in de Arduino-interface.

In het volgende gedeelte van de code:

#define FASTLED_ESP8266_D1_PIN_ORDER#include "FastLED.h" FASTLED_USING_NAMESPACE

#define NUM_LEDS 30

#define LEDS_PER_STAIR 2 // Aantal leds per trap. Momenteel nog niet veranderbaar - alleen opmerkelijk #define BRIGHTNESS 120 // 0…255 (gebruikt 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 Bovenpen (GPI12) D6

U kunt het aantal LED's in uw LED-strip configureren, ook de aansluiting van de LEDStrip als u besluit deze op een andere pin aan te sluiten en ook de PIR-sensorpin als u besluit deze op een andere pin van de MCU aan te sluiten.

De bovenstaande configuratie bevindt zich in het bestand "ledsettings.h".

U kunt de volledige broncode downloaden via de volgende link.

Zodra je de code succesvol hebt gecompileerd, kun je deze uploaden naar de ESP8266.

Stap 4: Test en test en probleemoplossing

Testen en testen en probleemoplossing
Testen en testen en probleemoplossing
Testen en testen en probleemoplossing
Testen en testen en probleemoplossing

Als alles goed gaat, zou je een werkende halverlichting moeten hebben waar je trots op kunt zijn. Wanneer u het circuit voor de eerste keer inschakelt, licht de LED-strip op met een regenboogreeks. Dan zal de ESP8266 fungeren als toegangspunt (AP) waarmee u de WiFi-verbinding kunt configureren.

Als u de code gebruikt die ik heb, zou u "ESP-HallLight" als toegangspunt moeten kunnen zien. Voor de veiligheid heb ik wachtwoordbeveiliging voor de AP ingesteld. Het standaardwachtwoord is "arduino", u kunt dit wijzigen in het bestand settings.h in de volgende sectie.

#define CLOCK_NAME "ESP-HallLight"

#define WIFI_AP_NAME CLOCK_NAME #define WIFI_APPSK "arduino" // standaard AP-wachtwoord

Eenmaal succesvol verbonden met behulp van een mobiele telefoon of laptop via WiFi, zou u uw browser naar 192.168.4.1 moeten kunnen richten, u zou het instellingenscherm moeten zien zoals weergegeven in de bovenstaande afbeelding. U kunt nu uw wifi-instellingen invoeren en eenmaal ingevoerd zal ESP8266 opnieuw opstarten en proberen verbinding te maken met uw wifi. Als het lukt om verbinding te maken, ziet u het toegangspunt "ESP-HallLight" niet meer.

Als je nog steeds verbonden bent met de Arduino-interface, kun je dit monitoren via de seriële monitor.

Opmerking: je hoeft de wifi niet te configureren om de sensoren te laten werken, het zou na een paar seconden moeten werken als de eerste lampjes uit zijn.

Om te testen kun je proberen vanaf de ene kant te lopen of met je hand te zwaaien, het licht moet oplichten in de rijrichting, als het het tegenovergestelde doet, dan moet je de linker- en rechtersensor in de code verwisselen.

Tijdens mijn eerste build heb ik per ongeluk het verkeerde uiteinde van de LED-strip aangesloten, waardoor geen van de LED's oplicht.

Ik hoop dat je deze build leuk vindt, als dit nuttig is, stem dan op de wedstrijd. Als je vragen hebt, aarzel dan niet om me een bericht te sturen, en ik zal er zo snel mogelijk op reageren.

Na enige gedachte zou zijn om de extra functies toe te voegen, zoals:

  • Een interface hebben om de LED's onafhankelijk van de sensor te laten draaien, vergelijkbaar met mijn vorige bericht over WiFi-gestuurde LED-strip of LED-stripstatusindicator.
  • Voeg een extra functie toe om een MQTT-bericht naar de Home Assistant te plaatsen, vergelijkbaar met het volgende bericht.

Aanbevolen: