цифровая электроника
вычислительная техника
встраиваемые системы

 

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

Автор: Mike(admin) от 10-08-2016, 10:51

Данный проект позволит вам самостоятельно собрать «умную» розетку, управляемую с компьютера. Основу такой розетки составляют популярная плата Arduino Uno и твердотельное реле.


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

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


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

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



int drivePin = 12; // выходной сигнал управления реле
int incomingByte;
void setup() {
   Serial.begin(9600); // запуск последовательного порта
   pinMode(drivePin, OUTPUT);
}
void loop() {
   if (Serial.available() > 0) {
      incomingByte = Serial.read();
      Serial.println(incomingByte);
   }
   if (incomingByte == 50) {
      digitalWrite(drivePin, LOW); // 50 в кодировке ASCII это цифра 2 на клавиатуре
   }
   else if (incomingByte == 49) {
      digitalWrite(drivePin, HIGH); // 49 в кодировке ASCII это цифра 1 на клавиатуре
   }
}

Автоматический сброс


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


В качестве альтернативы аппаратному решению проблемы с автосбросом можно воспользоваться программными решениями. Например, установить терминал HTERM или попробовать гугловский монитор последовательной передачи данных Chrome Browser Serial Port Monitor.




© digitrode.ru


<Via>


Теги: Arduino



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

Оставить комментарий