X

Kurs ESP - Diody programowalne

Diody programowalne RGB (WS2812B)

Diody adresowalne RGB WS2812B występuj w formie pojedynczych modułów, taśm LED lub matryc o różnych kształtach. Każda dioda posiada osobny moduł. Odpowiada on za odbieranie sygnału, na podstawie którego zapalane są odpowiednie składowe koloru RGB oraz wyście dające możliwość przekazania sygnału do kolejnej diody. Pojedynczy moduł po odebraniu sygnału sterującego wysyła dalej sygnał sterujący skrócony o impuls odpowiadający za sterowanie sobą. Diody są zasilane napięciem 5V.

Neopixel

Neopixel to biblioteka odpowiadająca za programowanie diod LED RGB.

W bibliotece wyróżniamy 3 podstawowe funkcje:

begin() - inicjalizacji biblioteki NeoPixel,

setPixelColor(nr diody, R,G,B) - do ustawienia koloru świecenia wybranej diody

show() - do wysłania danych do naszego łańcucha

Schemat

wymagany rezystor 300-800Ω. Przetwornica ustawiona na 5V.

ESP RGB

Kod

#include <Adafruit_NeoPixel.h>

#define pinNeopixel D7
#define numberLed 15

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(numberLed, pinNeopixel, NEO_GRB + NEO_KHZ800); //Wybór pinu, ilości diod oraz rodzaju diod  

void setup()
{
	pixels.begin(); // inicjacja biblioteki
}

void loop()
{
	for (int i = 0; i < numberLed; i++)
	{
		pixels.setPixelColor(i, 180, 150, 0); // Dioda "i" oraz składowe RGB(180,150,0)
		pixels.show(); // Wysłanie danych do łańcucha pojedynczo
		delay(50); // Opóźnienie 500ms przed zaświeceniem kolejnej diody
	}

	for (int i = 0; i < numberLed; i++)
	{
		pixels.setPixelColor(i, 255, 0, 0); // Dioda "i" oraz składowe RGB(255,0,0)
		 // Opóźnienie 500ms przed zaświeceniem kolejnej diody
	}
	pixels.show(); // Wysłanie danych do łańcucha, wszystkie diody na raz
	delay(500);

	for (int i = 0; i < numberLed; i++) 
	{
		pixels.setPixelColor(i, 0, 0, 0);  // Dioda "i" oraz składowe RGB(0,0,0)     
	}
	pixels.show(); // Wysłanie danych do łańcucha, wszystkie diody na raz
	delay(500);
}