Led WS2812B RGB a controllo digitale

Il led tipo WS2812B  è un led RGB a controllo digitale prodotti 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 costante anche con differenti tensioni di alimentazione e un interfaccia di comando seriale ad sola linea.
Con questo chip i led possono 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.

ws2812b

Led WS2812B

I led WS2812B sono l’evoluzione della precedente versione WS2812 che ha comportato la diminuzione dei pin del led

  • Sorgente luminosa: 5050 RGB SMD
  • Materiale : substrato di alluminio
  • Modelli IC: WS2811
  • Livelli di colo: 256
  • Angolo di luce: 180 °
  • Emissione di colori chiari: può attraverso la regolazione del controller per, bianco, rosso, giallo, blu, verde, ecc
  • Tensione di funzionamento standard: DC 5 v
  • Potenza: 0,3 W + / – 0,01%
  • Le dimensioni della scheda FPCB: larghezza: 10 mm, spessore: 3 mm

Datasheet Led RGB smd WS2812B

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
OurPCB, your most reliable PCB and PCBA supplier.

Modulo commerciale

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

Per collegare un modulo singolo occorre un pinstrip maschio da 3 pin 

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

Focusing on PCB Prototype and PCB Assembly Turnkey Services.

Libreria di gestione tramite Arduino

Per la gestione del led sono disponibili due librerie, una è quella realizzata dalla Adafruit è chiamata Adafruit_NeoPixel la seconda scritta da Daniel Garcia  dal nome FastLED.
In realtà la 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

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

One-Stop Wire Harness & Cable Assemblies Solution

Sketch di prova

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

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  

Per il test i modulo realizzato è stato montato sullo multi shield Multi test shield, compatibile con le schede Arduino  in questo caso sul connettore JP4 il cui pin centrale è collegato al pin D17.
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.

#include <FastLED.h>

#define NUM_LEDS 3
#define DATA_PIN 17

// Definisce l'array di led
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
}

void loop() {
  //Semaforo verde
  leds[0] = CRGB::Black;
  leds[1] = CRGB::Black;
  leds[2] = CRGB::Green;
  FastLED.show();
  delay(2000);
  //Semaforo giallo
  leds[0] = CRGB::Black;
  leds[1] = CRGB::Yellow;
  leds[2] = CRGB::Black;
  FastLED.show();
  delay(2000);
  //Semaforo Rosso
  leds[0] = CRGB::Red;
  leds[1] = CRGB::Black;
  leds[2] = CRGB::Black;
  FastLED.show();
  delay(2000);
}

 

Filmato di esempio

 

Visualizza questo post su Instagram

 

Un post condiviso da Adriano Gandolfo (@adrirobot) in data:

Esempi di utilizzo

Scheda di controlloRobot in kit proposto da Elegoo denominato Tumbller è un kit per la costruzione di un robot autobilanciate 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.

2 comments

  1. Descrizione e spiegazione perfette

    1. Ti ringrazio, se sei interessato a informazioni su altri componenti per Arduino, esiste sempre l’altra versione del mio sito adrirobot

Lascia un commento

Your email address will not be published.