WS2812B LED RGB a controllo digitale

Il led tipo WS2812B è un led RGB a controllo digitale prodotto dalla WorldSemi; utilizza un RGB SMD 5050, al cui interno è stato installato un minuscolo chip.
In questo chip è presente un regolatore di luminosità a corrente costante che assicura un colore uniforme anche con differenti tensioni di alimentazione e un’interfaccia di comando seriale a una sola linea.

led RGB ws2812B

Descrizione del Led WS2812B

La presenza del chip interno, permette ai led di essere programmati per emettere diversi colori tramite un protocollo ad 1 bit. Per il pilotaggio sono utilizzati solo 3 pin, due per l’alimentazione (+5V e GND) e uno per la programmazione.
Con questi led è possibile accendere con differenti colori, delle strisce di led formate da uno sino a 500 led contemporaneamente (frequenza di trasmissione dei dati 400 kHz). L’unico limite sono le resistenze dei fili che portano l’alimentazione e la velocità con cui vogliamo cambiare i colori dei led.
I led WS2812B sono l’evoluzione della precedente versione WS2812 che ha comportato la diminuzione dei pin del led

led RGB ws2812B

  • Sorgente luminosa: 5050 RGB SMD (datasheet)
  • Materiale : substrato di alluminio
  • Livelli di colore:  256
  • Angolo di luce: 180 °
  • Emissione di colori chiari: bianco, rosso, giallo, blu, verde, ecc.
  • Tensione di funzionamento standard: DC 5 V
  • Potenza: 0,3 W + / – 0,01%

Parametri caratteristici dell’IC  RGB

Colore emessoLunghezza d'onda (nm)Intensità luminosa(mcd)Tensione (V)
Rosso620-625 390-420 2.0-2.2
Verde522-525 660-720 3.0-3.4
Blu465-467 180-200 3.0-3.4

Modulo commerciale

Per facilitare l’utilizzo del led WS2812B sono disponibili in commercio dei piccoli PCB su cui sono montati oltre al led un condensatore ceramico e una resistenza; i singoli moduli possono essere utilizzati singolarmente oppure in gruppi.

led RGB ws2812B

led RGB ws2812B

Per collegare un modulo singolo occorre un pinstrip maschio da 3 pin led RGB ws2812B

Occorrerà ora eseguire la saldatura dei pin ai pad presenti sul PCB

Libreria di gestione tramite Arduino

Per la gestione del led sono disponibili due librerie, una è quella realizzata dalla Adafruit che è chiamata Adafruit_NeoPixel; la seconda scritta da Daniel Garcia  dal nome FastLED.

Libreria FastLED

Questa libreria ha la capacità di pilotare, al momento, 24 tipi diversi di led RGB, sia del tipo pilotabile con una sola linea dati, come nel nostro caso, sia altri led pilotabili tramite protocollo a SPI con due line : data, clock.
Per poterla utilizzare si utilizzerà la funzione Gestione librerie dell’IDE , vedere anche articolo Arduino – Tutorial, come installare una libreria

RGB WS2812B ESP32 Devkit

A questo punto basterà inserire nel campo ricerca “fastled” quando apparirà basterà premere il tasto Installa,

Ora andando sotto la sezione Esempi, potrete trovare sotto la cartella “Esempi da librerie personalizzate” gli esempi inerenti la libreria FastLED

Libreria NeoPixel

Per istallare la libreria NeoPixel realizzata dalla ditta Adafruit.
si utilizza le stessa procedura vista nel precedente capitolo, inserendo nel campo ricerca “neopixel” , quando apparirà basterà premere il tasto Installa,

RGB WS2812B ESP32 Devkit

La scritta “INSTALLED” segnalerà l’avvenuta installazione della libreria.
Per utilizzarla nei vostri Sketch, occorrerà utilizzare il comando #include <Adafruit_NeoPixel.h>

Preparazione dei moduli per la prova

Per testare il la libreria si è utilizzata una serie di tre moduli led, questo per simulare un semaforo stradale.

led RGB ws2812B

Per la realizzazione sarà necessario una serie di 3 led WS2812B e un pinstrip s 3pin

Si eseguiranno poi le saldature per collegare i pin di alimentazione +5V e GND e collegando i pin Din con i pin Dout

Circuito di prova

Per il test il modulo realizzato è stato montato sul Multi test shield, compatibile con le schede Arduino; in questo caso sul connettore JP4 il cui pin centrale è collegato al pin D17 (pin A3).
Sotto è riportato lo schema equivalente.

Sketch utilizzato

Lo sketch simula mediante i tre moduli WS2812, un semaforo. Per il test si è utilizzato il Multi test shield, in questo caso si è utilizzato il connettore JP4 il cui pin centrale è
collegato al pin D17 (pin A3). Il pin potrà comunque essere modificato prima del caricamento del programma.
Per il corretto funzionamento del programma occorrerà caricare la libreria “FastLED”
La programmazione accenderà in sequenza il led più esterno di colore rosso, il centrale in giallo e in verde quello più in basso. Sotto è riportato lo sketch.

Filmato di esempio

Esempi di utilizzo

Controllo con ESP32 – Desvkit v1

Gestione led tramite Modulo ESP32 Desvkit V1,  vedere articolo Modulo ESP32 Devkit V1 – Led RGB WS2812B

Scheda controllo Robot Tumbller

Scheda di controllo Robot in kit proposto da Elegoo denominato Tumbller è un kit per la costruzione di un robot autobilanciante di nuova concezione che ha molteplici affascinanti funzioni

 

Piccolo ed economico transceiver Wi-Fi chiamato “ESP Witty ” è la soluzione perfetta per applicazioni di automazione domestica e IoT. In questo caso è utilizzato ancora il modello WS2812.