Умный свет на Arduino
Продолжаем тему плавного включения света, начатую ранее.
В выходные, наконец, собрал вместе все компоненты управления светом в моей новой квартире в кухне, гостиной и лоджии. Основная идея - реализовать управление светом при помощи простых кнопочных выключателей. Что может быть проще и естественней при входе в комнату нажать на выключатель - щелк и свет горит. Соответственно для этого не нужно хитрых ручек, кнопочек, сенсорных панелей - просто кнопка. Разумеется, в будущем, все будет дублироваться с планшета и можно будет управлять светом и с планшета и голосом, но сейчас, пока в жилище ремонт -- контроллер должен работать автономно, но при этом, обеспечивать все те же возможности управления светом, что и у готовой системы используя лишь простой кнопочный выключатель.
Наиболее нетривиальной задачей было организовать управление точечными светильниками с плавным включением. Её я успешно решил, выкинув "родные" блоки питания, замнив их на управляемые ШИМ источники тока и запитав всю схему от одного мощного блока питания. Светильники на 3 Ватта питаются от блока питания 12 вольт, светильники на 6 Ватт - от блока питания на 24 вольта.
Сам контроллер собран в корпусе на дин-рейку, заказанном на чипе&дипе. Корпус, кстати, оказался весьма удобным с макетной платой, на которой и были размещены маломощный блок питания для ардуины и три семисторных ключа с оптронной гальванической развязкой - безопасность превыше всего! Сама плата arduino pro mini и микросхема max485 для шины модбас размещены на отдельной макетной плате и помещенны в тот же корпус, благо место позволяет.
Прошивку написал с нуля - она пока не совсем такая как я хочу, но уже не вызывает рвотного рефлекса при взгляде на код - оказывается, ардуино позволяет писать программы на вполне приличном C++ с объектами, наследованием и виртуальными функциями. Все это делает код вполне читаемым и, главное, поддерживаемым в будущем. Код выложил на github - замечания и дополнения приветствуются!
Основная фишка - одна кнопка. Тут я вполне согласен со Стивом Джобсом - одна кнопка рулит!
В кухне одной кнопкой включается основной свет и свет над рабочей зоной. На лоджии плавно включается четыре шестиваттных потолочных светильника. В гостиной - одной кнопкой управляем двумя светильниками общего света. При этом есть возможность управлять яркостью светодиодных светильников - делать их ярче или тусклее.
Конечно, ремонт пока еще в самом разгаре и в будущем на кухню я планирую добавить подсветку с светодиодной лентой по периметру потолка. В гостиной планируется добавить отдельную зону из светодиодных светильников, как на кухне.
Как говориться, начало положено и схема доказала свою реализуемость, что не может не радовать.
разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться
комментарии:
А к каким пинам что подключено?
Дмитрий, пины можно увидеть в коде прошивки - https://github.com/maxistar/SmartDimmerD1/blob/master/KitchenDimmer.ino . D4 - Кнопка на лоджии, D6 - Кнопка в кухне, А2 - Кнопка в гостинной. D5 - Шим на лоджую, D3 - Шим в кухню, D12, D8, D7 - лампочки через семисторные ключи.
Кнопки лучше подключать с дополнительным подтягивающим резистором - без него вход получается слишком чувствительным - возникают наводки от электроинструмента и свет может самопроизвольно включаться - выключаться.
управление яркостью почему-то не работает в этом коде