Лампа настроения
Материал из LicrymWiki
Лампа настроения (mood lamp) является RGB лампой, которая меняет цвет в случайном порядке. Была зеленая, плавно стала голубой, потом фиолетовой… какого цвета она станет в следующий момент времени не знает никто)
Данная лампа проста по устройству и станет отличным сувениром. Использованные компоненты:
- Лампа 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.
[править] Прототип 2
Схема аналогична, но есть отличия:
1)Используется микроконтроллер ATTINY2313
2)Вместо MOSFET транзисторов применены npn транзисторы BC337
3)Стоит маломощный стабилизатор для питания микроконтроллера (78L05, 5В 0,1А), светодиод подключается напрямую к источнику питания 6В 1А
4)Плата стала значительно компактнее
Фото платы в процессе программирования:
Фото платы с обеих сторон. Ни одной перемычки. При отсутствии стеклотекстолита можно выполнить монтаж на толстом картоне, с последующим покрытием бесцветным лаком.
Схема. Цепи питания микроконтроллера и стабилизатор не показаны:
Да и схема неправильная, ибо подключение транзисторов к тиньке на схеме и в реальности не совпадают. Но пусть будет для красоты.
Исходный код: [1]
[править] Прототип 3
Питание и управление по USB. Есть проблема с искажением спектра.







