Трьохкольорова світлодіодна стрічка на основі адресних світлодіодів WS2812B
30 світлодіодів на метр
Напруга живлення 5В
Довжина 1м
Роз'єми з обох сторін стрічки - можна підключати багато однотипних стрічок послідовно
Сигнальний дріт зелений
Плюс живлення червоний
Мінус живлення GND білий

Керування яскравістю та кольором кожного окремого світлодіода за допомогою програмованих контролерів
Приклад програми
#include "FastLED.h" // підключаємо бібліотеку
#define NUM_LEDS 30
#define PIN 7
byte bright = 50; // яскравість світлодіодів
byte rate = 0; // Швидкість ефектів
byte w = 1; // Перемикання режимів
byte baza = 0; // Зміна відтінку
boolean button1WasUp = true; // Змінні для зчитування натискання на кнопки
boolean button2WasUp = true;
boolean button3WasUp = true;
CRGB leds[NUM_LEDS];
void setup() {
pinMode(8, INPUT_PULLUP); // Підключаємо тактові кнопки
pinMode(10, INPUT_PULLUP);
pinMode(12, INPUT_PULLUP);
FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(bright);
CRGB color = CRGB (255, 0, 0);
}
void knopka() {
boolean button1IsUp = digitalRead(8); // дізнаємось про поточний стан кнопок
boolean button2IsUp = digitalRead(10);
boolean button3IsUp = digitalRead(12);
// якщо кнопка 1 була натиснута, додаємо яскравість (не більше 250)
if (button1WasUp && !button1IsUp) {
delay(10);
button1IsUp = digitalRead(8);
if (!button1IsUp) { bright = bright + 25; if (bright > 250) { bright = 25; }
}
}
button1WasUp = button1IsUp; // запам'ятовуємо стан кнопки 1
// якщо кнопка 2 була натиснута, збільшуємо затримку (не більше 50)
if (button2WasUp && !button2IsUp) {
delay(10);
button2IsUp = digitalRead(10);
if (!button2IsUp) { rate = rate + 10; if (rate > 50) { rate = 0; }
}
}
button2WasUp = button2IsUp; // запам'ятовуємо стан кнопки 2
// якщо кнопка 3 була натиснута, переходимо у новий режим
if (button3WasUp && !button3IsUp) {
delay(10);
button3IsUp = digitalRead(12);
if (!button3IsUp) {w++; if (w > 12) {w = 1; }
}
}
button3WasUp = button3IsUp; // запам'ятовуємо стан кнопки 3
}
void loop() {
// Перший режим (райдуга)
while (w == 1) {
knopka(); // дізнаємося про стан кнопок
for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CHSV(baza+ i * 5, 255, 255);
}
baza++;
FastLED.setBrightness(bright);
FastLED.show();
delay(50 - rate);
}
// другий режим (палітра)
while (w == 2) {
knopka(); // дізнаємося про стан кнопок
static uint8_t starthue = 0;
fill_rainbow( leds + 5, NUM_LEDS - 5, --starthue, rate);
uint8_t secs = (millis() / 1000) % (rate * 2);
if (secs < rate) { FastLED.setTemperature( Tungsten100W ); leds[0] = Tungsten100W; }
else { FastLED.setTemperature( OvercastSky ); leds[0] = OvercastSky; }
FastLED.setBrightness(bright);
FastLED.show();
}
// Третій режим (конфетті)
while (w == 3) {
knopka(); // дізнаємося про стан кнопок
fadeToBlackBy(leds, NUM_LEDS, (rate + 1) * 2);
int pos = random16(NUM_LEDS);
leds [pos] + = CHSV (baza + random8 (64), 200, 255);
FastLED.setBrightness(bright);
FastLED.show();
}
// четвертий режим (вогник, що біжить)
while (w == 4) {
knopka(); // дізнаємося про стан кнопок
fadeToBlackBy(leds, NUM_LEDS, (rate + 1) * 2);
int pos = beatsin16(13, 0, NUM_LEDS - 1);
leds [pos] + = CHSV (baza ++, 255, 192);
FastLED.setBrightness(bright);
FastLED.show();
}
// п'ятий режим (циклон)
while (w == 5) {
for (int i = 0; i < NUM_LEDS; i++) {
leds[i].nscale8(250);
}
for (int i = 0; i < NUM_LEDS; i++) {
knopka(); // дізнаємося про стан кнопок
leds[i] = CHSV(baza++, 255, 255);
FastLED.setBrightness(bright);
FastLED.show();
delay (rate);
}
}
// шостий режим (фокус)
while (w == 6) {
knopka(); // дізнаємося про стан кнопок
fadeToBlackBy(leds, NUM_LEDS, (rate + 1) * 2);
for (int i = 0; i < 8; i++) {
leds[beatsin16(i + 7, 0, NUM_LEDS - 1)] |= CHSV(baza+=16, 200, 255);
}
FastLED.setBrightness(bright);
FastLED.show();
delay(10);
}
// сьомий режим (райдуга з мерехтінням)
while (w == 7) {
knopka(); // дізнаємося про стан кнопок
fill_rainbow( leds, NUM_LEDS, baza++, 7);
if (random8() < 80) { leds[ random16(NUM_LEDS) ] += CRGB::White; }
FastLED.setBrightness(bright);
FastLED.show();
delay(50 - rate);
}
// сьомий режим (білий)
while (w == 8) {
knopka(); // дізнаємося про стан кнопок
fill_solid( leds, NUM_LEDS, CRGB::White);
FastLED.setBrightness(bright);
FastLED.show();
delay(50 - rate);
}
// сьомий режим (типу апельсин)
while (w == 9) {
knopka(); // дізнаємося про стан кнопок
fill_solid( leds, NUM_LEDS, CRGB::Orange);
FastLED.setBrightness(bright);
FastLED.show();
delay(50 - rate);
}
// сьомий режим (пурпур)
while (w == 10) {
knopka(); // дізнаємося про стан кнопок
fill_solid( leds, NUM_LEDS, CRGB::Purple);
FastLED.setBrightness(bright);
FastLED.show();
delay(50 - rate);
}
// сьомий режим (зеленка)
while (w == 11) {
knopka(); // дізнаємося про стан кнопок
fill_solid( leds, NUM_LEDS, CRGB::Green);
FastLED.setBrightness(bright);
FastLED.show();
delay(50 - rate);
}
// сьомий режим (синій)
while (w == 12) {
knopka(); // дізнаємося стан кнопок
fill_solid( leds, NUM_LEDS, CRGB::Blue);
FastLED.setBrightness(bright);
FastLED.show();
delay(50 - rate);
}
}
Світлодіодна стрічка адресна WS2812B 1м 30led
- Модель WS2812B IP30 1м
- Код: ID-754
- Наявність Є в наявності
-
125.63грн.



