2015-10-25

Умный свет на Arduino

Продолжаем тему плавного включения света, начатую ранее.

В выходные, наконец, собрал вместе все компоненты управления светом в моей новой квартире в кухне, гостиной и лоджии. Основная идея - реализовать управление светом при помощи простых кнопочных выключателей. Что может быть проще и естественней при входе в комнату нажать на выключатель - щелк и свет горит. Соответственно для этого не нужно хитрых ручек, кнопочек, сенсорных панелей - просто кнопка. Разумеется, в будущем, все будет дублироваться с планшета и можно будет управлять светом и с планшета и голосом, но сейчас, пока в жилище ремонт -- контроллер должен работать автономно, но при этом, обеспечивать все те же возможности управления светом, что и у готовой системы используя лишь простой кнопочный выключатель.

Наиболее нетривиальной задачей было организовать управление точечными светильниками с плавным включением. Её я успешно решил, выкинув "родные" блоки питания, замнив их на управляемые ШИМ источники тока и запитав всю схему от одного мощного блока питания. Светильники на 3 Ватта питаются от блока питания 12 вольт, светильники на 6 Ватт - от блока питания на 24 вольта.

Сам контроллер собран в корпусе на дин-рейку, заказанном на чипе&дипе. Корпус, кстати, оказался весьма удобным с макетной платой, на которой и были размещены маломощный блок питания для ардуины и три семисторных ключа с оптронной гальванической развязкой - безопасность превыше всего! Сама плата arduino pro mini и микросхема max485 для шины модбас размещены на отдельной макетной плате и помещенны в тот же корпус, благо место позволяет. 

Прошивку написал с нуля - она пока не совсем такая как я хочу, но уже не вызывает рвотного рефлекса при взгляде на код - оказывается, ардуино позволяет писать программы на вполне приличном C++ с объектами, наследованием и виртуальными функциями. Все это делает код вполне читаемым и, главное, поддерживаемым в будущем. Код выложил на github - замечания и дополнения приветствуются! 

Основная фишка - одна кнопка. Тут я вполне согласен со Стивом Джобсом - одна кнопка рулит! 

В кухне одной кнопкой включается основной свет и свет над рабочей зоной. На лоджии плавно включается четыре шестиваттных потолочных светильника. В гостиной - одной кнопкой управляем двумя светильниками общего света. При этом есть возможность управлять яркостью светодиодных светильников - делать их ярче или тусклее.

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

Как говориться, начало положено и схема доказала свою реализуемость, что не может не радовать.

 

комментарии:

 
Дмитрий (анонимный пользователь) | 2015-12-17

А к каким пинам что подключено?

max | 2015-12-31

Дмитрий, пины можно увидеть в коде прошивки - https://github.com/maxistar/SmartDimmerD1/blob/master/KitchenDimmer.ino . D4 - Кнопка на лоджии, D6 - Кнопка в кухне, А2 - Кнопка в гостинной. D5 - Шим на лоджую, D3 - Шим в кухню, D12, D8, D7 - лампочки через семисторные ключи.

Кнопки лучше подключать с дополнительным подтягивающим резистором - без него вход получается слишком чувствительным - возникают наводки от электроинструмента и свет может самопроизвольно включаться - выключаться.

Дмитрий2 (анонимный пользователь) | 2016-03-23

управление яркостью почему-то не работает в этом коде

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться