FastLED: невозможно адресовать светодиод индивидуально.
Я не могу получить доступ к первому светодиоду на моей полосе с помощью этого кода:
void loop()
{
leds[0] = CRGB::White; FastLED.show(); delay(100);
leds[0] = CRGB::Black; FastLED.show(); delay(100);
}
Вместо этого он мигает 3 светодиодами, хотя я ожидаю, что он будет мигать только первым.
Вот как выглядит мой установочный код:
#define DATA_PIN 1
#define CLK_PIN 5
#define LED_TYPE WS2812B
#define COLOR_ORDER RGB
#define NUM_LEDS 60
CRGB leds[NUM_LEDS];
#define BRIGHTNESS 10
void setup() {
delay(1000); // Задержка включения
// сообщаем FastLED о конфигурации светодиодной ленты
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
// устанавливаем общий контроль яркости
FastLED.setBrightness(BRIGHTNESS);
}
Светодиод был куплен здесь: https://www.aliexpress.com/item/0-5-5M-30-60-LEDs-M-2811 -Pixels-Programmable-Individual-Addressable-LED-Strip-light- WS2811/32849630888.html?spm=a2g0s.9042311.0.0.8e664c4dU4dru2
@Andrey Gordeev, 👍0
Обсуждение1 ответ
Лучший ответ:
В описании места, где вы купили полоску, указано:
Описание:
- Тип светодиода: 5050SMD с внешней микросхемой WS2811 (1 микросхема управления, 3 светодиода)
Так что, вероятно, так и было задумано.
Обратите внимание на схемы приложения в техническом описании микросхемы контроллера (WS2811) [страница 5], где , для 5 В вы можете адресовать один светодиод, но для конфигурации 12 В необходимо сгруппировать светодиоды в наборы по 3.
Спасибо за Ваш ответ. У меня есть еще один WS2811 (https://www.aliexpress.com/item/12mm-black-Wire-WS2811-pixel-module-led-string-Chrismas-tree-50pcs-a-string-with-3pin-JST/32444382333 .html?spm=a2g0s.9042311.0.0.27424c4d7GMaSp), это 12 В, но с индивидуальной адресацией, @Andrey Gordeev
- Контакты NodeMcu и светодиод RGB
- Аналоговая RGB-полоска с эффектом затухания и NodeMCU
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
- Разница между этими двумя платами NodeMCU?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Как определить размер Flash?
- Как изменить имя модуля ESP8266-12E по умолчанию
Чувак, у тебя светодиодная лента WS2811, а НЕ WS2812B. Вам нужно знать, как программировать светодиодную ленту такого типа, но вы хотите изменить строку:
#define LED_TYPE WS2812B
, @k.CyborgЕсли вы внимательно посмотрите видео по вашей ссылке, вы увидите, что, согласно ответу ниже, хотя в описании сказано, что светодиоды управляются индивидуально, на самом деле они управляются группами по 3 штуки., @Jaromanda X
@k.Cyborg тоже это пробовал, не помогло, @Andrey Gordeev