RGB цвет и яркость
- Войдите на сайт для отправки комментариев
Ср, 20/01/2016 - 12:58
Здравствуйте!
Делаю первую поделку, прошу помощи:
Необходимо управлять цветом и яркостью светодиода. Цветом будут управлять 3 ШИМ выхода. Вопрос в том, как управлять яркостью?
Вижу 2 варианта: "в лоб" и "по-правильному"
В лоб- изменение напряжения питания светодиодов
По-правильному- теми же ШИМ выходами. Предполагаю, что надо изменяя сважность пропорционально на всех трех каналах одновременно.
ШИМ это и есть управление яркостью, ничего выдумывать не надо. Вопрос чисто от недопонимания принципа работы.
Необходимо управлять цветом и яркостью светодиода.
....
Предполагаю, что надо изменяя сважность пропорционально на всех трех каналах одновременно.
Обычный, 20мА чытырёхногий RGB светодиод?
Там техника такая:
1. Сначала нужно правильно подобрать резисторы, т.к. они разные: для красного - больше, для голубого - меньше. Подбирать надо так, чтобы ни один цвет не вылазил за 20мА и при этом красный с зелёным (поровну) давали чёткий жёлтый (при одинаковых резисторах - получается сильно ближе к красному), зелёный с голубым давали синий, красный с голубым - пурпурный.
2. Управлять действительно можно ШИМ'мом пропорционально. Но это от диода зависит. На одних нормально, а на других нужны ещё танцы с бубнами. У меня как-то получилось так, что при полном питании (255) цвета нормальные, а при меньших (пропорционально) начинали заваливаться. Пришлось подавать ШИМ не пропорционально, а по специальной корректировочной таблице (таблицу составил эмпирически).
Кстати, диоды с общим чем? Вы же понимаете. что если они с общим анодом, то скважность ШИМа (параметр analogWrite) надо переворачивать (параметр == 0 - полный цвет, а 255 - этого цвета вовсе нет).
И ещё, на забудьте, что через общий анод/катод будет идти ток трёх светодиодов. Так что если по каким-то причинам придётся сажать его (общий анод/катод) на ногу ардуины - надо ставить транзистор, т.к. ток там будет для ноги великоват.
Дополню ТЗ.
Управлять буду лентой (соответственно через полевик).
Мне надо сначала выставить цвет - меняю поочередно каждый из каналов, пока не выберу нужный цвет, допустим получил 20-20-100 (RGB). Теперь мне надо убавить яркость не меняя цвет- меняю все три канала пропорционально и получаю 10-10-50.
Получится ли так?
да если бы светодиоды были бы идеальные, а с реальными ну почти правильно
допустим получил 20-20-100 (RGB). Теперь мне надо убавить яркость не меняя цвет- меняю все три канала пропорционально и получаю 10-10-50.
Получится ли так?
Как повезёт (см. мой п.2 выше). Попробуйте. Получится - отлично! Не получится (цвет изменится), подгоняйте цвет и составляйте корректировочную таблицу. Моя практика говорит, что чаще не получается - "Жизнь такова, какова она есть, и больше никакова"
ШИМ это и есть управление яркостью, ничего выдумывать не надо. Вопрос чисто от недопонимания принципа работы.
ШИМ-яркость согласен. Вопрос в убийстве 2-х зайцев одним выстрелом. 1 - RGB выбор цвета по 3 каналам. 2 - изменение яркости выбраного цвета используя те же каналы. Возможно я не правильно поставил вопрос.
Спасибо за помощь!!!
Еще маленький вопрос: задав переменную int а=10 и поделив ее на 3 у меня получится а=3?
Еще маленький вопрос: задав переменную int а=10 и поделив ее на 3 у меня получится а=3?
Надеюсь :)
Можно использовать не RGB, а HSV, там как раз яркость есть. Обычно этот формат используют для формирования радуги.
В частности библиотека FastLED так и делает. В ней же есть конверторы из RGB в HSV и обратно.
Про HSV можно здесь почитать: https://ru.wikipedia.org/wiki/HSV_(%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C)
Вот код, который я использовал в своем проекте
HSV2RGB.h
HSV2RGB.СPP
Пользоваться просто
а вот у меня другой вопрос, как подключить 10 ваттный rgb светодиод с ардуино.
я так понял что мне три драйвера надо подключить, и каждый настроить путем подбора резистора, управляющим током драйвера довести до максимума тока. а потом ножкой драйвера работающий от шим ругулировать яркость
обьяснил тяжело, как понял. напряжение и ток у каждого цвета разное, а как их спарить не пойму. новый год прошел, а мигалка на ардуино в процессе
управляющим током драйвера довести до максимума тока.
Лучше до максимума яркости (визуально), это обычно 60-70% от максимума тока. У меня так получалось.