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

Материал из 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).

Схема лампы:

Изображение:Rgb scheme.jpg

Для упрощения линии питания, стабилизатор и колодка ISP на схеме не показаны. Транзисторы подключены к выходам каналов ШИМ. Таких каналов в микроконтроллере три.

Готовая плата:

Изображение:Rgb board.jpg

Алгоритм работы следующий. Генерируется случайным образом цвет (три char переменные). Если все три значения примерно одинаковы, то на выходе у нас будет белый цвет, что неинтересно, поэтому процесс случайного выбора цвета повторяется. Когда получен цвет с вероятностью 0,5 будет погашен один из каналов (что бы чаще появлялись чистые R, G или B цвета.) Затем вычисляется величина прибавки, что бы за 255 шагов прийти к заданному цвету. После этого случайным образом выясняется скорость ухода к новому цвету (от 5 до 10 сек). Ну а затем за счет приращения значения в регистрах ШИМ плавно приходим к сгенерированному цвету. Подержав цвет какое то время цикл повторяется. И так до бесконечности.

Наслаждаемся результатом:

Изображение:Rgb rjad cvetov.jpg

Можно посмотреть видео на 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)Плата стала значительно компактнее

Фото платы в процессе программирования:

Изображение:Moodlamp 2 burning.jpg

Фото платы с обеих сторон. Ни одной перемычки. При отсутствии стеклотекстолита можно выполнить монтаж на толстом картоне, с последующим покрытием бесцветным лаком.

Изображение:Moodlamp 2 frontside.jpg Изображение:Moodlamp 2 backside.jpg

Схема. Цепи питания микроконтроллера и стабилизатор не показаны: Да и схема неправильная, ибо подключение транзисторов к тиньке на схеме и в реальности не совпадают. Но пусть будет для красоты. Изображение:Moodlamp scheme2.jpg

Исходный код: [1]

[править] Прототип 3

Питание и управление по USB. Есть проблема с искажением спектра.