Controllare le luci colorate (NodeMCU)

Striscia Led RGB

Con questo “tutorial” cercherò di spiegarvi come costruire una semplice lampada RGB o illuminare tutta la stanza per controllare le luci colorate con il NodeMCU (ESP8266) e comandarlo sia con un browser qualsiasi tramite un’interfaccia web, che con Alexa.

Quando ho iniziato ad interessarmi di “domotica” o del controllo delle luci della casa, ho sempre sognato di poter dire “Imposta la camera da letto di Azzurro” o “metti tutte le luci sul Blu”.

Oggi tutto questo è possibile anche con un bel risparmio di soldi.

Infatti questo “tutorial” ti aiuta a costruire una lampada o una vera e propria installazione in una stanza, dipenderà da voi e dalla lunghezza della vostra striscia led RGB. Potrete così controllare le luci colorate della vostra casa.

Firmware per Alexa e interfaccia Web locale

Il firmware che utilizzeremo sarà l’apprezzatissimo WLED, programma che controllerà tutta la striscia, farà animazioni interessanti, sarà controllabile sia via web locale e soprattutto compatibile con Alexa, per controllare le luci colorate direttamente con la voce.

Potremmo inserire WLED all’interno del NodeMCU, anche tramite l’Arduino IDE, in modo semplice e veloce. L’alternativa naturalmente esiste anche per chi non conosce o non vuole installare Arduino IDE.

Materiali

I materiali saranno semplicemente: un Nodemcu (Esp8266), un Striscia Led RGB e un trasformatore adatto, più varia cavetteria.

Vediamoli nello specifico:

Nodemcu

Nodemcu è il classico modulo preconfezionato, di cui abbiamo già parlato, contenente il famoso ESP8266 (già presente nei Sonoff), molto pratico avendo già un’entrata Micro-usb da poter sfruttare sia per programmarlo prima, che per poterlo alimentare poi nell’installazione definitiva.

Per quanto riguarda l’alimentazione, ne parleremo successivamente, poiché dipenderà molto dal numero dei Led RGB presenti, per la fase di programmazione basterà inserirlo nella porta usb del computer, con il classico cavo usb/micro-usb.

Cavo Micro-Usb

Cavo Micro Usb
Cavo Micro Usb

Il classico cavo Micro-Usb per computer : trovate un’offerta su Amazon, se non l’avete in casa.

Cavetteria

Cavi per collegare la striscia Led ai vari pin GPIO del NodeMCU, guardate le varie offerte:

Kit per cavetti per Jumper

Connettori per strisce led RGB WS281X

Scatolina per NodeMCU (facoltativa)

Una scatolina per contenere il modulo NodeMCU, anche se è facoltativa, e la sua scelta molto soggettiva.
Guardate un’offerta su Amazon.

Striscia RGB

Che striscia led è compatibile e quale serve?

Esistono diverse strisce led con pin differenti, ognuno utilizzato diversamente per raggiungere il colore prestabilito.

ws2812 , 3 PIN (ws2811,ws2812b)

Nella maggior parte dei casi hanno solo 3 pin, infatti server soltanto un singolo pin per controllare i vari colori, gli altri due pin saranno VCC e il GND

RGB separati (4 PIN)

In questo modello ci sono 4 pin: uno per i 3 colori principali (R, G, B) e un altro per la corrente (di solito 12v)

Questo tipo di striscia ha bisogno di 3 pin PWN ossia uscite analogiche compatibili con la modulazione di larghezza di impulso.

L’esp8266 e parenti ne hanno molte, basta guardare il datasheet del proprio processore.

PWM (Puls Width Modualtion) modulazione a larghezza di impulso.

In parole povere un segnale PWM è un’onda quadra dove varia il rapporto tra il tempo di un segnale ‘alto’ HIGH e il tempo di un segnale quando è a livello ‘basso’ LOW.

Avendo tempi diversi la tensione media risultate varia. In questo caso aumentano o diminuiscono i valori di R, G o B per presentare alla fine il colore corretto.

Naturalmente a livello di programmazione il ws281X a 3 soli pin, risulta non solo semplice da utilizzare, ma in caso di una striscia a molti led, l’algoritmo può anche controllare ogni singolo led, per degli effetti visivi molto efficaci, come appunto nel nostro caso, grazie al firmware WLED.

In questo caso qualsiasi striscia, rettangolo o anello led ws281x andrà bene, consigliamo i Led SMD 5050 , adatti anche grazie al loro voltaggio (dai 3,3 ai 5v)

Controllate comunque il voltaggio delle strisce led, se sono 3,3V potrete collegarle direttamente ai pin 3v3 e GRN del NodeMCU, dato che il NodeMCU ha un regolatore di corrente dal pin VIN che riduce fino a 3,3V il voltaggio interno. Altrimenti la collegherete ai pin dell’alimentazione da 5V del trasformatore che acquisterete.

Qui sotto troverete dei link Amazon di diversi tipi di strisce led adatte per controllare le luci colorate.

Led RGB WS812 5050

Led RGB ws2812b 5050

Alimentazione

Quanto può essere lunga la striscia? Ma soprattutto quanto e come va alimentata?

Il voltaggio sarà di 5V, direttamente ai pin Vin e GND, il circuito del NodeMCU farà la sua parte e abbasserà al giusto voltaggio, ossia 3,3V.

Per quanto riguarda invece la potenza naturalmente dipenderà non solo dalla lunghezza, ma anche da quanti led ci sono, in sostanza quello che ci interesserà saranno il numero di led complessivi.

Il classico led rgb 5050 usato per questo tipo di strisce è composto da 3 led (appunto rosso, verde e blu) ognuno dei quali consumerà massimo 20mA (milliampere), per un totale di 60mA per Led.

Il calcolo è semplice: se in 1 Metro di striscia ci sono 60 Led allora:

60led X 60mA = 3600mA massimi per 1 Metro di questa striscia ipotetica.

Per alimentare quindi questa striscia ci vorrà un trasformatore di ALMENO 3,6 Ampere (ossia 4A).

RICORDATE che se volete provare la striscia direttamente con l’uscita usb del computer, quest’ultima eroga solamente 500mA, questo vuol dire un massimo di 8 Led rgb SMD 5050.

Quindi ogni striscia led di diversa lunghezza, avrà un diverso alimentatore.

Sotto una semplice tabella con relativo esempio di Amperaggio necessario.

Numero Led Milliampere Amperaggio Trasformatore
60 3600 4 A
120 7200 8 A
180 10800 11 A
240 14400 15 A
300 18000 20 A

Su Amazon ci sono molteplici alimentatori, alcuni fatti apposta per questo genere di installazioni: date un’occhiata.

Software Necessario

WLED by Aircoookie, Effetti, Alexa e molto altro.

WLed è un firmware molto potente e davvero completo per controllare le luci colorate, continuamente in aggiornamento, creato da uno sviluppatore capace e una community molto fiorente e sempre disponibile.
Oltre alla gradevole interfaccia web per cambiare il colore e abilitare gli effetti animati alle luci, è compatibile con Alexa, senza bisogno di modificare alcunché.
Inoltre ha un ricchissimo menu, sempre tramite interfaccia web, in cui si può modificare e sincronizzarlo praticamente con i software più famosi in questo ambito.

Per prima cosa bisogna scegliere quale firmware installare e collegare soltanto il NodeMCU al computer.

Potrete procedere in due modi: se avete già un’infarinatura di base di programmazione, potrete scaricare l’interfaccia IDE di Arduino e procedere da lì, scaricando l’intero codice del progetto ( https://github.com/Aircoookie/WLED ) e volendo anche fare delle modifiche alla bisogna.

Altrimenti potrete scaricare direttamente il firmware .bin (https://github.com/Aircoookie/WLED/releases/download/v0.9.0-b1/WLED_0.9.0-b1_ESP8266_1M_full.bin  o scegliete quello più adatto al vostro dispositivo sul sito https://github.com/Aircoookie/WLED/releases ) e inserirlo nel vostro esp8266 attraverso ESPEasy.

ESPEasy

Di ESPEasy ne ho già parlato è un interessante utility a riga di comando che permette l’interazione con la memoria dell’esp8266.

Il software ESPEasy* il link è a appena sotto il titolo, accanto a “Current stable version”, la versione attuale è la R120.

*Attenzione perché il software è diventato a “riga di comando” dovrete quindi aggiungere i vari argomenti nel Prompt dei Comandi.

Se non siete avvezzi a queste cose ho preparato un semplice programmino (file batch), da scompattare nella directory di ESPEasy, che semplifica le cose.

Si chiama PiccoloTool.cmd ed è specifico per i NodeMCU

Procedimento

  1. Scaricate ESPEasy e scompattatelo nella sua cartella
  2. In questa cartella scompatterete anche il PiccoloTool.cmd
  3. Sempre all’interno di questa cartella inserirete il file .bin del vostro Firmware, in questo caso il WLED_0.9.0-b1_ESP8266_1M_full.bin che rinominerete in un più semplice : wled.bin
  4. Collegare il NodeMCU (per ora scollegato dalla striscia led), attraverso il cavo Micro-Usb, al Computer
  5. Posizionatevi, nel prompt dei comandi (tasto Windows, digitare ‘cmd’, premere <invio>) all’interno della cartella in cui è presente tutto (digitare ‘dir’ per visualizzare il contenuto di dove vi trovate e ‘cd nomecartella’ per entrare in cartella)
  6. Digitate ‘PiccoloTool’ e seguite le istruzioni
  7. Una volta conclusa la fase dell’upload del firmware scollegare il NodeMCU
  8. Collegarlo con le dovute accortezze all’alimentatore e alla striscia led, attraverso la cavetteria varia, verificando più volte tutte le connessioni (vedere lo schema nell’immagine qui sotto) ma considerando anche il verso della freccina presente sulla striscia led.Schema NodeMCU con Striscia Led RGB
  9. Collegare la spina dell’alimentatore
  10. Con uno Smartphone o un dispositivo con WiFI, accedere alla lista delle reti wireless e selezionare la rete WLED-AP e inserire la password: wled1234
  11. Dovrebbe uscirvi la pagina di impostazioni iniziale, altrimenti andate sul browser e digitate l’indirizzo 4.3.2.1
  12. Cliccate su Wifi Setting, inserite il nome completo della vostra rete WiFi nel primo campo libero, nel secondo la vostra password, infine cliccate su Save & Boot

A questo punto avete concluso, potrete comandare le vostre luci in modi diversi:

  • Tramite le applicazioni WLED per iOS App e WLED per Android App
  • Tramite il browser digitando l’indirizzo IP delle WLED (che troverete nel vostro router)
  • Associandole direttamente ad Alexa, e controllandole con la voce
  • In altri modi, come descritto nella Wiki di WLED

EXTRA

Nella WIKI di WLED ci sono molte cose interessanti che potrete settare e verificare, come ad esempio collegare un piccolo schermo OLED dove poter visualizzare l’animazione in atto, la sua palette di colori e altre informazione come il suo indirizzo IP.

Inoltre saranno compatibili anche con Adalight (PC ambilight via seriale) , che permette di ‘seguire’ , come una sorta di estensione, il colore dello proprio schermo.

Come potete vedere c’è molta carne al fuoco, quindi divertitevi e controllate le vostre luci colorate.

4 thoughts on “Controllare le luci colorate (NodeMCU)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *