Лампа настроения на atmega8: Лампа настроения реагирующая на звук
|Содержание
Лампа настроения! / Хабр
spiritus_sancti
Время на прочтение
2 мин
Количество просмотров
37K
DIY или Сделай сам
Лампа настроения (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 сек). Ну а затем за счет приращения значения в регистрах ШИМ плавно приходим к сгенерированному цвету. Подержав цвет какое то время цикл повторяется. И так до бесконечности.
Лампа в действии:
Исходный код можно посмотреть тут (Написан в CodeVisionAVR)
У микроконтроллера переключить FUSE биты что бы тактовая частота была 8 МГц от встроенной RC цепочки.
Аналогичный проект зарубежных коллег: www.electronics-lab.com/projects/games/005/index.html
Что бы я исправил:
1) вынес бы стабилизатор за пределы лампы, он греется и требует крупного радиатора
2) использовал бы мелкие транзисторы и микроконтроллер бы запаивал бы сразу в плату. Тогда бы уменьшились габариты платы и она влезла бы в нишу под лампой.
Простор для творчества:
У микроконтроллера осталось много неиспользованных ног, а также не задействован USART. Можно добавить в плату конвертер уровней MAX232 и можно будет подключить лампу к COM порту компьютера. (А если использовать FT232 то к USB). Тогда написав соотвествующее ПО можно сделать так что бы например при поступлении новой почты лампа мигала красным. Или например сделать продвинутую ambilight.
Исходная статья тут.
Как обычно напоминаю что это единственный копипаст, связанный с тем что сервер портала не в состоянии переварить большое количество посетителей и имеет некоторые проблемы со стабильностью.
Теги:
- DIY
- сделай сам
- RGB
- поделки.
Хабы:
- DIY или Сделай сам
Всего голосов 170: ↑163 и ↓7 +156
Комментарии
134
Павел Серков
@spiritus_sancti
Инженер
Чудная лампа настроения своими руками
Чудная лампа настроения своими руками
Лампа настроения (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 сек). Ну а затем за счет приращения значения в регистрах ШИМ плавно приходим к сгенерированному цвету. Подержав цвет какое то время цикл повторяется. И так до бесконечности.
Исходный код можно посмотреть тут (Написан в CodeVisionAVR).
У микроконтроллера переключить FUSE биты что бы тактовая частота была 8 МГц от встроенной RC цепочки.
Аналогичный проект зарубежных коллег: www.electronics-lab.com/projects/games/005/index.html
Что бы я исправил:
1) вынес бы стабилизатор за пределы лампы, он греется и требует крупного радиатора
2) использовал бы мелкие транзисторы и микроконтроллер бы запаивал бы сразу в плату. Тогда бы уменьшились габариты платы и она влезла бы в нишу под лампой.
Простор для творчества:
У микроконтроллера осталось много неиспользованных ног, а также не задействован USART. Можно добавить в плату конвертер уровней MAX232 и можно будет подключить лампу к COM порту компьютера. (А если использовать FT232 то к USB). Тогда написав соотвествующее ПО можно сделать так что бы например при поступлении новой почты лампа мигала красным. Или например сделать продвинутую ambilight.
Взято здесь: http://licrym.org/index.php/Лампа_настроения
Блог
Cavelab — Истории из Cavelab
Изменено
3 минуты чтения
#электроника#avr#освещение#bascom
Простой контроллер декоративной подсветки с тремя каналами ШИМ, макс. 100 мА на канал. Использует микроконтроллер AVR ATmega8.
Оглавление
Детали
Этот простой контроллер декоративной подсветки имеет три канала с ШИМ-управлением; красный, зеленый и синий. Каждый способен выдавать 100 мА, или около пяти светодиодов. Это можно легко улучшить, используя более мощный транзистор. В качестве источника света я использовал светодиоды 3×3, припаянные к крошечной печатной плате, и поместил их внутрь матового стекла. Лучшим решением будет использование мощного светодиода RBG. Просто не забудьте использовать еще один транзистор, если вы хотите использовать светодиоды большего размера.
Настройки
Настройки можно изменить с помощью четырех DIL-переключателей:
- Задержка между сменой цвета (длинная/короткая)
- Скорость фейда при смене цвета (быстро/медленно)
- Затухание при смене цвета (вкл./выкл.)
- Цветовой режим (один цвет/все цвета)
Видео
Ввод/вывод
Входы
- PD. 0 DIP-переключатель 1
- PD.1 DIP-переключатель 2
- ЧД.2 DIP-переключатель 3
- PD.3 DIP-переключатель 4
Выходы
- PB.1 (OC1A) Красный светодиод
- PB.2 (OC1B) Зеленый светодиод
- PB.3 (OC2) Синий светодиод
Светодиоды
4-контактный разъем для светодиодов
Исходный код
- Исходный код Bascom-AVR доступен в репозитории git:
- https://github.com/thomasjsn/AVR-Mood-light-1
Фотографии
Печатная плата, без микроконтроллера AVR
Печатная плата с 3×3 светодиодами
Проверка блока контроллера и светодиодов
Синие светодиоды внутри матового стекла
Зеленые светодиоды внутри матового стекла
Красные светодиоды внутри матового стекла
Готовая плата контроллера и матовое стекло
Устанавливается на динамик в гостиной
Схематический чертеж
Схема контроллера декоративной подсветки
Список деталей
- 1
×
AVR ATmega8-16PU, DIL-28, 16 МГц, 23 входа/выхода - 1
×
Конденсатор алюминиевый электролитический, 10 мкФ, 25В - 2
×
Конденсатор алюминиевый электролитический, 47 мкФ, 25 В - 1
×
Конденсатор керамический, 1 нФ, 100В - 1
×
Гнездо DIL, 28-контактное, 7,62 мм - 1
×
Диод, выпрямительный, 1 А, 400В, 1N4004 - 1
×
Корпус, пластик (1591), 100x50x25 мм - 1
×
Предохранитель 5×20 мм, 400 мА, быстродействующий - 1
×
Держатель предохранителя, открытый, печатная плата, 5×20 мм - 3
×
Светодиод 5 мм прозрачный, синий, 4,9 В, 20 мА, 350 мкд, 12° - 3
×
Светодиод 5 мм прозрачный, зеленый, 2,1 В, 20 мА, 385 мкд, 6° - 3
×
Светодиод 5мм прозрачный, красный, 2. 0В, 20мА, 140мкд, 6° - 1
×
Гнездо питания, панельное, 2,1 мм, пластиковый корпус - 10
×
Резистор, углеродная пленка, 0,25 Вт, 330 Ом, 5% - 4
×
Резистор, углеродная пленка, 0,25 Вт, 4,7 кОм, 5% - 4
×
Резистор, углеродная пленка, 0,25 Вт, 10 кОм, 5% - 3
×
Резистор, металлическая пленка, 0,6 Вт, 1 кОм, 1% - 4
×
Резиновая ножка, клейкая, SJ-5012, Ø 12,7×3,5 мм - 1
×
Переключатель, DIP, печатная плата, 4 контакта - 1
×
Клеммная колодка, вставная, 3,5 мм, 4-контактная винтовая розетка - 1
×
Клеммная колодка, вставная, 3,5 мм, 4-контактная вертикальная вилка - 3
×
Транзистор, NPN, 100 мА, 45 В, 0,5 Вт, BC547B - 1
×
Регулятор напряжения +5В, 1А, 7805PI
Ресурсы
- Пирамидальная декоративная лампа
- Лампа для настроения Ikea
- Широтно-импульсная модуляция
Последний коммит 2021-08-06 с сообщением: заменить некоторые видео на YouTube.
Личный блог Томаса Дженсена. Мне нравится односолодовый виски, сигары, моя домашняя лаборатория, электроника, Linux и времяпровождение с женой и тремя мальчиками.
✉️ Отзыв или исправления? Дайте мне знать.
Блог Cavelab — Истории из Cavelab
Изменено
4 минуты чтения
#электроника#avr#освещение#bascom
Превратите любой светодиод RGB в подсветку настроения с помощью этого контроллера. Использует микроконтроллер AVR ATmega8.
Оглавление
Контроллер
Контроллер декоративной подсветки может управлять всеми видами RGB-подсветки, макс. 500 мА на канал. Модуль не имеет регулятора напряжения, поэтому ему требуется 5 В= и ток, достаточный для питания схемы и подключенных светодиодов. Он очень медленно переключается между разными цветами, постепенно увеличивая или уменьшая яркость одного светодиода, оставляя включенным предыдущий светодиод. Модуль может питать светодиоды Prolight, вот так.
В прошивке версии 1.2 световые узоры заменены только на один, а работа DIP-переключателей убрана, просто потому, что я ими никогда не пользовался.
Stripboard внутри модуля контроллера
Полоса внутри модуля контроллера
Контроллер очень медленно переключает цвета, затухая по одному светодиоду. Это происходит так медленно, что вообще трудно заметить изменения.
- Цвет становится синим примерно через 12 секунд (только при первом включении).
- Увеличить красный.
- Уменьшение синего.
- Увеличить зеленый.
- Уменьшить красный.
- Увеличить синий.
- Уменьшить зеленый.
- Перейти к шагу №2.
Время перехода для каждого цвета является случайным и варьируется от 1 до 3 минут и изменяется между каждым переходом.
Модуль контроллера подключен к реле
Немного истории
До версии микропрограммы 1.2 контроллер освещения настроения имел различные схемы освещения, которые управлялись четырьмя DIP-переключателями:
- Пауза между изменением цвета (длинная/короткая)
- Скорость затухания при смене цвета (длинная/короткая)
- Постепенное изменение цвета (вкл. /выкл.)
- Цветовой режим (один цвет/многоцветный)
Цветовой режим: Один цвет означает, что один цвет стабилен в данный момент, это дает три цвета. Многоцветный имеет два стабильных цвета одновременно, и это дает шесть цветов (красный, желтый, зеленый, голубой, синий и фиолетовый).
За несколько лет использования света я ни разу не менял световой рисунок… А хотелось бы, чтобы он был более тонким. Я сделал новый шаблон и не стал тратить время на написание кода для DIP-переключателей, которые я все равно не использовал.
Ввод/вывод
Входы
- ПК.2 DIP-переключатель 1 (не используется начиная с версии 1.2)
- ПК.3 DIP-переключатель 2 (не используется начиная с версии 1.2)
- ПК.4 DIP-переключатель 3 (не используется начиная с версии 1.2)
- ПК.5 DIP-переключатель 4 (не используется начиная с версии 1. 2)
Выходы
- PB.1 (OC1A) Красный светодиод (ШИМ)
- PB.2 (OC1B) Зеленый светодиод (ШИМ)
- PB.3 (OC2) Синий светодиод (ШИМ)
Чтобы упростить подключение и отсоединение светильников, в модуле имеется разъем для RGB-подсветки.
4-контактный разъем для RGB-светодиода
Исходный код
- Исходный код Bascom-AVR доступен в репозитории git:
- https://github.com/thomasjsn/AVR-Mood-light-2
Схематический чертеж
Схематический чертеж контроллера декоративной подсветки
Список деталей
- 1
×
AVR ATmega8-16PU, DIL-28, 16 МГц, 23 входа/выхода - 1
×
Крепление кабельной стяжки, винт, 5,1 мм, белый - 1
×
Конденсатор алюминиевый электролитический, 10 мкФ, 25В - 1
×
Конденсатор алюминиевый электролитический, 22 мкФ, 25В - 1
×
Конденсатор керамический, 1 нФ, 100В - 1
×
Гнездо DIL, 28-контактное, 7,62 мм - 1
×
Диод, выпрямительный, 1 А, 400В, 1N4004 - 1
×
Корпус, пластик (1591), 100x50x25 мм - 1
×
Предохранитель 5×20 мм, 800 мА, быстродействующий - 1
×
Держатель предохранителя, открытый, печатная плата, 5×20 мм - 1
×
Держатель предохранителя, открытый, печатная плата, защитная крышка - 32
см2
Печатная плата, стрипборд, 100х160мм, 160см2 - 1
×
Гнездо питания, панельное, 2,1 мм, пластиковый корпус - 4
×
Резистор, углеродная пленка, 0,25 Вт, 330 Ом, 5% - 4
×
Резистор, углеродная пленка, 0,25 Вт, 4,7 кОм, 5% - 4
×
Резистор, углеродная пленка, 0,25 Вт, 10 кОм, 5% - 4
×
Резиновая ножка, клейкая, SJ-5012, Ø 12,7×3,5 мм - 1
×
Переключатель, DIP, печатная плата, 4 контакта - 1
×
Клеммная колодка, вставная, 3,5 мм, 4-контактная вертикальная вилка - 3
×
Транзистор, NPN, 800 мА, 45В, 0,625Вт, BC337-25
Светодиодный фонарь
Светодиод Prolight RGB, установленный на радиаторе
Этот фонарь состоит из светодиода Prolight RGB мощностью 3 Вт, радиатора и четырех резиновых ножек.