Страница 1 из 1

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

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

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

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

Допустим для голубого цвета в меню установлено значение - 100, для красного - 200, для зеленого - 200, а яркость должна уменьшиться на 150. В этом случае на блок управления светодиодами для красного и зелено цветов будет подаваться значение 90, а вот для голубого это значение вообще в минус уходит. Ну и соответственно не только яркость поменяется но и цвет.
Вот тут я застрял, прошу помощи.

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

Добавлено: 19 янв 2019, 19:52
AlexCrane
[ref]DownHouse[/ref], Попробуй эти блоки, в них используется стандартная функция для задания яркости

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

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

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

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

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

Добавлено: 20 янв 2019, 08:13
AlexCrane
[ref]DownHouse[/ref], Поставь последнюю версию библиотеки Adafruid NeoPixel

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

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

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

Добавлено: 23 июн 2019, 22:46
rogerwaters
....

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

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

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

Добавлено: 05 дек 2019, 14:59
AlexCrane
[ref]edyapd[/ref], Есть такое, для себя так и делаю, блоки выкладывал здесь чисто для тестов, от вас только обратная связь :yes:
Сделаю

P.S. А если выводить с частотой 50Гц, то процу еще легче будет....

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

Добавлено: 05 дек 2019, 15:31
edyapd
AlexCrane писал(а): 05 дек 2019, 14:59 А если выводить с частотой 50Гц, то процу еще легче буде
Боюсь, что не понял. Можете пояснить?

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

Добавлено: 05 дек 2019, 19:10
AlexCrane
[ref]edyapd[/ref], т.е. не в каждом цикле в ленту записывать данные а раз в 20мс, глаз-то все равно не увидит :smile37:

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

Добавлено: 05 дек 2019, 19:23
edyapd
[ref]AlexCrane[/ref], угу, дошло. Попробовать можно. Но боюсь какие-нибудь специфические эффекты могут потеряться.
Например у меня пятно из пяти светодиодов бегает по ленте длиной 60 светодиодов. Период 10 мс
Эффект, как будто горит вся полоса и по ней перемещаются менее яркие участки.
При периоде в 20 мс этот эффект теряется. И чтобы он проявился, мне надо зажечь в два раза больше светодиодов. А это уже лишнее потребление.

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

Добавлено: 05 дек 2019, 19:45
AlexCrane
[ref]edyapd[/ref], С какой-же скоростью они у вас бегают? А можно проект глянуть

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

Добавлено: 05 дек 2019, 20:30
edyapd
[ref]AlexCrane[/ref],
Эффект в самом конце
[spoiler][bbvideo]https://www.youtube.com/watch?v=GJeDH5972bE[/bbvideo][/spoiler]
Здесь он правда на 30 светодиодов, но если расширить, то эффект будет тот же самый.
Поворотники+Стоп+Задний ход_60.flp