Трехцветная светодиодная адресная лента на основе адресных светодиодов 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грн.



