0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Чудная лампа настроения своими руками

Лампа настроения с регулировкой скорости смены цветов и функцией стоп-цвет

Приветствую всех. Однажды приглянулся мне стеклянный шар, который в темноте испускает свет, накопленный за день, да и к тому же в подставке к нему была RGB подсветка. Однако подсветка эта была настолько халтурная (8 цветов, да и те скачком менялись), что было решено сделать свою, да еще и с плюшками. Основа схемы — микроконтроллер AVR Attiny13. Хотя он поддерживает только 2 канала аппаратного ШИМ (широтно импульсная модуляция), а RGB светодиод требует 3, не проблема — реализуем программный ШИМ. Плюшки следующие помимо ШИМ регулирования RGB светодиодов: регулировка скорости смены цветов от 1 секунды на цикл смены цветов до 1000 секунд, а также возможность остановить световые эффекты нажатием кнопки и заморозить текущий цвет. Назвал я эту функцию «Стоп-цвет». О количестве цветов: здесь также реализована фишка — изменение цветов происходит не только линейно от красного до фиолетового по цветам радуги, но и по сочетанию нулевых и максимальных значения цвета — то есть от 100 процентной насыщенности до нулевой насыщенности цветов, то есть до белого цвета. Программа изменения цвета линейная, строго задана программой. Флэш память Attiny13 не позволила реализовать рандомное непредсказуемое изменение цвета. Может это и к лучшему.

Схема получилась вот такой:

Что да как делалось. Регулировка скорости. Начнем с задержек функцией _delay_ms(); , обычное ее использование сводится к записи в скобки какого-то значения, в течении которого должна проходить задержка, но если же в скобочки поставить переменную, то размер программы резко увеличится. Это совсем не годится, ведь уже рискуем не влезть в память Attiny13. Выход прост — организуем цикл вызова конечного числа раз функции задержки длительностью, скажем 1 мили секунда. Размер программы для контроллера снова в норме. Теперь эту функцию можно использовать для регулировки скорости выполнения светового эффекта. Далее откуда брать динамическое изменение переменной задержки? Тоже все просто, тинька имеет на борту АЦП (аналого цифровой преобразователь) 10 бит, значение от 0 до 1024 — отлично сгодится для значения задержки. То есть выходит, что задержка между увеличением или уменьшением яркости будет от 1 мили секунды до 1 секунды. От 1 потому, что при нулевой задержке будет просто мельтишение, некрасиво, поэтому ноль исключен. Итак, берем значение из АЦП и толкаем в значение переменной задержки. Также значение АЦП можно брать как 10 бит, то есть 1024 отсчета, так и просто поделить это значение на 2, 4, 8 и так далее и получится более узкий диапазон регулировки. Аппаратно регулировка будет производиться потенциометром или переменным резистором, подключенным крайними выводами к плюсу и минусу питания, а средним ко входу АЦП микроконтроллера. R3 для защиты порта, токоограничительный. R1 ограничивает напряжение таким образом, чтобы максимальное значение АЦП было 1000, остальные 24 отсчета планировалось для подключения еще одной кнопки, но внятного функционала она не получила, поэтому осталось так для возможности в будущем что-нибудь «допилить». Источником опорного напряжения АЦП выбрано напряжения питания 5 вольт микроконтроллера. Что касательно остановки эффекта изменения цвета, то при нажатии кнопки S2 происходит перебрасывание из основного бесконечного цикла со световым эффектом в другой пустой бесконечный цикл, повторное нажатие кнопки перебрасывает выполнение программы обратно в основной бесконечный цикл. Простенько и сердито.

Читать еще:  Утепляем балкон (лоджию) своими руками (19 фото, пошагово)

В программе задействовано 2 прерывания: прерывания по переполнению таймера 0 для опроса состояния кнопки, а также прерывания по завершению преобразования АЦП. Как отмечалось, смена цветов происходит не только от цвета к цвету, но и с изменением их насыщенности, то есть не только горизонтально, но и вертикально. При минимальной насыщенности цвета будут размываться друг с другом (см. рисунок ниже) и в конце концов получится белый цвет, хотя по палитре на рисунке там присутствует и серый, но возможности RGB светодиодов не позволяют передать его, как и черный цвет. Получается просто яркость белого цвета вместо перехода от черного к белому. Поэтому уровни черного цвета не было даже попытки реализовать))

Между прочим, подобную палитру можно посмотреть в любом графическом редакторе, например, Paint.

Программно дело получается так (программный код на gcc):

Переменная k отвечает за остановку изменения цвета, перекидывает в разные циклы программы.
Переменная n отвечает за переход от 100% насыщенности цветов до размытия их до белого, не может быть больше чем 1/2 от pwm
Переменная pwm — значение дискретизации ШИМ

Это вся главная программа работы микроконтроллера для данного устройства.

В качестве RGB светодиода использовалась светодиодная лента на этих самых RGB светодиодах. Конкретной марки или модели ленты не знаю, вроде что-то от RoHS. Лента имеет в себе уже токоограничительные резисторы, баланс белого хорошо настроен. Так как лента требует питания 12 вольт, в схеме был использован повышающий DC-DC преобразователь на микросхеме MC34063. Сделано это для того, чтобы была возможность питать схему от трех пальчиковых аккумуляторов или просто от USB порта. Ясное дело АА аккумуляторы придется часто заряжать, зато красиво и ярко. При замене питания на 12 вольтовое, преобразователь можно заменить на обычные линейные преобразователи типа 7805 и соответственно перерасключить питание в схеме. Для управление светодиодами используется микросхема ULN2003. По сути это просто 7 транзисторов в корпусе микросхемы (7 сборок дарлингтонов), заменить можно на обычные транзисторы подходящей мощности и габаритов. Выводы микросхемы ULN2003 соединены попарно для увеличения мощности выходов. Каждая ножка по даташиту имеет предел по току в 0,5 А, а в сумме по всем значение составляет 2,5 А. Это стоит учитывать, если предусматривается нагрузка побольше, чем 1 юнит светодиодной ленты в моем случае. Для регулировки скорости эффекта смены цветов используется потенциометр R2, можно применить любой, подходящий по вкусу. Кнопка S1 осуществляет сброс контроллера (reset). На всякий случай. Конденсатор C8 для большей надежности, им можно пренебречь.

Готовое устройство получилось вот такого вида ( собрано с применением макетной платы собственного производства для tiny13 ):

Область применения этого устройства, как и почти любого другого, ограничивает лишь фантазия инженера или радиолюбителя. Устройство может быть легко модернизировано под любую другую цель благодаря простоте, повторяемости и возможности просто вносить свои изменения в схему.

Фьюз биты для программирования микроконтроллера Attiny13:

К статье прилагаются проект протеус, макетная печатная плата, на которой построена схема, прошивка для микроконтроллера, а также небольшое видео, хоть и не совсем хорошо, но демонстрирующее работу устройства (в реальности устройство получилось намного более красочное)

Читать еще:  Держатель для штор из пластикового стаканчика своими руками. Интересная идейка!

Чудная лампа настроения своими руками

Праздники, одни из самых лучших дней в году. Но в эти дни нужно также хорошо подумать, что дарить своим друзьям, родственникам, близким людям. Как говорят самый хороший подарок — это подарок, сделанный своими руками. Вот и я решил так поступить. А раз я радиолюбитель, то сразу стало очевидно в какую сторону будет направлена фантазия. Представляю вашему вниманию лампу настроения. Для ее изготовления вам понадобятся:

  1. Светодиодная RGB лента.
  2. Микроконтроллер PIC12F629.
  3. Транзисторы, стабилизатор и кучка рассыпухи.

Принципиальная схема лампы настроения — 2 варианта

В своей конструкции объединил две схемы, чтобы иметь возможность более разнообразного выбора режимов. Первая схема переключает по кругу световые эффекты с помощью кнопки. Во второй цвета меняются вращением энкодера. На фото видно готовое устройство.

Но начнём по-порядку. Печатную плату делал под свой корпус. Скачать архив с её файлом, а также прошивкой для микроконтроллера можно здесь. Кнопка встроена в энкодер. Поэтому управление получилось минимальным. Переключатель перекидывает питание с одного контроллера на другой.

Долго думал насчет конструкции самой лампы. Увидел в интернете похожую, но решил переделать на свой вкус. Лампа состоит из трех кругов из ДСП и мебельной фурнитуры.

ДСП для начала разметил. Потом просверлил отверстие по размеру пилки электролобзика и вырезал круги изнутри и снаружи. Так сделал со всеми тремя заготовками.

Затем наждачкой и напильником довел все до приемлемого состояния. Процесс этот достаточно долгий и нудный. Хотелось добиться совершенства. Тем более это подарок. Как только все закончил, пришло время сверловки отверстий для проводов и ножек лампы.

Далее следует прогрунтовать и покрасить. Краску наносил в несколько слоев с перерывами на ее полное высыхание. За это время успел сходить в магазин мебельной фурнитуры. Купил все необходимое. Труба продавалась размером 2 м, поэтому остается достаточно большой кусок, который можно будет использовать для других конструкций. Также взял еще крепления самой трубы к кругам и маленькие ножки для лампы.

После полного высыхания краски приступил к сборке. Предварительно нарезал ленту на куски нужной длинны и припаял к ним провода. Сама лента хорошо приклеивается к внутреннему кругу своей липкой стороной. Вся проводка проложена и соединяется в трубах и далее выходит на блок управления.

Видео — готовая лампа настроения

Готовая конструкция выглядит достаточно прилично для самоделки. Подарок удался. Девушка долго сидела и завороженно смотрела на лампу. Автор материала — SssaHeKkk.

Лампа настроения

Вот и настал давно обещанный момент: я завешил работу над своей лампой настроения! Проект переведен в стадию эксплуатации, я уже наслаждаюсь красотой. И, как обещал, привожу все данные об этом декоративном RGB-светильнике.

Схема очень-очень-очень проста (как и положено для простого устройства):

В отличие от известных аналогов, я сделал все на самом маленьком и дешевом микроконтроллере из доступных — attiny13. В качестве ключевых транзисторов VT1. VT3 применил IRLML2402, можно и другие аналогичные «логические». Резисторы R1. R3 ограничивают ток кристаллов мощного светодиода, их сопротивление зависит от напряжения питания и параметров самого светодиода. Надо подобрать их так, чтобы обеспечивался одинаковый ток через кристаллы (либо, если есть точные параметры светодиода, надо выбрать такие значения токов, чтобы обеспечивалась одинаковая яркость каждого кристалла). В моем случае для красного кристалла пришлось ставить 7.5 Ом, а для синего и зеленого по 5,6 Ом.

Читать еще:  Строительство дачного домика своими руками

Питание на схему RGB-светильника подается на клеммы X5 (минус) и Х4 (плюс). Я использовал свой любимый китайский адаптер, который выдает как раз подходящее напряжение и имеет достаточную мощность. Однако, можно использовать отдельные источники для МК и светодиода, тогда следует обеспечить для МК питание 5 вольт, а для светодиода — сколько требуется. Светодиод на схеме не показан, но и так понятно, что подключается он к катодами к клеммам Х1. Х3, а аноды, естественно, к плюсу источника питания.

Конденсатор С1 может быть любым электролитическим, чем больше емкость, тем лучше, напряжение не менее 10 вольт. С2 — обязательно керамический, достаточно 0,1 мкФ. Оба конденсатора надо разместить как можно ближе к выводам питания МК, и при разводке платы учесть пути протекания силовых токов, чтобы МК не сбоил. Если что — соедините 1 вывод МК с плюсом питания.

Особо следует отметить роль RC-фильтра R4C3: если планируется использование дистанционного управления, эти элементы ставить обязательно! К сожалению, при разработке платы они не были учтены. Сопротивление R4 равно 100 Ом, а емкость C4 может быть от 47 до 220 мкФ.

В схеме лампы настроения имеется приемник ИК-излучения BQ1, однако в текущей версии программного обеспечения он не используется, заложен на перспективу, т.е. можно и не устанавливать его.

Печатная плата очень проста, раз проста схема, поэтому я не привожу ее чертеж. Дело в том, что ее форма и размеры целиком определяются тем, какой именно светильник будет у вас, как вы будете крепить светодиод внутри него, какой будет радиатор светодиода (ни в коем случае не включайте мощный светодиод без радиатора!) и т.п. Я использовал светильник из магазина ИКЕА и подходящий радиатор из запасов, поэтому моя плата имеет форму бублика. На следующих фотографиях вы видите все составные части моей конструкции — все понятно и без слов.

Это мой радиатор (раньше на нем стоял мощный транзистор).


Это моя печатная плата. К сожалению, я в ней напортачил с выводами датчика TSOP, но, так как он не используется, то и бог с ним.

Ниже — три вида с разных сторон «светильного элемента», т.е. светодиода, установленного на радиатор и соединенного с платой.


Крепится в светильнике все это добро при помощи слегка укороченного держателя патрона от настоящего светильника (продается он в магазине ИКЕА за 299 рублей, предназначается для лампы накаливания).


В готовом виде мой RGB-светильник светильник выглядит вот так:

Видео работы лампы настроения в моем исполнении я уже публиковал — можно посмотреть его на старом месте. А в самом начале статьи вы видели коллаж из фотографий светильника в разные моменты времени его работы.

Да, главное! При прошивке микроконтроллера необходимо установить следующее состояние fuse-битов: LOW BYTE 0x7A , HIGH BYTE 0xFB . Разные программаторы показывают состояние фьюзов по-разному, но все нормальные программаторы должны уметь показывать шестнадцатиричное значение fise-байтов, поэтому я привел именно их, чтобы не было никакой путаницы. На всякий случай поясняю: надо включить встроенный генератор 9,6 МГц, отключить делитель на 8, настроить схему BOD на 1,8 вольта. Все прочие можно не трогать, оставив, как было.

Вскоре я надеюсь сделать вариант светильника с дистанционным управлением.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector