Помогите с регулировкой яркости светодиодов ws2812

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
DownHouse
Рядовой
Сообщения: 25
Зарегистрирован: 04.04.2017{, 14:07}
Репутация: 0

Помогите с регулировкой яркости светодиодов ws2812

#1

Сообщение DownHouse » 19.01.2019{, 19:29}

Приветствую! Захотелось повторить проект часов на светодиодах WS2812. За основу взял проект уважаемого Грачика (ArduinoProm).
Добавил регулировку яркости по фоторезистору - работает.
Но в проекте у Грчика задействовано только 3 цвета, а хотелось бы добавить настройку цветов.
Попробую вкратце описать свои действия.
В блоке меню Вместо одного пункта для выбора цвета сделал 3 пункта для каждого цвета (red, green, blue).
На вход блока масштабирования подключил фоторезистор, а с выхода в переменную (Light). Далее определил на сколько снижется яркость светодиодов. Т.е. из 255 (максимальное значение) вычитаю значение переменной (Light) Полученное значение заношу в переменную (LightRazn). И потом вычитаю полученное значение для каждого света.

Например: в меню для красного цвета установлено значение - 200, для зеленого - 200, для голубого - 255. Из этих данных я вычитаю значение переменной (LightRazn) и уже полученные значения для каждого из цветов подключаю на блок управления светодиодами.
Может описал сумбурно, но старался по понятней.
В приложенном скетче все это находится на 4 плате.

Но при изменении освещения диоды не просто меняют яркость а еще и цвет. Возможно дело в максимальных и минимальных значениях.

Допустим для голубого цвета в меню установлено значение - 100, для красного - 200, для зеленого - 200, а яркость должна уменьшиться на 150. В этом случае на блок управления светодиодами для красного и зелено цветов будет подаваться значение 90, а вот для голубого это значение вообще в минус уходит. Ну и соответственно не только яркость поменяется но и цвет.
Вот тут я застрял, прошу помощи.
Вложения
chasy-na-ws2812flp — копия.flp
(2.92 МБ) 76 скачиваний

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Помогите с регулировкой яркости светодиодов ws2812

#2

Сообщение AlexCrane » 19.01.2019{, 19:52}

DownHouse, Попробуй эти блоки, в них используется стандартная функция для задания яркости
Вложения
WS2812_Neo_main_(CODE).ubi
(8.9 КБ) 104 скачивания
WS2812_Neo_blocks_(CODE).ubi
(25.75 КБ) 112 скачиваний
WS2812_Neo_main_ESP8266_(CODE).ubi
(8.84 КБ) 104 скачивания
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

DownHouse
Рядовой
Сообщения: 25
Зарегистрирован: 04.04.2017{, 14:07}
Репутация: 0

Помогите с регулировкой яркости светодиодов ws2812

#3

Сообщение DownHouse » 20.01.2019{, 03:32}

AlexCrane писал(а):
19.01.2019{, 19:52}
Попробуй эти блоки, в них используется стандартная функция для задания яркости
Заменил блоки. Перестало совсем работать, не один пиксель не светится. А для чего последний вход на этом блоке (Led_W) называется.

Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 576
Зарегистрирован: 30.08.2018{, 17:15}
Репутация: 47
Откуда: Иркутская область
Имя: Сергей

Помогите с регулировкой яркости светодиодов ws2812

#4

Сообщение SergeyShikal » 20.01.2019{, 06:16}

DownHouse писал(а):
20.01.2019{, 03:32}
AlexCrane писал(а):
19.01.2019{, 19:52}
Попробуй эти блоки, в них используется стандартная функция для задания яркости
Заменил блоки. Перестало совсем работать, не один пиксель не светится. А для чего последний вход на этом блоке (Led_W) называется.
А где проэкт то? У меня на этих блоках работают часы, только 7 сегментные, лед В-белый светодиод.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Помогите с регулировкой яркости светодиодов ws2812

#5

Сообщение AlexCrane » 20.01.2019{, 08:13}

DownHouse, Поставь последнюю версию библиотеки Adafruid NeoPixel
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

DownHouse
Рядовой
Сообщения: 25
Зарегистрирован: 04.04.2017{, 14:07}
Репутация: 0

Помогите с регулировкой яркости светодиодов ws2812

#6

Сообщение DownHouse » 20.01.2019{, 15:49}

AlexCrane писал(а):
20.01.2019{, 08:13}
Поставь последнюю версию библиотеки Adafruid NeoPixel
Спасибо большое! Разобрался. При прошивке скетча в ардуино в EPROM записываются нулевые значения для всех цветов, поэтому и не горели.

rogerwaters
Рядовой
Сообщения: 42
Зарегистрирован: 17.05.2019{, 18:38}
Репутация: 2
Имя: Александр

Помогите с регулировкой яркости светодиодов ws2812

#7

Сообщение rogerwaters » 23.06.2019{, 22:46}

....

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Помогите с регулировкой яркости светодиодов ws2812

#8

Сообщение edyapd » 05.12.2019{, 10:47}

AlexCrane писал(а):
19.01.2019{, 19:52}
Попробуй эти блоки
Тут недавно собирал проект на WS2812. Использовал ПБ для этого. Правда не ваши (хотя может они и ваши). Они не были подписаны чьи. Но, суть в том, что они от ваших отличаются только отсутствием Яркости и Белого цвета.
Помучился я с ними пару дней. Пока не более десяти блоков, всё работает нормально. Как только количество блоков увеличивается, то начинаются жуткие тормоза.
Но, как только я переделал один ПБ, убрав из него команду pixels.show в вашем варианте это strip.show(). И поместил эту команду в отдельный блок, который размещается на последней плате. Так сразу всё залетало.
Я не вижу смысла публиковать свои блоки, уж очень незначительная доработка. Могли бы вы подправить свои?

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Помогите с регулировкой яркости светодиодов ws2812

#9

Сообщение AlexCrane » 05.12.2019{, 14:59}

edyapd, Есть такое, для себя так и делаю, блоки выкладывал здесь чисто для тестов, от вас только обратная связь :yes:
Сделаю

P.S. А если выводить с частотой 50Гц, то процу еще легче будет....
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Помогите с регулировкой яркости светодиодов ws2812

#10

Сообщение edyapd » 05.12.2019{, 15:31}

AlexCrane писал(а):
05.12.2019{, 14:59}
А если выводить с частотой 50Гц, то процу еще легче буде
Боюсь, что не понял. Можете пояснить?

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Помогите с регулировкой яркости светодиодов ws2812

#11

Сообщение AlexCrane » 05.12.2019{, 19:10}

edyapd, т.е. не в каждом цикле в ленту записывать данные а раз в 20мс, глаз-то все равно не увидит :smile37:
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Помогите с регулировкой яркости светодиодов ws2812

#12

Сообщение edyapd » 05.12.2019{, 19:23}

AlexCrane, угу, дошло. Попробовать можно. Но боюсь какие-нибудь специфические эффекты могут потеряться.
Например у меня пятно из пяти светодиодов бегает по ленте длиной 60 светодиодов. Период 10 мс
Эффект, как будто горит вся полоса и по ней перемещаются менее яркие участки.
При периоде в 20 мс этот эффект теряется. И чтобы он проявился, мне надо зажечь в два раза больше светодиодов. А это уже лишнее потребление.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Помогите с регулировкой яркости светодиодов ws2812

#13

Сообщение AlexCrane » 05.12.2019{, 19:45}

edyapd, С какой-же скоростью они у вас бегают? А можно проект глянуть
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Помогите с регулировкой яркости светодиодов ws2812

#14

Сообщение edyapd » 05.12.2019{, 20:30}

AlexCrane,
Эффект в самом конце
СпойлерПоказать
Здесь он правда на 30 светодиодов, но если расширить, то эффект будет тот же самый.

Ответить

Вернуться в «Спросить у знатоков»