#5
Сообщение
JORA555 » 04.04.2019{, 18:31}
Делал схему управления RGB лентой и рулонной шторой. Выкладываю только часть программы, поэтому много лишних переменных и входов, выходов, удали все ненужное. Настройку яркости делал в цветовой схеме HSV, затем переводил в цветовую схему RGB и передавал через PCA9685 и мосфеты на ленту. Выход напрямую через ШИМ на Nano не получился, т.к. на одном канале всегда было мерцание, что не есть гуд. Также у данного модуля 12-bit ШИМ (4096 значений) и изменение цвета и яркости происходит очень плавно, без рывков. На плате "Выход RGB" оставил блоки масштабирования с плавным нарастанием яркости, т.к. светодиоды при равномерном увеличении питания зажигаются не плавно, а резко, почти на 100% при подаче питания около 20% Uпит.
Значения цвета "H" изменяется от 0 до 360 градусов.
Значение яркости "V" от 0 до 1,
Значение интенсивности "S" от 0 до 1 (установил постоянную интенсивность переменной "S", т.к. и без ее изменения выглядит все красиво, но одновременно горят только два цвета ленты изменяя цвет, но можно добавить, аналогично изменению значения "V")
Если будешь цеплять напрямую к ЩИМ Ардуино измени значение деления в последних трех формулах на платах с 0-60 до 300-360 со значения 4096 на значение 255.
Отправлено спустя 4 минуты 14 секунд:
Забыл упомянуть, что в цветовой схеме RGB очень сложно подобрать значения яркости свечения каждого цвета, чтобы общий цвет оставался прежним при изменении яркости, т.е. если на максимальной яркости цвет, к примеру желтый, то при равномерном уменьшении напряжения на всех цветах ленты он обязательно изменится т.к. светодиоды разных цветов будут неравномерно уменьшать яркость. В схеме HSV данный недостаток устранен и при уменьшении яркости цвет остается одним, вплоть до отключения ленты.
Отправлено спустя 12 минут 46 секунд:
Значение "S" влияет на смещение цвета в темную, светлую сторону. При значении S=0 все цвета будут светить с одинаковой яркостью, получиться белый свет. При "S"=1 один цвет отключается полностью и получается очень насыщенный цвет, состоящий из свечения двух цветов ленты. промежуточные значения изменяют насыщенность цвета.
-
Вложения
-
- RGB лента изменение цветов, яркости.flp
- (1.57 МБ) 78 скачиваний