Modulo ESP32 Devkit V1 – Led RGB WS2812B

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.

RGB WS2812B ESP32 Devkit

Il led WS2812B

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
  • 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

RGB WS2812B ESP32 Devkit

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

RGB WS2812B ESP32 Devkit

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