Управление реле ардуино: скетч

Фоторезисторы

Фоторезисторы или светозависимые резисторы (LDR, Light Dependent Resistors) являются светочувствительными устройствами.

При ярком освещении фоторезистор имеет более низкое сопротивление. По мере того, как свет тускнеет, сопротивление увеличивается.

Типичный диапазон фоторезисторов варьируется от 3 кОм при высоком уровне освещенности до многих мегаом при низком уровне освещенности.

Вы можете проверить сопротивление фоторезистора в условиях низкой и высокой освещенности с помощью ОМ-метра. Имейте в виду, что два идентичных фоторезистора могут иметь разные диапазоны сопротивления.

Выше — схематический символ фоторезистора.

3Скетч управления реле с помощью Arduino

Будем поочерёдно зажигать пару светодиодов одного цвета, и каждую секунду переключаться на пару другого цвета. Напишем вот такой скетч.

const int relay1 = 2; // пин управления 1-ым реле
const int relay2 = 3; // пин управления 2-ым реле

const int led1 = 4; // коммутируемый вывод - питание 1-го светодиода 
const int led2 = 5; // коммутируемый вывод - питание 2-го светодиода 

void setup() {
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  // установим оба реле в исходное положение:
  digitalWrite(relay1, HIGH);
  digitalWrite(relay2, HIGH);
  // подадим питание на светодиоды: 
  digitalWrite(led1, HIGH);  
  digitalWrite(led2, HIGH);
}

void loop() {
// переключим оба реле:
  digitalWrite(relay1, LOW);
  digitalWrite(relay2, LOW);
  delay(1000);
// переключим оба реле обратно:
  digitalWrite(relay1, HIGH);
  digitalWrite(relay2, HIGH);
  delay(1000);
}

Если вы собирали не по приведённой схеме, а вместо D4 и D5 подключали центральную точку реле напрямую к питанию +5V, то от констант led1 и led2 и от всего связанного с ними кода в скетче можно совершенно безболезненно избавиться.

Теперь загрузим скетч в память Arduino. Вот как это всё выглядит у меня. Реле громко пощёлкивают раз в секунду, а светодиоды весело моргают.

Демонстрация работы Arduino с модулем реле SRD-05VDC-SL-C

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

Как использовать релейный модуль с устройствами высокого напряжения

Сначала давайте посмотрим на принципиальную схему. Как описано ранее, мы будем использовать адаптер 5 В в качестве отдельного источника питания для электромагнита, подключенного к JDVcc и заземляющему выводу. Вывод Arduino 5V будет подключен к выводу Vcc модуля, а вывод 7 к входному выводу In1 для управления реле. Теперь для части «высокое напряжение» нам понадобится вилка, розетка и кабель с двумя проводами. Один из двух проводов будет обрезан и подключен к общему и нормально разомкнутому контакту выходного разъема модуля. Таким образом, в этой конфигурации, когда мы активируем реле, мы получим замкнутую и рабочую высоковольтную цепь.

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

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

Модуль реле HL-52S для Ардуино

В качестве примера для этого урока по реле Arduino мы будем использовать 2-канальный релейный модуль HL-52S, который имеет 2 реле с номиналами 10 А при 250 и 125 В переменного тока и 10 А при 30 и 28 В постоянного тока. Выходной разъем высокого напряжения имеет 3 контакта, средний является общим контактом, и, как видно из маркировки, один из двух других контактов предназначен для нормально разомкнутого соединения, а другой – для нормально замкнутого соединения.

На одной из сторон модуля у нас есть 2 набора контактов. Первый имеет 4 контакта, заземление и контакт VCC для питания модуля и 2 входных контакта In1 и In2. Второй набор контактов имеет 3 контакта с перемычкой между JDVcc и контактом Vcc.

Модуль реле HL-52S для Ардуино

В качестве примера для этого урока по реле Arduino мы будем использовать 2-канальный релейный модуль HL-52S, который имеет 2 реле с номиналами 10 А при 250 и 125 В переменного тока и 10 А при 30 и 28 В постоянного тока. Выходной разъем высокого напряжения имеет 3 контакта, средний является общим контактом, и, как видно из маркировки, один из двух других контактов предназначен для нормально разомкнутого соединения, а другой — для нормально замкнутого соединения.

На одной из сторон модуля у нас есть 2 набора контактов. Первый имеет 4 контакта, заземление и контакт VCC для питания модуля и 2 входных контакта In1 и In2. Второй набор контактов имеет 3 контакта с перемычкой между JDVcc и контактом Vcc.

Внимание! При такой конфигурации электромагнит реле получает питание напрямую от платы Arduino, и если что-то пойдет не так с реле, микроконтроллер может быть поврежден.

Представленные на рынке модели

Датчики Arduino, относящиеся к давлению, делятся согласно средам применения и конструктивным особенностям, непосредственно связанным с получением конечного результата. Есть модели, защищенные от влаги и предназначенные для применения в жидкостях, другие работают только в качестве анероидов атмосферы, иные устанавливаются в разрыв движения потока, четвертые в качестве определителей внутреннего давления наполняющего емкость газа. Их всех объединяет наличие общих интерфейсов подключения к микроконтроллеру и низкое, не более нескольких милливатт (реже Ватт), потребление энергии.

Наименование Питание (V) Точность Разрешение
(hPa)
Диапазон (hPa) Рабочая температура
(°C)
Интерфейсы Примечание
SPI I2C UEXT
Атмосферные
MOD-BMP085 1.8–3.6 0.03 hPa 0.01 300–1100 (от 500 м ниже уровня моря до 9 км. высоты –40..+85 + + Измерение температуры
GY-BMP280 3.3 0.12 hPa 0.0016 300–1100 –40..+85 + + Измерение температуры до +65, с точностью 0.01
MD-PS002 5V ±0.2% –100–+150 –40..+125 + Только не агрессивные среды
Жидкостные
MS5803-02BA 1.8–3.6 20 см жидкости 30–1100
(10–2000)
–40..+85 + +
MS5803-07BA 1.8–3.6 0–7 мбар
(70 м погружения)
–20..+85 + +
Open-Smart 5V G1/4 0-1.2 MPa Hydraulic Pressure Sensor for Non-Corrosive Water 5 1.5 % 1–2.4 мбар (max 3) 0..+85 Собственный коннектор, соединяемый к I2C через резистор, датчик оснащен термометром

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

1 Принцип действия и виды реле

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

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

Как сделать управление освещением на Ардуино

Для этого проекта нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • IR приемник Ардуино;
  • пульт ДУ;
  • источник питания DC 12В;
  • светодиодная лента;
  • транзисторы и резисторы;
  • PIR датчики движения;
  • паяльник, термопистолет, провода и изолента.


Схема. Освещение в комнате на Arduino Nano Для включения LED ленты используются транзисторы 2N2222, заказанные за 60 рублей за штуку на Алиэкспресс. Характеристика 2N2222 транзисторов: макcимальное напряжение коллектор-база — 60 Вольт, макcимальное напряжение коллектор-эмиттер — 30 Вольт, макcимальное напряжение эмиттер-база — 5 В, макcимальный постоянный ток коллектора — 0.8 Ампер, максимальная рассеиваемая мощность — 0,5 Ватт.

В схеме два светильника, подключены через транзистор к Pin7 и Pin8, установлены в коридоре на 1 и 2 этаже, включаются автоматически только в темноте и при срабатывании датчиков движения. Светильник, подключенный к Pin6, установлен в ванной и включается автоматически от Pir датчика движения при любом освещении. Три светильника на Pin10, Pin11 и Pin12 управляются от пульта через ИК приемник.

Скетч. Управление освещением на Ардуино

Скачать скетч для управления освещением целиком можно скачать здесь. Также в программе есть цикл для работы в режиме «имитация присутствия», включаемый с пульта ДУ. Светильники в разных комнатах включаются в разное время, имитируя присутствие хозяев в квартире или в доме. Это пригодится тем, кто хочет дополнительно защитить свое жилье от нежданных гостей в свое отсутствие.

#include // подключаем библиотеку для IR приемника IRrecv irrecv(A5); // указываем пин, к которому подключен IR приемник decode_results results; // вводим переменные для циклов while byte n = 5; byte m = 5; // вводим переменные для счетчиков unsigned long counttime0; unsigned long counttime1; unsigned long counttime2; unsigned long counttime3; // назначаем имена для портов #define PIR_V 2 // ванная комната #define PIR_K1 3 // прихожая в доме #define PIR_K2 4 // коридор на 2 этаже #define LED_V 6 // ванная комната #define LED_K1 7 // прихожая в доме #define LED_K2 8 // коридор на 2 этаже #define LED_Z 10 // светильник в комнате #define LED_Z1 11 // светильник в комнате #define LED_Z2 12 // светильник в комнате #define FOTO A0 // датчик освещенности #define IR A5 // IR — приемник void setup() { // запускаем прием инфракрасного сигнала irrecv.enableIRIn(); // запускаем серийный монитор порта Serial.begin(9600); // назначаем режим работы портов pinMode(PIR_V, INPUT); pinMode(PIR_K1, INPUT); pinMode(PIR_K2, INPUT); pinMode(LED_V, OUTPUT); pinMode(LED_K1, OUTPUT); pinMode(LED_K2, OUTPUT); pinMode(LED_Z, OUTPUT); pinMode(LED_Z1, OUTPUT); pinMode(LED_Z2, OUTPUT); pinMode(FOTO, INPUT); pinMode(IR, INPUT); // выключаем светильники digitalWrite(LED_Z, LOW); digitalWrite(LED_V, LOW); digitalWrite(LED_K1, LOW); digitalWrite(LED_K2, LOW); digitalWrite(LED_Z1, LOW); digitalWrite(LED_Z2, LOW); }

При длительном включении 2-х метровой LED ленты, транзисторы греются, поэтому используйте радиаторы для их охлаждения или используйте для управления освещением полевой MOSFET транзистор IRF530. У транзистора максимальное напряжение коллектор-база — 100 В, макcимальный ток коллектора 3 Ампера (при напряжении на затворе 5 В), максимальная рассеиваемая мощность — 88 Ватт.

Реле модуль с опторазвязкой

В архиве «Реле модуль DIP (оптрон)

» и «Реле модуль SMD (оптрон) «

Более навороченным вариантом является реле модуль и опторазвязкой. Опторазвязка позволяет разделить цепь питания обмотки реле и сигнальную цепь Arduino.

В модулях используются широко распространенные оптроны PC817 (EL817), так что проблем с покупкой возникнуть не должно. Оптрон представляет из себя радиодеталь внутри которой находится фотодиод и фототранзистор, т.е сигнал передается через свет, Оптрон имеет 4 вывода назначение которых можно увидеть на картинке снизу.

При использовании оптрона схема не сильно усложнится. Добавится только токоограничительный резистор R1 для фотодиода. Т.к не всегда под рукой оказывается два источника питания, то на модулях было решено оставить возможность работы от одного источника путем замыкания джампера (об этом чуть ниже).

Как подключить реле к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • блок питания 12 Вольт;
  • светодиодная лента;
  • провода «папа-папа» и «папа-мама».

Схема подключения реле srd-05vdc-sl к Ардуино Уно

Соберите схему, как показано на картинке выше. Подобная схема использовалась в проекте Светильник с управлением от пульта, где светодиодная лента включалась при помощи реле. Модуль имеет три контакта для управления от микроконтроллера Ардуино и два контакта для подключения мощной электрической цепи. Схема подключения реле к Ардуино УНО, Нано или Ардуино Мега ничем не отличается:

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

Скетч для управления реле от Ардуино

voidsetup() {  pinMode(3, OUTPUT); // объявляем пин 3 как выход  }    voidloop() {  digitalWrite(3, HIGH); // замыкаем релеdelay(3000); // ждем 3 секундыdigitalWrite(3, LOW); // размыкаем релеdelay(1000); // ждем 1 секунду  }

После загрузки скетча включите блок питания в цепь. Реле при этом должно устанавливаться в разрыве одного из проводов, идущего к LED ленте. Для безопасности лучше устанавливать реле в провод заземления. К минусам реле следует отнести щелчки при замыкании/размыкании контакта, поэтому для включения LED ленты и других приборов до 40 Вольт удобнее использовать транзисторы.

Видео. Управление LED лентой через реле

  • https://robotclass.ru/tutorials/arduino-relay/
  • https://arduinoplus.ru/rele-arduino/
  • https://xn--18-6kcdusowgbt1a4b.xn--p1ai/%d0%bf%d0%be%d0%b4%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d1%80%d0%b5%d0%bb%d0%b5-%d0%ba-%d0%b0%d1%80%d0%b4%d1%83%d0%b8%d0%bd%d0%be/

Несколько слов о разновидностях

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

электромагнитное;

Рис. 1: электромагнитные реле времени

  • пневматическое;
  • с часовым механизмом;

Рис. 2. С часовым механизмом

  • моторные;
  • электронные.

Из-за сложности настройки и дефицита определенных элементов далеко не все реле времени можно собрать своими руками. Наиболее простым вариантом для изготовления и рассмотрения являются электронные модели, так как достать комплектующие для них сегодня можно как из старого оборудования, так и с любого магазина радиодеталей.

Электромеханические реле и другие варианты доступны в случае наличия специфических комплектующих, которые далеко не всегда можно найти в свободной продаже.

Как использовать релейный модуль с устройствами высокого напряжения

Сначала давайте посмотрим на принципиальную схему. Как описано ранее, мы будем использовать адаптер 5 В в качестве отдельного источника питания для электромагнита, подключенного к JDVcc и заземляющему выводу. Вывод Arduino 5V будет подключен к выводу Vcc модуля, а вывод 7 к входному выводу In1 для управления реле. Теперь для части «высокое напряжение» нам понадобится вилка, розетка и кабель с двумя проводами. Один из двух проводов будет обрезан и подключен к общему и нормально разомкнутому контакту выходного разъема модуля. Таким образом, в этой конфигурации, когда мы активируем реле, мы получим замкнутую и рабочую высоковольтную цепь.

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

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

Идея 2. На транзисторах

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

Пример такого электронного устройства приведен на рисунке ниже:


Рис. 5. На транзисторах

Для ее практической реализации вам понадобится обзавестись следующими элементами:

  • резисторами – одним на 100 кОм и тремя на 1 кОм;
  • двумя транзисторами КТ3102Б или идентичными;
  • конденсатором для создания задержки выключения/включения;
  • кнопка для запуска реле времени;
  • промежуточное реле или коммутатор;
  • светодиод для сигнализации состояния;
  • печатная плата для сборки всех деталей.

Принцип работы такого реле времени заключается в подаче напряжения 12 В на емкостной элемент C1. После чего происходит зарядка конденсатора до определенного потенциала, величины которого будет достаточно для открытия транзистора VT1.

Ток заряда для емкостного элемента определяется сопротивлением ветви C1 – R1 – чем больше сопротивление, тем меньше ток, а время накопления заряда больше. Соответственно, для повышения или уменьшения времени включения или выключения нагрузки можно использовать переменный резистор для R1.


Рис. 6. Установить переменный резистор

После разряда емкости на базу транзистора VT1 поступит сигнал открытия, и электрический ток начнет протекать через эмиттер и коллектор, резисторы R2 и R3. Эти номиналы резисторов подбираются для открытия второго транзистора VT2, работающего в режиме электронного ключа на включение основной нагрузки.

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

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

Модуль реле HL-52S для Ардуино

В качестве примера для этого урока по реле Arduino мы будем использовать 2-канальный релейный модуль HL-52S, который имеет 2 реле с номиналами 10 А при 250 и 125 В переменного тока и 10 А при 30 и 28 В постоянного тока. Выходной разъем высокого напряжения имеет 3 контакта, средний является общим контактом, и, как видно из маркировки, один из двух других контактов предназначен для нормально разомкнутого соединения, а другой — для нормально замкнутого соединения.

На одной из сторон модуля у нас есть 2 набора контактов. Первый имеет 4 контакта, заземление и контакт VCC для питания модуля и 2 входных контакта In1 и In2. Второй набор контактов имеет 3 контакта с перемычкой между JDVcc и контактом Vcc.

Внимание! При такой конфигурации электромагнит реле получает питание напрямую от платы Arduino, и если что-то пойдет не так с реле, микроконтроллер может быть поврежден

Подключение Bluetooth-модуля к Arduino

Так теперь нам нужно подключить нашу Arduino с Bluetooth. Если на Arduino нет вывода с 3.3В, а только 5В то нужен будет поставить стабилизатор чтобы снизить питание. Назначение выводов HC-05 легко найти в интернете. Для использования рекомендуем вам сделать плату с выведенными линиями питания, Rx и Tx. Подключение к Arduino необходимо производить в следующем порядке:

  • вывод Arduino 3.3В или (5В через стабилизатор!) — к 12 пину модуля Bluetooth
  • вывод Arduino GND — к 13 пину модуля Bluetooth
  • вывод Arduino TX — к 2 пину модуля RX Bluetooth
  • вывод Arduino RX — к 1 пину модуля TX Bluetooth

После подключения необходимо проверить работоспособность Bluetooth модуля. Подключим Светодиод к 12 выводу Arduino и загрузим на плату следующий скетч:

Char incomingByte; // входящие данные
int LED = 12; // LED подключен к 12 пину
void setup() {
Serial.begin(9600); // инициализация порта
pinMode(LED, OUTPUT); //Устанавливаем 12 вывод как выход
Serial.println(«Press 1 to LED ON or 0 to LED OFF…»);
}
void loop() {
if (Serial.available() > 0) { //если пришли данные
incomingByte = Serial.read(); // считываем байт
if(incomingByte == «0»)
{
digitalWrite(LED, LOW); // если 1, то выключаем LED
Serial.println(«LED OFF. Press 1 to LED ON!»); // и выводим обратно сообщение
}
if(incomingByte == «1») {
digitalWrite(LED, HIGH); // если 0, то включаем LED
Serial.println(«LED ON. Press 0 to LED OFF!»);
}
}
}

Фоторезистор ардуино и датчик освещенности

фоторезистор

Самый популярный и доступный вариант датчика на рынке – это модели массового выпуска китайских компаний, клоны изделий производителя VT. Там не всегда можно разораться, кто и что именно производит тот или иной поставщик, но для начала работы с фоторезисторами вполне подойдет самый простой вариант.

Начинающему ардуинщику можно посоветовать купить готовый фотомодуль, который выглядит вот так:

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

Российскому радиолюбителю можно посоветовать обратить на российский датчик ФР. Встречающиеся в продаже ФР1-3, ФР1-4 и т.п. — выпускались ещё в союзовские времена. Но, несмотря на это, ФР1-3 – более точная деталь. Из этого следует и разница в цене За ФР просят не более 400 рублей. ФР1-3 будет стоить больше тысячи рублей за штуку.

Маркировка фоторезистора

Современная маркировка моделей, выпускаемых в России, довольно простая. Первые две буквы — ФотоРезистор, цифры после чёрточки обозначают номер разработки. ФР -765 — фоторезистор, разработка 765. Обычно маркируется прямо на корпусе детали

У датчика VT в схеме маркировке указаны диапазон сопротивлений. Например:

  • VT83N1 — 12-100кОм (12K – освещенный, 100K – в темноте)
  • VT93N2 — 48-500кОм (48K – освещенный, 100K – в темноте).

Иногда для уточнения информации о моделях продавец предоставляет специальный документ от производителя. Кроме параметров работы там же указывается точность детали. У всех моделей диапазон чувствительности расположен в видимой части спектра. Собирая датчик света нужно понимать, что точность срабатывания — понятие условное. Даже у моделей одного производителя, одной партии, одной закупки отличаться она может на 50% и более.

На заводе детали настраиваются на длину волны от красного до зелёного света. Большинство при этом «видит» и инфракрасное излучение. Особо точные детали могут улавливать даже ультрафиолет.

Достоинства и недостатки датчика

Основным недостатком фоторезисторов является чувствительность к спектру. В зависимости от типа падающего света сопротивление может меняется на несколько порядков. К минусам также относится низкая скорость реакции на изменение освещённости. Если свет мигает — датчик не успевает отреагировать. Если же частота изменения довольно велика — резистор вообще перестанет «видеть», что освещённость меняется.

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

Преимущества ТТР


К преимуществам реле относят:

  • возможность коммутации сравнительно мощных нагрузок;
  • высокое быстродействие;
  • работа в условиях гальванической развязки;
  • способность выдерживать кратковременные перегрузки.

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

2 Схема подключения модуля реле SRD-05VDC-SL-C

Будем использовать модуль с двумя одинаковыми реле типа SRD-05VDC-SL-C или аналогичный .

Модуль имеет 4 разъёма: силовые разъёмы K1 и K2, управляющий разъём и разъём для подачи внешнего питания (с джампером).

Реле типа SRD-05VDC-SL-C имеет три контакта для подключения нагрузки: два крайних неподвижных, а средний — переключающийся. Именно средний контакт является своего рода «ключом», который коммутирует цепи тем или иным образом. На модуле есть подсказка, какой именно контакт реле является нормально замкнутым: маркировка «K1» и «K2» соединяет средний контакт с крайним левым (на фото). Подача управляющего напряжения на вход IN1 или IN2 (слаботочный управляющий разъём) заставит реле скоммутировать средний контакт контактной группы K1 или K2 с правым (силовой разъём). Ток, достаточный для переключения реле — около 20 мА, цифровые выводы Arduino могут выдавать до 40 мА.

Разъём для подачи внешнего питания используется для того, чтобы обеспечить гальваническую развязку платы Arduino и модуля реле. По умолчанию, на разъёме между штырьками JD-VCC и VCC имеется перемычка. Когда она установлена, модуль использует для питания напряжение, поданное на вывод VCC управляющего разъёма, а плата Arduino не имеет гальванической развязки с модулем. Если нужно обеспечить гальваническую развязку модуля и Arduino, необходимо подавать питание на модуль через разъём внешнего питания. Для этого убирается перемычка, и дополнительное питание подаётся на контакты JD-VCC и GND. При этом питание на вывод VCC управляющего разъёма также подаётся (от +5 В Arduino).

Кстати, реле может коммутировать не только слаботочную нагрузку, как в нашем примере. С помощью реле можно замыкать и размыкать достаточно большие нагрузки. Какие именно – нужно смотреть в техническом описании к конкретному реле. Например, данное реле SRD-05VDC-SL-C может коммутировать сети с током до 10 А и напряжением до 250 В переменного тока или до 30 В постоянного тока. То есть его можно использовать, например, для управления освещением квартиры.

Откуда получило своё название реле

От фамилии британского учёного лорда Рэлея — 28.6%

От процедуры смены уставших почтовых лошадей — 57.1%

От названия физической величины измерения яркости — 0%

В данном примере нам не нужна гальваническая развязка Arduino и модуля реле, поэтому будем питать модуль напрямую от платы Arduino, а джампер оставим на своём месте. Соберём схему, как показано на рисунке. Используемые резисторы — 220 Ом, светодиоды любые.

Если светодиоды не должны никогда отключаться, можно подключить центральную точку реле не на выводы D4
и D5
Arduino, а напрямую на питание +5 В.

Защита от помех AC

Момент выключения

Напряжение в сети является синусоидой, которая 100 раз в секунду пересекает значение 0. Если выключить нагрузку в тот момент, когда напряжение в сети равно нулю – это сильно уменьшит выброс. Для этих целей проще всего использовать твердотельные реле (SSR) с детектором нуля (Zero-Crossing Detector): такие реле сами отключают и включают нагрузку в нужный момент. Детектор нуля есть почти во всех моделях SSR, но лучше уточнить в документации. Для самодельных симисторных ключей, работающих в режиме вкл/выкл (без диммирования) рекомендуется ставить управляющую оптопару с детектором нуля: она тоже будет включать и выключать нагрузку в лучший для этого момент, то есть в ближайшем нуле.

Искрогасящие цепи AC

Также обратите внимание на то, что в некоторых твердотельных реле уже стоит снабберная цепь, об этом можно узнать из даташита на конкретную модель. На самодельный симисторный диммер такую цепь желательно не лениться и всё таки ставить, чтобы уменьшить помехи в сети

Safety warning

Before proceeding with this project, I want to let you know that you’re dealing with mains voltage. Please read the safety warning below carefully.

Warning: when you are making projects that are connected to mains voltage, you really need to know what you are doing, otherwise you may shock yourself. This is a serious topic, and we want you to be safe. If you’re not 100% sure what you are doing, do yourself a favor and don’t touch anything. Ask someone who knows!

Parts required

Here’s the needed parts for this example:

  • Relay Module
  • Arduino UNO – read Best Arduino Starter Kits
  • PIR Motion Sensor 
  • Lamp Cord Set (view on eBay)

You can use the preceding links or go directly to MakerAdvisor.com/tools to find all the parts for your projects at the best price!

Code

Copy the following code to your Arduino IDE and upload it to your Arduino board.

Warning: you shouldn’t upload new code while your Arduino is connected to the relay.

How the code works

First, we create variables to hold the pin the relay IN1 pin is connected to and to save the relay state:

The PIR motion sensor is connected to pin 2:

We need to create some auxiliary variables to handle timers with the PIR motion sensor. The lastDebounceTime variable saves the last time motion was detected. The debounceDelay saves how much time the lamp should remain on after motion is detected (here we’re setting 10 seconds = 10000 milliseconds)

In the setup(), we set the relay as an OUTPUT and turn it off by default:

Because we’re using a normally open configuration, there is no contact between the COM and NO sockets unless you trigger the relay. The relay is triggered when the input goes below about 2 V. That means if you send a LOW signal from the Arduino, the relay turns on, and if you send a HIGH signal, the relay turns off;  it works with inverted logic.

Set the PIR motion sensor as an interrupt:

Whenever the PIR motion sensor is triggered, it calls the detectMotion() function declared at the end of the code to turn the relay on:

In the loop(), we check whether 10 seconds have passed since the relay is on. If that condition is true, we can turn the relay off.

Schematic

Assemble all the parts as shown in the schematic diagram.

Warning: do not touch any wires that are connected to mains voltage. Also make sure you have tighten all screws of the relay module.

The lamp is connected to the relay using a normally open configuration. The Arduino controls the relay through pin 8 (pin 8 is connected to the relay IN1 pin). Finally, the PIR motion sensor is connected to pin 2.

2Схема подключения модуля реле SRD-05VDC-SL-C

Будем использовать модуль с двумя одинаковыми реле типа SRD-05VDC-SL-C или аналогичный.

Модуль имеет 4 разъёма: силовые разъёмы K1 и K2, управляющий разъём и разъём для подачи внешнего питания (с джампером).

Реле типа SRD-05VDC-SL-C имеет три контакта для подключения нагрузки: два крайних неподвижных, а средний – переключающийся. Именно средний контакт является своего рода «ключом», который коммутирует цепи тем или иным образом. На модуле есть подсказка, какой именно контакт реле является нормально замкнутым: маркировка «K1» и «K2» соединяет средний контакт с крайним левым (на фото). Подача управляющего напряжения на вход IN1 или IN2 (слаботочный управляющий разъём) заставит реле скоммутировать средний контакт контактной группы K1 или K2 с правым (силовой разъём). Ток, достаточный для переключения реле – около 20 мА, цифровые выводы Arduino могут выдавать до 40 мА.

Разъёмы модуля реле SRD-05VDC-SL-C

Разъём для подачи внешнего питания используется для того, чтобы обеспечить гальваническую развязку платы Arduino и модуля реле. По умолчанию, на разъёме между штырьками JD-VCC и VCC имеется перемычка. Когда она установлена, модуль использует для питания напряжение, поданное на вывод VCC управляющего разъёма, а плата Arduino не имеет гальванической развязки с модулем. Если нужно обеспечить гальваническую развязку модуля и Arduino, необходимо подавать питание на модуль через разъём внешнего питания. Для этого убирается перемычка, и дополнительное питание подаётся на контакты JD-VCC и GND. При этом питание на вывод VCC управляющего разъёма также подаётся (от +5 В Arduino).

Кстати, реле может коммутировать не только слаботочную нагрузку, как в нашем примере. С помощью реле можно замыкать и размыкать достаточно большие нагрузки. Какие именно – нужно смотреть в техническом описании к конкретному реле. Например, данное реле SRD-05VDC-SL-C может коммутировать сети с током до 10 А и напряжением до 250 В переменного тока или до 30 В постоянного тока. То есть его можно использовать, например, для управления освещением квартиры.