Mood lamp или моя лампа настроения

Читая сайты радиоэлектронной тематики, я заметил такую тенденцию, что многие начинающие эмбеддеры проходят стадию, на которой собирают так называемую «лампу настроения». Не миновала сия тенденция и меня.

Уже долгое время я закупаюсь различной мелочевкой у друзей наших китайцев на DealExtreme. После очередного посещения магазина, я заметил в продаже мощный 3-х ваттный RGB-светодиод на адекватной цене. Как только я его увидел, то мысль о «лампе настроения» сразу же и непроизвольно всплыла в голове. Естественно, светодиод был заказан. Долгие три недели ожидания и вот он пришел. Ну что ж, приступаю к сборке своей Mood lamp (англ.) или «лампы настроения».

RGB LED on star

RGB LED on star

Этот RGB-led имеет следующие характеристики на каналам:

  • Red: 2.5V ~ 3.0V, 350mA
  • Green: 3.2V ~ 3.8V, 350mA
  • Blue: 3.2V ~ 3.8V, 350mA

т.е. примерно по 1 ватту на канал, что в совокупности и дает 3 ватта.

Кстати, китайцы перепутали обозначения. Этот светодиод с общим анодом, т.е. плюсом, а если судить по обозначениям на плате, то с общим катодом, что неверно. Ну да ладно, за такие деньги простим им это… 🙂

Схема лампы настроенияПервым делом я припаял шлейф к светодиоду и посадил его на радиатор, так как при питании номинальным током он довольно сильно греется. После чего собрал все на беспаечной макетной плате.

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

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

Микроконтроллер можно применить самый маленький, например, 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 комментариев на “Mood lamp или моя лампа настроения”

  1. Лампа настроения — это когда цвет меняется случайно, а не по предсказуемому порядку.

    • Да, наверно. Я это планировал сделать (в конце статьи писал, что хочу сделать случайную смену цветов), но пока она стоит в комнате как ночник и работает так как есть. Уже привык.

  2. мне наверное не хватило видео на ее работу и ссылки на место где продается светодиод 🙂

    • мне наверное не хватило видео на ее работу и ссылки на место где продается светодиод

      Ну видео там нечего записывать, тем более не знаю, потянет ли камера. Попробую на досуге записать.

      Про светодиод — поищу ссылку, где покупал, выложу.

      • Светодиод брал этот: 3W LED Emitter on Star (Multicolored RGB)

        • по светодиоду — спасибо, гляну..

          кстати сейчас есть и более чем pwm интересные методы изменения яркости светодиода: BAM это Bit Angle Modulation — введи в гугле, занятная штука
           

          • Смотрел на BAM. Интересная штука. Альтернатива PWM. Но разница здесь в том, что PWM поддерживается аппаратно, а BAM генерировать надо программно.

            Но если надо много каналов, то и PWM и BAM придется генерить программно. А тут у BAM есть некоторое небольшое преимущество в виде чуть меньших необходимых ресурсах.

            • ну да, генерация программная, но с другой стороны при BAM заметно меньше мерцаний..
              опять таки в лампе настроения все равно микроконтроллеру делать нечего..

              кстати, программный BAM можно написать в прерывании таймера с автозагрузкой (в режиме CTC, top=OCR1A) — прерывание будет очень коротким.. и основная программа даже этого не заметит

              • Я ж не говорю, что BAM -это плохо. Нет. Но если надо, к примеру, 1 канал PWM, то зачем городить программную реализацию BAM, если для PWM надо только счетчик настроить?.. Если надо 10 каналов — то BAM один из возможных вариантов решения задачи.

                но с другой стороны при BAM заметно меньше мерцаний..

                И для PWM мерцания не заметны.

                опять таки в лампе настроения все равно микроконтроллеру делать нечего..

                Ну не скажи. В моей лампе — да. Там алгоритм простейший, можно просто на счетчиках сделать. Но стоит только начать развивать идею, как схема без контроллер усложнится очень сильно. К примеру, прицепить дистанционное управление, регулировку яркости в зависимости от времени суток или освещенности, да и просто переливы цветов в разных комбинациях и с разной скоростью, задание своих комбинаций и т.д. и т.п.

                Придумать можно очень много всего. И тут уже без микроконтроллера не обойтись.

      • Вот, записал видео. На экране не так выглядит как в реальности.

  3. интересная задумка) менять цвет подсветки в автомобиле! а цвет регулировать резистором, только у тиньки вроде нет АЦПшки. но можно сделать самодельный АЦП на резисторах использовав свободные порты. )))

Добавить комментарий

Поля, помеченные знаком звездочка (*) обязательны для заполнения.