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