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

Плавное изменение цвета 3-х цветного светодиода.

Добавлено: Вс июн 10, 2007 08:16:12
Spider
На сколько я понял из кода, то изменение тока линейное, но фактически яркость светодиода зависит от тока не линейно. Поэтому скорее всего сме цвета будет "скачками".
Обычно делают либо log() либо составляют таблицу яркостей.
Но это моё ИМХО.

Статья: http://www.radiokot.ru/circuit/light/run/10
Неужели влом ссылку добавить было? По-хорошему ведь просил, причём трижды! :evil: Забаню нафиг! :evil: мышонок

Добавлено: Вс июл 08, 2007 16:25:09
Artem333
Энергия передаётся диоду в зависимости от длительности импульсов(ШИМ) такчто всё плавно и никаких рывков!

Добавлено: Вс июл 22, 2007 10:29:51
smg123
Только зависимость между подаваемой энергией и излучаемым светом нелинейная. Поэтому для ШИМ нужен переменный шаг приращения.

Добавлено: Вс июл 22, 2007 18:18:30
Artem333
сила света одинакова постоянно меняется лишь время излучения. Короче всё пашет с одинаковой яркостью.

Добавлено: Вс июл 22, 2007 20:21:25
KT315B
Вчера попробовал светить диод от ШИМ на ATTINY2313 - действительно, при линейном изменении скважности, "видимая яркость" сначала быстро нарастает, потом-же приращение сильно замедляется... :idea:

Добавлено: Вт июл 24, 2007 20:14:56
Artem333
Похоже я понял о чём речь... Сейчас кратко опишу работу программы. Каждый из каналов основных цветов может иметь яркость от 0 до 256 единиц (ШИМ) и каналы независимы друг от друга. Тоесть 24 битный цвет получается. Из этих цветов выбраны 255 градаций в порядке следования цветов видимого спектра, с условием что сумма яркостей основных каналов будет равна 255 (а это означает что время свечения светодиода постоянно опять же ШИМ). Поэтому яркость свечения постоянна а цвета плавно переливаются в порядке: красный-оранжевый-жёлтый-зелёный-голубой-синий-фиолетовый-красный.

Добавлено: Вт июл 24, 2007 21:25:56
smg123
Не может она быть постоянной. Характеристики излучения светодиода для разных цветов различны. Плюс не забывайте об особенностях человеческого зрения (колориметрия однако!). Чтобы убедиться в этом подключите все три вывода к одному каналу через одинаковые резисторы. По Вашей теории должен получится белый цвет с меняющейся яркостью. Результат увидите сами.
Но речь идет о том, что при ШИМ например с 10 шагами и при ее пошаговом увеличении яркость не будет увеличиваться каждый раз на 10%. Мы живем в нелинейном мире. :)
(можно провести аналогию с характеристикой типа В в регуляторах громкости.)

Если бы всё было просто, как самогонный аппарат!

Добавлено: Ср июл 25, 2007 07:41:07
Artem333
Во первых насколько мне известно цвета диода подобраны с учётом чувствительности глаза, а если даже и нет то изменение яркости свечения (опять-же если она и есть) незаметна. И вообще эта схема не предназначена для генерации цветов абсолютно одинаковой яркости речь идёт о плавной смене цвета а это зависит от доли того или иного цвета в излучении а не общей яркости. Соберите и убедитесь что она выполняет свои функции :?

Добавлено: Ср июл 25, 2007 07:50:58
smg123
Собрал и проверил. Спасибо Вам за статью.
Просто хотелось бы ввести переменный шаг приращения ШИМа для более плавных переходов между цветами, да руки не доходят (или знаний АСМа не хватает) :)

Добавлено: Ср июл 25, 2007 12:20:40
Artem333
Вообще изначально хотел сделать гирлянду из 9 светодиодах на tiny2313 но изза дороговизны диодов пришлось сделать на одном. В программе сохранилась возможность менять яркость каждого канала. Но позже программа была адаптирована на 256 цветов. Скажите вашу идею и я поправлю прогамму при наличии свободного времени.

Добавлено: Ср июл 25, 2007 19:18:04
smg123
Идея высказана в самом первом посте темы: нужен логарифмический закон изменения ШИМ от нулевого до 256 шага, а не линейный как сейчас.

Добавлено: Чт июл 26, 2007 06:16:29
Spider
Буга га какой флейм я развёл. :)))
Приятно когда твоя точка зреня не одинока.

Добавлено: Пт июл 27, 2007 10:54:46
smg123
А еще приятнее был бы пример кода, реализующий ф-цию Log или показательную функцию.

Добавлено: Пт июл 27, 2007 11:33:43
Spider
Каждое текущее значение помноженое на некий коэфициент.
Xi=X(i-1)*k

Добавлено: Пт июл 27, 2007 16:40:11
Artem333
Логарифмическую таблицу мне забивать влом. Да и не факт что она влезет а tiny15. Поэтому просто подготовлю прогу для этого :)

Добавлено: Сб июл 28, 2007 14:48:26
smg123
Почему? Влезет. Ведь свободно еще около половины памяти. 256 байт на таблицу, да на код еще останется байт 200 - должно хватить.

Добавлено: Пт окт 19, 2007 12:07:43
Garic33
Доброго времени суток!!!!!!!!! Ребята подскажите как выставлять фьюзы в пони прог для данной схемы, и сколько можно повесить светиков на один контроллер.. заранее спасибо. С уважением Игорь.

Добавлено: Сб окт 20, 2007 15:09:26
Artem333
Сейчас делаю гирлянду на восьмой меге. 16 светодиодов. Это будет модификация проги одного светодиода. Фьюзы к сожалению непомню. Вроде по дефолту были.

Добавлено: Сб окт 20, 2007 19:30:16
Aheir
Garic33 писал(а):сколько можно повесить светиков на один контроллер

На один вывод контроллера - один светодиод, если напрямую.
Если использовать транзисторные ключи, так, пожалуй, неограниченное количество.. В разумных пределах.. :)

Добавлено: Ср ноя 21, 2007 10:50:23
smg123
В предверии Нового года проводил изыскания на эту тему. Выкладываю свой вариант прошивки. Добавлен переключатель к выводу 3.
Если вывод 3 в воздухе - закон изменения ШИМ по формуле Y=10^(X/106).
Если он на земле - закон изменения ШИМ линейный.
Выбирайте кому как нравится.
Заодно подучился в программировании. :)