Спасибо за ссылку, придется работать с фастлед.
Было бы интересно на это посмотреть, но тока цвет чтобы был у всех пикселей одинаковый (например, цвет неба), а вот яркость пикселя определялась расстоянием от центра матрицы: чем дальше от центра, тем тусклее
Причем, поправить его просто.
Там проблема с размером буфера. Они его на стеке размещают, а когда >70 пикселей, то там нужно 6кб памяти (ну вот так написали, ничо не поделаешь, адов фрукт же)
Соственно, обойти эту багу можно и без исправления кода вовсе: нужно просто запустить отдельную задачу, с размером стека в 10кб. И уже все делать из нее. А loop() грохнуть, он не нужен уже будет: vTaskDelete(loopTaskHandle);
loop() запускается с не сильно большим стеком, поменять его на ходу вроде как по-простому нельзя, но можно запусить свою задачу, со своим размером стека и переселиться туда
Непонятно зачем вообще нужен этот класс матрицы, там в коде кроме элементарного преобразования координат и нет ничего.
Адафрут пишет плохой код. Реально плохой
Пишите, посмотрим…на вихрь одного цвета. Только на малых яркостях, чтоб с аккума тянула платка.
Да, с точки зрения пользователя это какое-то мелкое вредительство, непонятное ему. То есть мне ![]()
Фотки выкладывайте красивые, а то сразу 5 матриц по тыщи штука я не видел ещё.
Я думал на гифке - это ваше.Писать пока не могу, не заказал еще матрицу.
Моё, уже на полке пылится.
И в чем проблема? Выразите цвет в HSV и задача упростится до одного цикла ФОР
Нет проблемы, Лилик вишь чо говорит - Сами, говорит, возитесь паяйте, пишите код, и сами смотрите. А евойное изделие пылевой тест проходит ![]()
ну вот… а я надеялся блеснуть в чужой для меня области компьютерной графики ![]()
Там и в RGB один цикл “ФОР”. Упрощать нечего.
В RGB яркость регулировать геморно
Регулировка яркости - это домножение на коэффициент. Причем, коэффициент один и тот же для всех компонент.
Алгоритм регулировки яркости через HSV:
- Преобразуем компоненты из RGB в HSV.
- Вычисляем масштабный коэффициент для данной точки пространства.
- Домножаем на этот коэффициент компоненту V.
- Преобразуем из HSV обратно в RGB.
Алгоритм регулировки яркости непосредственно в RGB:
- Вычисляем масштабный коэффициент для данной точки пространства.
- Домножаем на этот коэффициент все три компоненты R, G и B.
Вроде наоборот: С верхнего левого и вниз, не? А от вдруг и правда напишуть, а переделать не захотять. ![]()
- Преобразуем цвет из RGB в HSV.
- Вычисляем яркость для текущего пикселя.
- Устанавливаем яркость для текущего пикселя.
Зачем там обратное преобразование?
Патамушта светодиоды обычно rgb три штуки.
Там, как-бы, и первый то пункт не нужен.
