Быстродействующий массив fill_solid
У меня возникли проблемы с функцией fill_solid с массивами. можете ли вы помочь придать цвет строке 3.
int row3[]={1,2,3};
uint8_t sizerow3 = sizeof(row3)/sizeof(row3[0]);
void solid(){
fill_solid(leds[row3[3]], sizerow3, CRGB :: Red);
LEDS. show();
}
Это моя полная программа.
Спасибо
@Ecvary, 👍0
Обсуждение1 ответ
светодиоды[row3[3]]
- это не то, что вы думаете. То есть выбирается один единственный светодиод в зависимости от того, что находится в элементе 4 (индекс 3) 3-элементного массива row3
. Поскольку в массиве из 3 элементов нет индекса 3 (только индексы 0, 1 и 2), значение, которое он возвращает для использования в качестве индекса массива leds[]
, неизвестно.
fill_solid
предназначен для заполнения одной непрерывной цепочки светодиодов, начинающейся со светодиода n
и продолжающейся для нескольких светодиодов после этого. Чтобы настроить все случайные светодиоды на один и тот же цвет, вы должны просто просмотреть список целевых светодиодов и настроить цвета по отдельности. Что-то вроде:
for (int i = 0; i < sizerow3; i++) {
leds[row3[i]] = CRGB::Red;
}
LEDS.show();
- RGB светодиодная лента 100м.
- Как подключить две светодиодные ленты (APA102/SK9822) к Arduino UNO?
- Arduino для запуска и светодиодная лента длиной до 100 м
- Проект велосипедного заднего фонаря
- Библиотека FastLED: Как настроить яркость одного пикселя в абсолютном масштабе?
- Управление цифровой адресной светодиодной лентой RGB 12 В с помощью Arduino
- Адресная RGB-полоса работает по отдельности, но не может настроить все светодиоды на полностью белый цвет.
- Как изменить яркость светодиодного освещения?
В чем проблема с вашим кодом? Пожалуйста, добавьте подробное описание проблемы, @chrisl
мне нужна помощь, как последовательно включать светодиоды от row1[] до row5 []. (для каждой строки, а не для каждого пикселя), @Ecvary