Читая сайты радиоэлектронной тематики, я заметил такую тенденцию, что многие начинающие эмбеддеры проходят стадию, на которой собирают так называемую «лампу настроения». Не миновала сия тенденция и меня.
Уже долгое время я закупаюсь различной мелочевкой у друзей наших китайцев на DealExtreme. После очередного посещения магазина, я заметил в продаже мощный 3-х ваттный RGB-светодиод на адекватной цене. Как только я его увидел, то мысль о «лампе настроения» сразу же и непроизвольно всплыла в голове. Естественно, светодиод был заказан. Долгие три недели ожидания и вот он пришел. Ну что ж, приступаю к сборке своей Mood lamp (англ.) или «лампы настроения».
Этот RGB-led имеет следующие характеристики на каналам:
- Red: 2.5V ~ 3.0V, 350mA
- Green: 3.2V ~ 3.8V, 350mA
- Blue: 3.2V ~ 3.8V, 350mA
т.е. примерно по 1 ватту на канал, что в совокупности и дает 3 ватта.
[stextbox id=»warning»]Кстати, китайцы перепутали обозначения. Этот светодиод с общим анодом, т.е. плюсом, а если судить по обозначениям на плате, то с общим катодом, что неверно. Ну да ладно, за такие деньги простим им это… :)[/stextbox]
Первым делом я припаял шлейф к светодиоду и посадил его на радиатор, так как при питании номинальным током он довольно сильно греется. После чего собрал все на беспаечной макетной плате.
Микроконтроллер можно применить самый маленький, например, Attiny12. Но у меня такого не было под рукой, поэтому я взял тот что был — ATTiny2313 в DIP-корпусе. Транзисторы я взял те, что были у меня свободны — IRF840.
Сопротивления по 10Ом и мощностью 1 ватт. С ними возникла проблема. Оказалось, что у меня нет дома таких сопротивлений необходимой мощности. Пришлось искать. Друган подогнал немного. Кстати, они тоже довольно ощутимо греются. Если есть возможность, то лучше ставить мощностью на 2 ватта.
Залил прошивку — все заработало сразу же после подачи питания.
Так как все заработало, приступил к воплощению в железе. Развел плату вручную в Sprint-Layout 5.
Может можно и лучше, но у меня так. После этого начал делать плату по технологии ЛУТ.
Перевел тонер на текстолит.
На фото видно, как тонер перевелся на текстолит при использовании разной бумаги. А — это я применил обычную глянцевую бумагу для струйных принтеров Lomond плотностью 200 мг/см2. Б — тоже самое при использовании бумаги из страницы журнала «Хакер». Весь тонер поплыл.
Ну а дальше хлорное железо…
и растворитель для оттирания тонера…
Вытравилась плата хорошо. Надо было бы ее залудить всю, но я этого не сделал. Почему не знаю… 🙂
Теперь осталось только запаять детальки.
Когда запаял все, выяснилось, что для анода светодиода я не предусмотрел отверстие и пришлось его припаивать сверху на дорожку.
Когда паял, увидел, что чуток промахнулся с расстоянием между транзисторами. Поэтому они чуток кривовато стоят. Ну да ладно…
Все собрал, подключил, запаял. Провожу испытания. Подал питание… Ура!!! Работает!
Теперь весь вопрос, где взять для этой лампы корпус с светорассеивателем. Практически на всех сайтах пишут о том, что применяют лампы из Икеи. Но, к сожалению, у меня на расстоянии в окружности с радиусом 200км нет ниодного магазина Икея. Ходил по строительным магазинам, но чего-либо более-менее подходящего пока не нашел. Но я не теряю надежды…
Прошивку писал тупо в лоб. Без использования ШИМ и т.д. В ней разберется даже начинающий эмбедер.Там все предельно просто и прокомментировано. Основной смысл алгоритма, это смена цветов по цепочке: R->RG->G->GB->B->BR->R с соответствующими задержками.
Теперь о том, что как я планирую модифицировать эту лампу. Во-первых, я хочу перевести все на ШИМ. В лоб работать хорошо, но ШИМ — это красиво и «по-пацански».
Во-вторых, хочу сделать смену режимов. Что бы можно было бы выставить статически любой оттенок цвета и установить его яркость. Что б можно было бы регулировать скорость смены цветов. Что бы смена цветов и и длительность смены были случайными, а не заранее установленными. И обойтись при этом минимальным количеством кнопок.
Ну, и в далекой перспективе, сделать ему дистанционный пульт управления.
UPDATE (17/12/2012): видео с примером работы по просьбам в комментариях. На видео выглядит не очень. В реальности намного красивее.
Вливайтесь в обсуждение
  12 комментариев
Мастер-Ломастер
13 лет назадЛампа настроения — это когда цвет меняется случайно, а не по предсказуемому порядку.
Chiper
13 лет назадДа, наверно. Я это планировал сделать (в конце статьи писал, что хочу сделать случайную смену цветов), но пока она стоит в комнате как ночник и работает так как есть. Уже привык.
Виталий
12 лет назадмне наверное не хватило видео на ее работу и ссылки на место где продается светодиод 🙂
Chiper
12 лет назадНу видео там нечего записывать, тем более не знаю, потянет ли камера. Попробую на досуге записать.
Про светодиод — поищу ссылку, где покупал, выложу.
Chiper
12 лет назадСветодиод брал этот: 3W LED Emitter on Star (Multicolored RGB)
Виталий
12 лет назадпо светодиоду — спасибо, гляну..
кстати сейчас есть и более чем pwm интересные методы изменения яркости светодиода: BAM это Bit Angle Modulation — введи в гугле, занятная штука
Chiper
12 лет назадСмотрел на BAM. Интересная штука. Альтернатива PWM. Но разница здесь в том, что PWM поддерживается аппаратно, а BAM генерировать надо программно.
Но если надо много каналов, то и PWM и BAM придется генерить программно. А тут у BAM есть некоторое небольшое преимущество в виде чуть меньших необходимых ресурсах.
Виталий
12 лет назадну да, генерация программная, но с другой стороны при BAM заметно меньше мерцаний..
опять таки в лампе настроения все равно микроконтроллеру делать нечего..
кстати, программный BAM можно написать в прерывании таймера с автозагрузкой (в режиме CTC, top=OCR1A) — прерывание будет очень коротким.. и основная программа даже этого не заметит
Chiper
12 лет назадЯ ж не говорю, что BAM -это плохо. Нет. Но если надо, к примеру, 1 канал PWM, то зачем городить программную реализацию BAM, если для PWM надо только счетчик настроить?.. Если надо 10 каналов — то BAM один из возможных вариантов решения задачи.
И для PWM мерцания не заметны.
Ну не скажи. В моей лампе — да. Там алгоритм простейший, можно просто на счетчиках сделать. Но стоит только начать развивать идею, как схема без контроллер усложнится очень сильно. К примеру, прицепить дистанционное управление, регулировку яркости в зависимости от времени суток или освещенности, да и просто переливы цветов в разных комбинациях и с разной скоростью, задание своих комбинаций и т.д. и т.п.
Придумать можно очень много всего. И тут уже без микроконтроллера не обойтись.
Chiper
12 лет назадВот, записал видео. На экране не так выглядит как в реальности.
Vovka
10 лет назадинтересная задумка) менять цвет подсветки в автомобиле! а цвет регулировать резистором, только у тиньки вроде нет АЦПшки. но можно сделать самодельный АЦП на резисторах использовав свободные порты. )))