Реле SRD-05VDC-SL-C. Урок 15. Ардуино

Управление светом через bluetooth
Ардуино, bluetooth и электромагнитное реле
Ардуино, bluetooth и электромагнитное реле

Привет! Ну вот мы и пришли к знаковому проекту. Включение лампочки, через приложение в телефоне. Пока что попробуем сделать только основу для будущего приложения. Поэтому используем уже знакомую механику bluetooth последовательного порта, а также Реле SRD-05VDC-SL-C.

В предыдущем уроке мы рассмотрели использование bluetooth модуля HM-10. И настроили передачу данных от схемы Ардуино на приложение в компьютере или телефоне. Поэтому, посмотрите его, если забыли или пропустили. Сегодня мы будем использовать программу и схему из него.

Bluetooth модуль HM-10 (ZS-040). Урок 14. Ардуино

Для того, чтобы выполнить этот урок нам понадобиться

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • 3 Резистора номиналом 1 кОм
  • Bluetooth модуль HM-10
  • Реле SRD-05VDC-SL-C
  • Лампа на 220 вольт и патрон к ней
  • Кабель USB

В прошлый раз мы настроили включение и переключение rgb светодиода от данных, которые поступают на Ардуино через bluetooth.

Сейчас заменим светодиод на электромагнитное реле, и будем управлять им.

Реле SRD-05VDC-SL-C

Электромагнитные реле предназначены для коммутации электрических цепей, с помощью управляющего сигнала. То есть, когда вы хотите включать и выключать устройства работающие от 220 вольт, с помощью управляющего сигнала в 5 вольт, вы используете реле.

В нашем случае, так и будет. Мы возьмем обычную светодиодную лампу. Она работает на 220 вольтах. Подключим ее к сети через реле. Реле управляется от 5 вольт, поэтому мы сможем подключить его к Ардуино напрямую.

И когда мы захотим включить лампу, мы подадим на пин реле 5 вольт. Реле замкнет цепь 220 вольт, и лампа включится.

Принцип действия электромагнитного реле

Наше реле может быть в двух состояниях. Нормально разомкнутое и нормально замкнутое.

То есть, в зависимости от того, как мы подключим провода, цепь 220 вольт будет замкнута, если на реле отправлен сигнал 5 вольт. Или если на реле отправлен 0. Это удобно, так как в случае, когда цепь должна быть замкнута большую часть времени, нам не придется тратить энергию на управление реле.

Схема работы электромагнитного реле
Схема работы электромагнитного реле
  1. электромагнит (обмотка с ферромагнитным сердечником)
  2. подвижный якорь
  3. контактная система (переключатель)

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

Модуль реле для Ардуино

Модуль реле для Ардуино собран на подложке со специальными клеммами для более удобного соединения проводов. Сигнальным светодиодом, который зажигается если на реле подан управляющий сигнал. И тремя контактами для подключения к макетной плате.

Модуль реле для Ардуино
Модуль реле для Ардуино

Обычно контакты размечены следующим образом.

  • + контакт для питания 5 вольт
  • — земля
  • s управляющий контакт, подключается к пину ардуино

Схема и программа

Теперь вернемся к нашему проекту. Мы хотим подключить электрическую лампочку к реле. И управлять реле через bluetooth. Возьмем схему из предыдущего урока и заменим светодиод на реле.

Принципиальная схема подключения реле
Принципиальная схема подключения реле

Лампочку подключим к сети. Но в одном из проводов сделаем разрыв и оба конца соединим с реле. Используем контакты C и NO.

Соединение провода питания и реле
Соединение провода питания и реле

Теперь дополним программу. Опять используем скетч из предыдущего урока. Но изменим блок программы, когда мы определили конец строки.

if (c == '\n') {          // Если обнаружен символ конца строки
   light = constrain(str.toInt(), 0, 1 );  // Ограничиваем значение 
   digitalWrite(relayPin, light);
   Serial.println(light); // Выводим строку в монитор порта как цифру
   str = "";              // Очищаем строку
}

И не забудем добавить переменные для пина реле.

Полный текст программы

#include <SoftwareSerial.h>
SoftwareSerial BT(8, 9);        // Контакты подключения bluetooth модуля. 8 для TXD, 9 для RXD

int relayPin = 7; 
char c = "";                    // Переменная для считывания символа из последовательного порта
String str = "";                // Переменная для формирования целой строки 
int rgb[] = {3, 5, 6};          // Массив контактов rgb светодиода
int light = 0;                  // Переменная для отправки на контакты светодиода
int i = 0;                      // Счетчик цикла для переключения цветов светодиода

void setup() {
    BT.begin(9600);             // Инициализация bluetooth последовательного порта
    Serial.begin(9600);         // Инициализация arduino последовательного порта
    Serial.println("Test for Arduino");
    BT.println("Test for Phone");

    pinMode(rgb[0], OUTPUT);
    pinMode(rgb[1], OUTPUT);
    pinMode(rgb[2], OUTPUT);
    pinMode(relayPin, OUTPUT);    
}

void loop(){  
    if (BT.available()){        // На последовательном порту bluetooth есть что считать
        delay(50);              // Задержка между считыванием символов
        c = BT.read();          // Считываем код символа в переменную типа int
        if (isDigit(c)) {       // Если считана цифра
          str += (char)c;       // Конвертируем байт в символ и присоединяем к строке
        }
        
        if (c == '\n') {        // Если обнаружен символ конца строки
          light = constrain(str.toInt(), 0, 1 );  // Ограничиваем значение для вывода на контакт 
          digitalWrite(relayPin, light);
          Serial.println(light);                  // Выводим строку в монитор порта как цифру
          str = "";                               // Очищаем строку перед следующим вводом
        }
    }
}

Serial Bluetooth Terminal

Теперь мы можем использовать Serial Bluetooth Terminal, чтобы отправлять команды на Ардуино. И тот будет управлять реле. Если мы отправим число больше 0, реле будет включено. Если 0 или другой символ, реле будет отключено.

Посмотрите предыдущий урок, в котором мы подробно рассмотрели подключение и настройку приложения Serial Bluetooth Terminal, если у вас остались вопросы.

Bluetooth модуль HM-10 (ZS-040). Урок 14. Ардуино

Управление светом через bluetooth
Управление светом через bluetooth

Заключение

Мы научились использовать электромагнитное реле. И настроили программу и bluetooth модуль, чтобы управлять включением и выключением электрической лампочки.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *