Sommario:

Luce notturna automatica per corridoio IoT con ESP8266: 4 passaggi (con immagini)
Luce notturna automatica per corridoio IoT con ESP8266: 4 passaggi (con immagini)

Video: Luce notturna automatica per corridoio IoT con ESP8266: 4 passaggi (con immagini)

Video: Luce notturna automatica per corridoio IoT con ESP8266: 4 passaggi (con immagini)
Video: COME ACCENDERE LA LUCE CON ALEXA e ESP32 utilizzando Sinric PRO 2024, Dicembre
Anonim
Image
Image
Raccogliere tutti i materiali necessari
Raccogliere tutti i materiali necessari

Ho iniziato questo progetto ispirato da una luce per scale da un altro post istruibile. La differenza è che il cervello del circuito utilizza ESP8266, il che significa che diventerà un dispositivo IoT.

Quello che ho in mente è avere la luce notturna del corridoio per i bambini, quando escono dalla loro stanza, illumini il percorso che va in bagno. Per questo sto usando ESP8266 per rilevare il movimento dal sensore PIR. Ho usato 2 sensori PIR, uno a ciascuna estremità per il viaggio di ritorno. Dato che ESP8266 è compatibile con IoT, posso anche usarlo per rilevare se c'è movimento nel corridoio pubblicando un messaggio MQTT all'Home Assistant.

Passaggio 1: raccogliere tutti i materiali necessari

Raccogliere tutti i materiali necessari
Raccogliere tutti i materiali necessari
Raccogliere tutti i materiali necessari
Raccogliere tutti i materiali necessari

Per questo progetto sto utilizzando i seguenti materiali:

- ESP8266

- Sensore PIR

- Resistenza da 330 Ohm che funge da limitatore di corrente

- Striscia LED 5 V indirizzabile (WS2812B)

- Condotto elettrico per alloggiare le luci

Passaggio 2: collegare il circuito

Collega il circuito
Collega il circuito
Collega il circuito
Collega il circuito
Collega il circuito
Collega il circuito

Stiamo essenzialmente collegando la linea dati della striscia LED al pin D2 o ESP8266 tramite un resistore da 330 Ohm per limitare la corrente. Tieni presente che la tensione operativa dell'ESP8266 è di 3,3 V.

I sensori PIR sono collegati ai Pin D5 e D6, uno per il sensore sinistro e uno per il destro. Non dimenticare di collegare l'alimentazione per PIR e striscia LED a 3,3 V in questo caso.

Passaggio 3: carica il codice

Carica il codice
Carica il codice
Carica il codice
Carica il codice

Per far funzionare il codice avrai bisogno della seguente libreria:

- Libreria "FastLed" di Daniel Garcia, in questo caso ho installato la versione 3.3.3

- TimeLib

- ESP8266Wifi

- ESP8266WebServer

- ArduinoOTA

Se non li hai già installati, puoi installarli da "Strumenti-> Gestisci libreria" nell'interfaccia di Arduino.

Nella sezione seguente del codice

#define FASTLED_ESP8266_D1_PIN_ORDER#include "FastLED.h" FASTLED_USING_NAMESPACE

#define NUM_LEDS 30

#define LEDS_PER_STAIR 2 // Numero di Led per scala. Non ancora attualmente modificabile - solo notevole #define BRIGHTNESS 120 // 0…255 (usato in dissolvenza7) #define PIN_LED 04 // LED Data pin (GPIO4) D2 #define PIN_PIR_DOWN 14 // PIR Downstairs Pin (GPI14) D5 #define PIN_PIR_UP 12 // Pin PIR al piano superiore (GPI12) D6

Puoi configurare il Numero di LED nella tua striscia LED, anche la connessione della LEDStrip se decidi di collegarla a un pin diverso e anche il pin del sensore PIR se decidi di collegarlo a un pin diverso dell'MCU.

La configurazione di cui sopra si trova nel file "ledsettings.h".

Puoi scaricare il codice sorgente completo dal seguente link.

Una volta che sei in grado di compilare correttamente il codice, puoi caricarlo su ESP8266.

Passaggio 4: test e test e risoluzione dei problemi

Test e test e risoluzione dei problemi
Test e test e risoluzione dei problemi
Test e test e risoluzione dei problemi
Test e test e risoluzione dei problemi

Se tutto va bene, dovresti avere una lampada da corridoio funzionante di cui essere orgoglioso. Quando accendi il circuito per la prima volta, la striscia LED si illuminerà con una sequenza arcobaleno. Quindi la lattina ESP8266 fungerà da punto di accesso (AP) per consentire di configurare la connessione WiFi.

Se stai usando il codice che ho dovresti essere in grado di vedere "ESP-HallLight" come punto di accesso. Per sicurezza ho messo la protezione con password per l'AP. La password predefinita è "arduino", puoi modificarla nel file settings.h, nella sezione seguente.

#define CLOCK_NAME "ESP-HallLight"

#define WIFI_AP_NAME CLOCK_NAME #define WIFI_APPSK "arduino" // password AP predefinita

Una volta connesso correttamente utilizzando un telefono cellulare o un laptop tramite WiFi, dovresti essere in grado di puntare il tuo browser a 192.168.4.1, dovresti vedere la schermata delle impostazioni come mostrato nell'immagine sopra. Ora puoi inserire le tue impostazioni WiFi e una volta inserito ESP8266 si riavvierà e proverà a connettersi al tuo WiFi. Se è in grado di connettersi correttamente, non vedrai più il punto di accesso "ESP-HallLight".

Se sei ancora connesso all'interfaccia Arduino puoi monitorarlo tramite il monitor seriale.

Nota: non è necessario configurare il WiFi affinché i sensori funzionino, dovrebbe funzionare dopo alcuni secondi quando le luci iniziali sono spente.

Per testare puoi provare a camminare da un lato o agitando la mano, la luce dovrebbe accendersi seguendo la direzione di marcia, se sta facendo il contrario, allora devi scambiare il sensore sinistro e destro nel codice.

Durante la mia prima build ho collegato accidentalmente l'estremità sbagliata della striscia LED, il che ha provocato l'accensione di nessuno dei LED.

Spero che questa build vi piaccia, se questo è utile, votate per il concorso. Se hai domande, non esitare a scrivermi una nota e le risponderò il prima possibile.

Alcuni ripensamenti sarebbero aggiungere le funzionalità aggiuntive come:

  • Avere un'interfaccia per accendere i LED indipendentemente dal sensore, simile al mio post precedente sulla striscia LED controllata da WiFi o sull'indicatore di stato della striscia LED.
  • Aggiungi funzionalità aggiuntive per pubblicare un messaggio MQTT su Home Assistant simile al seguente post.

Consigliato: