RGB-светильник с дистанционным управлением
- meta_kot
- Не в сети
- Новый участник
- Сообщений: 9
- Спасибо получено: 0
В сети есть исходники под подобные проекты и словесное описание алгоритмов, будем плясать от них.
Если по ходу возникнут какие-нибудь специфические вопросы, тогда уж буду спрашивать конкретно по делу.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- alexomega
- Не в сети
- Осваиваюсь на форуме
- Сообщений: 24
- Спасибо получено: 0
Думаю было бы круто
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- ARV
- Автор темы
- Не в сети
- Администратор
я не ленивый, я энергосберегающий...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- alexomega
- Не в сети
- Осваиваюсь на форуме
- Сообщений: 24
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- ARV
- Автор темы
- Не в сети
- Администратор
это о чем?alexomega пишет: Плавность регулировки (шаг) смены цвета!!!
я не ленивый, я энергосберегающий...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- moon7
- Не в сети
- Новый участник
- Сообщений: 6
- Спасибо получено: 1
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- ARV
- Автор темы
- Не в сети
- Администратор
да, вот еще что: режим "лампы настроения" вместе с ДУ в тини13 не влезет, похоже, ни при каких условиях уже сейчас я сделал смену цвета в "радужном порядке", т.е. не случайно, а закономерно. для случайности явно не хватает байт 600-700 flash-памяти...
я не ленивый, я энергосберегающий...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- meta_kot
- Не в сети
- Новый участник
- Сообщений: 9
- Спасибо получено: 0
Strobe - букв. строб. Режим стробоскопа, частые вспышки вместо непрерывного горения.
Fade - букв. выцветание. Режим плавного затухания. Выбирается цвет, зажигается с номинальной яркостью, после чего яркость плавно падает до нуля. Затем процесс повторяется. Как вариант, используется алгоритм и с плавным нарастанием и с плавным затуханием цвета.
Smooth - букв. гладко. Режим плавной смены цветов. Та самая классическая лампа настроения.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- meta_kot
- Не в сети
- Новый участник
- Сообщений: 9
- Спасибо получено: 0
Итак, получается следующие алгоритмы.
Flash. Случайным образом генерируем код цвета (три коэффициента заполнения ШИМ каждого из цветовых каналов), зажигаем на заданный промежуток времени, тут же генерируем следующий код цвета, проверяем выполнение условия контрасности, и кладем его куда-нибудь в буфер. Условие контрастности необходимо для того, чтобы каждый следующий цвет был контрастен по отношению к предыдущему, и все смены цвета были явно различимы. Если такое условие не ставить, то могут генерироваться "близкие" пары цветов, например красный-бордовый или изумрудный-зеленый - получится некрасиво. Условие может быть, например, таким: у последующего кода цвета, коэффициент заполнения ШИМ хотя бы одного из каналов (а лучше сразу двух) должен отличаться не менее чем на 50% от коэффициента заполнения того же самого канала в текущем коде цвета. Надеюсь, не сильно сумбурно получилось объяснить.
По истечении заданного промежутка времени. Достаем из буфера заранее "заготовленный" код цвета и зажигаем его. Дальше все идет по циклу с самого начала.
В данном режиме регулируются яркость свечения и частота смены цвета.
Strobe. Алгоритм аналогичен алгоритму смены цветов классической лампы настроения, за исключением некоторых дополнений. Делаем горение не непрерывным, а "стробируем" его: зажигаем на короткие (порядка 0,3 секунды) импульсы постоянно заданной длительности и изменяемой скважности.
В данном режиме регулируется скважность вспышек, и, возможно их яркость. Хотя по идее яркость вспышек стробоскопа должна быть максимальной, но это может давать дискомфорт глазам, поэтому лучше все же иметь возможность их пригасить.
Fade. Здесь алгоритм похож на таковой у режима flash. Только смену цветов делаем не мгновенной, а плавной. Тут важен один момент: поскольку яркость свечения у нас регулируется путем принудительного задания "верхней границы" диапазона ШИМ кода цвета, необходимо обеспечить одинаковое время переходного процесса затухания/нарастания при любой величине этой яркости. К примеру, при обычной декрементной реализации затухания (на единичку в некий квант времени), при коэффициенте заполнения 50% и 100%, получим разность во времени - в первом случае он завершится вдвое быстрее, чем во втором. Нужно учесть этот момент, и изменять шаг нарастания/затухания в зависимости от максимально заданного коэффициента заполнения ШИМ каждого конкретного цветового кода, так чтобы длительность переходного процесса всегда была одинаковой. Иначе получится некрасиво, да и пропадет сама возможность регулировки времени переходного процесса с пульта.
В данном режиме регулируется скорость затухания/нарастания и яркость.
Smooth. Тут без комментариев, обычная плавная смена цветов, уже реализованная в лампе настроения.
В данном режиме регулируется яркость.
Уф, надеюсь, достаточно разборчиво изложил свои мысли. Приведенные алгоритмы не учитывают возможность самостоятельного выбора цвета свечения с пульта, этакий полуавтоматический режим.
PS. Кстати, такая мысль пришла в голову. Если для регулировки яркости использовать четвертый канал ШИМ, просто пропуская через его транзистор и интегрирующую RC или LC-цепочку (для получения постоянного напряжения на выходе) питание всех трех светодиодов - этакий регулируемый импульсный преобразователь, то можно сильно упростить все программные алгоритмы, исключив из них все обсчеты, связанные с яркостью. Просто повесить ее обработку на отдельный счетчик. Как раз у тиньки одна нога не у дел остается.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- ARV
- Автор темы
- Не в сети
- Администратор
Сделал полную поддержку пульта LED618 Режим "лампы настроения" не получилось сделать то есть в режиме SMOOTH цвет меняется плавно, но не случайно, а по порядку радуги. Псевдослучайно цвет меняется в режиме FADE.
Наснимаю видео - размещу статью и прошивку.
я не ленивый, я энергосберегающий...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- meta_kot
- Не в сети
- Новый участник
- Сообщений: 9
- Спасибо получено: 0
Предваряя вопрос, подгонку яркости каждого из кристаллов rgb-светодиода токоограничивающими резисторами производил, так что проблема точно не в этом.
Интересно, у других собравших лампу наблюдались подобные проблемы?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- ARV
- Автор темы
- Не в сети
- Администратор
я не ленивый, я энергосберегающий...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- meta_kot
- Не в сети
- Новый участник
- Сообщений: 9
- Спасибо получено: 0
Надо будет прицепиться к "молексу" компьютерного БП и посмотрть, пропадут ли броски. Уж он то вытянет такую мощность с легкостью.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- ARV
- Автор темы
- Не в сети
- Администратор
я не ленивый, я энергосберегающий...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- meta_kot
- Не в сети
- Новый участник
- Сообщений: 9
- Спасибо получено: 0
С разводкой платы все в порядке как и с цепью сброса.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.