Ultima modifica il 29 Luglio 2023 by Adriano
Vediamo in questo articolo la gestione di un led RGB WS2812B con un modulo ESP32 Devkit V1.
Questo LED ha un package 5050 al cui interno è inserito un chip di controllo.

Indice
Il 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 °
- Tensione di funzionamento standard: DC 5 v
- Potenza: 0,3 W + / – 0,01%
- Le dimensioni della scheda FPCB: larghezza: 10 mm, spessore: 3 mm
Il protocollo di trasferimento dati per la gestione dei led utilizza una modalità di comunicazione NZR singola. I vari led possono essere messi in cascata attraverso la porta DO.
Questi tipo di led sono anche chiamati NeoPixel e possono trovarsi sia in forma di matrici che in forma di anelli.

Maggiori informazioni le trovate in questo articolo Led WS2812B RGB a controllo digitale
Componenti necessari
Per questo test sono necessari il led RGB W2812B, il modulo ESP32 Devkit V1 e i cavi di collegamento.
Modulo ESP32 Devkit V1 |
Led RGB WS2812B |
Cavi di collegamento F/F |
Schema di collegamento
Il collegamento tra il Modulo ESP32 Devkit V1 e il Led RGB WS2812B, prevede solo tre collegamenti, i due di alimentazione : 3.3V, GND e quello dei dati D15.


Libreria di gestione
Per la gestione del led occorre istallare la libreria NeoPixel realizzata dalla ditta Adafruit .
Si utilizzerà la funzione Gestione librerie dell’IDE, vedere anche articolo Arduino – Tutorial, come installare una libreria

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

Al momento della scrittura dell’articolo è disponibile la versione 1.8.0. La scritta “INSTALLED” segnalerà l’avvenuta installazione della libreria.
Per utilizzarla nei vostri Sketch, occorrerà utilizzare il comando #include <Adafruit_NeoPixel.h>
Sketch di prova
Sotto è riportato il semplice Sketch di prova che permetterà di accedere in sequenza i tre led primari presenti nel led.
In questo caso si è definito il pin 15 del Modulo ESP32 Devkit V1 per il collegamento della linea dati del led
#include <Adafruit_NeoPixel.h>
#define PIN 15
// Quando configuriamo la libreria NeoPixel, gli diciamo quanti pixel e quale pin usare per inviare segnali.
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
pixels.begin(); // Si inizializza la libreria NeoPixel.
}
void loop()
{
pixels.setPixelColor(0, pixels.Color(255, 0, 0)); //Colore rosso
pixels.show();
delay(1000);
pixels.setPixelColor(0, pixels.Color(0, 255, 0)); //Colore verde
pixels.show();
delay(1000);
pixels.setPixelColor(0, pixels.Color(0, 0, 255)); //Colore blu
pixels.show();
delay(1000);
}
Shield per ESP32 DevKIT V1
Il led led RGB WS2812B è anche montato sullo shield per ESP32 DevKIT V1, lo shied permette di testare vari dispositivi come: un led , un fotoresistore, un pulsante.
Sono presenti dei connettori a cui collegare: un display OLED, svariati sensori I2C, e altri a 3 PIN alimentati sia a 3,3 che 5V.
Altri articoli utili
- Modulo ESP32 DevKIT V1 con WiFi e Bluetooth BLE
- Modulo ESP32 DevKIT V1 – Installazione nell’IDE
- Display TFT 1.3″ 240×240 – ST7789
- Lettura Sensore BME680
- Shield per ESP32 DevKIT V1







