Умная розетка своими руками

Умные розетки позволяют пользователю дистанционно управлять различной бытовой и электронной техникой работающей от переменного сетевого напряжения 220 вольт. Посредством специальных команд с компьютера, смартфона или планшетника, можно включить кондиционер или отключить забытый утюг в вашем доме.
Радиоконструкторы на любой вкус

Итак, основное назначение современных умных розеток в следующем:

Дистанционно включать и отключать сетевое напряжение со всех электроприборов в квартире.
Включать полив огорода на приусадебном участке или на дачестрого по расписанию, и только в тех случаях когда это действительно нужно;
Выполнять охранную функцию в доме
Оповещение владельца об отключении электричества или о сетевых перегрузках
Умная розетка на базе Arduino Uno и твердотельного реле.

Сначала соберем приведенную на рисунке ниже схему твердотельного реле на базе оптопары MOC3041. Которая представляет собой недорогой оптрон с фотодиодом и светодиодом. Затем подсоединяем самоделку Arduino к разъему J1 собранного силового переключателя. Для управления реле мы используем линию ввода-вывода D12. Входные разъемы J2 будут представлять собой розетку для подсоединения сетевого напряжения 220 Вольт, а к разъемам J3 подключим нагрузку, в данном случае лампу накаливания. (Если конечно она у вас еще есть!)

Теперь подсоединяем плату Arduino Uno к компьютеру через USB порт и вводим нижеприведенный код в Arduino IDE, а затем загружаем его в Arduino. При получении «1» линия D12 переходит в высокое логическое состояние (реле замыкается), при «2» в низкое состояние (реле размыкает свои электронные контакты).

Плата Arduino Uno спроектирована так, чтобы имелась возможность програмного сброса, когда она подключена к компьютеру или ноутбуку. Одна из линий аппаратного управления потоком данных (DTR) на ATmega8U2 подсоединена к линии сброса ATmega328 через емкость номиналом 100 нф. Если на этой линии устанавливается низкий логический уровень, микросхема сбрасывается. Программа использует эту функцию, чтобы можно было программировать Arduino по одному нажатию кнопки в Arduino IDE. Но здесь есть и лошка дегтя - каждый раз плата будет сбрасываться, если она подсоединяется к ПК. К счастью, в Arduino Uno имеется дорожка RESET-EN, нарушив контакт которой можно избавиться от автоперезапуска.