Данная лампа проста по устройству и станет отличным сувениром. Использованные компоненты:
-Лампа GRONO из магазина IKEA. (299р.)
-микроконтроллер ATMEGA8-16PU (66р.)
-RGB светодиод KAD1-9090BRGC-01/3 star (273р.)
-транзистор BUZ11 (3*27р)
-различная мелочевка (три 1W резистора, один 10К подтягивающий резистор, колодка для ISP, микросхема-стабилизатор 7805)
В качестве источника света использован мощный RGB светодиод. Мощность каждой цветовой составляющей 1Вт. Подробности можно посмотреть в даташите. Светодиод был найден и куплен в Промэлектронике (promelec.ru).
Схема лампы:
Для упрощения линии питания, стабилизатор и колодка ISP на схеме не показаны. Транзисторы подключены к выходам каналов ШИМ. Таких каналов в микроконтроллере три.
Готовая плата:
Алгоритм работы следующий. Генерируется случайным образом цвет (три char переменные). Если все три значения примерно одинаковы, то на выходе у нас будет белый цвет, что неинтересно, поэтому процесс случайного выбора цвета повторяется. Когда получен цвет с вероятностью 0,5 будет погашен один из каналов (что бы чаще появлялись чистые R, G или B цвета.) Затем вычисляется величина прибавки, что бы за 255 шагов прийти к заданному цвету. После этого случайным образом выясняется скорость ухода к новому цвету (от 5 до 10 сек). Ну а затем за счет приращения значения в регистрах ШИМ плавно приходим к сгенерированному цвету. Подержав цвет какое то время цикл повторяется. И так до бесконечности.
Наслаждаемся результатом:
Можно посмотреть видео на YouTube
Исходный код можно посмотреть тут (Написан в CodeVisionAVR)
У микроконтроллера переключить FUSE биты что бы тактовая частота была 8 МГц от встроенной RC цепочки.
Аналогичный проект зарубежных коллег: http://www.electronics-lab.com/projects/games/005/index.html
Что бы я исправил:
1) вынес бы стабилизатор за пределы лампы, он греется и требует крупного радиатора
2) использовал бы мелкие транзисторы и микроконтроллер бы запаивал бы сразу в плату. Тогда бы уменьшились габариты платы и она влезла бы в нишу под лампой.
Простор для творчества:
У микроконтроллера осталось много неиспользованных ног, а также не задействован USART. Можно добавить в плату конвертер уровней MAX232 и можно будет подключить лампу к COM порту компьютера. (А если использовать FT232 то к USB). Тогда написав соотвествующее ПО можно сделать так что бы например при поступлении новой почты лампа мигала красным. Или например сделать продвинутую ambilight.
О том, что такое микроконтроллер, как его программировать подробно изложено тут: http://myrobot.ru/stepbystep/ рекомендую ознакомиться. В самом простом случае программатор это 5 проводков с LPT порта + программа программатор, например ponyprog.
Источник:http://licrym.org
|