Найти в Дзене
АмперКО

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

В этой статье приведены разные варианты управления реле в скетчах ардуино. Примеры тестировались на Arduino Uno, но они могут быть легко применимы для работы на других платах Arduino: Uno, Mega, Nano. Простой вариант скетча управления реле Схема подключения В данном примере используется стандартный модуль реле ардуино, на котором уже установлены все необходимые элементы для подключения к . Схема подключения очень проста: модуль реле присоединяется к 5 пину платы Ардуино. При этом для простоты мы можем даже не присоединять реальную нагрузку – реле будет щелкать при каждом изменении состояния, мы услышим эти щелчки и будем понимать, что скетч работает. Скетч для работы с реле /* * Скетч для управления реле с помощью ардуино * Используем реле SONGLE SRD-05VDC * Реле ОТКРЫВАЕТСЯ при подаче низкого уровня сигнала (LOW) на управляющий пин. * Реле ЗАКРЫВАЕТСЯ при подаче высокого уровня сигнала (HIGH) на управляющий пин. * * В данном примере мы просто открываем и закрываем реле раз в 5 сек
Оглавление

В этой статье приведены разные варианты управления реле в скетчах ардуино. Примеры тестировались на Arduino Uno, но они могут быть легко применимы для работы на других платах Arduino: Uno, Mega, Nano.

Простой вариант скетча управления реле

Схема подключения

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

Скетч для работы с реле

/*
* Скетч для управления реле с помощью ардуино
* Используем реле SONGLE SRD-05VDC
* Реле ОТКРЫВАЕТСЯ при подаче низкого уровня сигнала (LOW) на управляющий пин.
* Реле ЗАКРЫВАЕТСЯ при подаче высокого уровня сигнала (HIGH) на управляющий пин.
*
* В данном примере мы просто открываем и закрываем реле раз в 5 секунд.
*
* PIN_RELAY содержит номер пина, к которому подключено реле, которым мы будем управлять
*
* В функции setup устанавливаем начальное положение реле (закрытое)
* Если к реле будет подключена нагрузка(например, лампочка), то после запуска скетча она будет включаться и выключаться каждые 5 секунд
*
* Для изменения периода мигания нужно изменить параметр функции delay(): поставив 1000 миллисекунд, выполучите 1 секунду задержки
*
* В реальных проектах реле включается в ответ на обнаружение каких-либо внешних событий через подключение датчиков
*
*/
#define PIN_RELAY 5 // Определяем пин, используемый для подключения реле
// В этой функции определяем первоначальные установки
void setup()
{
pinMode(PIN_RELAY, OUTPUT); // Объявляем пин реле как выход
digitalWrite(PIN_RELAY, HIGH); // Выключаем реле - посылаем высокий сигнал
}
void loop()
{
digitalWrite(PIN_RELAY, LOW); // Включаем реле - посылаем низкий уровень сигнала
delay(5000);
digitalWrite(PIN_RELAY, HIGH); // Отключаем реле - посылаем высокий уровень сигнала
delay(5000);
}

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

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

Схема подключения реле

-2

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

Пример скетча

В данном примере мы добавим в цикл loop проверку состояния PIR датчика с помощью функции digitalRead (). Если мы получаем HIGH, то это означает сработку датчика и мы выполняем действие – включаем реле. Если к нему присоединить лампочку, то она загорится. Но, как и в прошлом примере, можно просто послушать щелчки.

/*
Скетч для управления реле ардуино с помощью PIR датчика
PIN_RELAY содержит номер пина, к которому подключено реле, которым мы будем управлять
PIN_PIR содержит номер пина с подключенным PIR-сенсором
В функции setup устанавливаем начальное положение реле (закрытое)
В теле функции loop проверяем наличия высокого уровня сигнала от датчика с помощью функции digitalRead
Для отладки текущее значение датчика выводим в окно монитора порта
  • */
  • #define PIN_RELAY 8 // Определяем пин, используемый для подключения реле
  • #define PIN_PIR 5 // Определяем пин, используемый для подключения PIR-датчика
  • // В этой функции определяем первоначальные установки
  • void setup()
  • {
  • Serial.begin(9600);
  • pinMode(PIN_RELAY, OUTPUT); // Объявляем пин реле как выход
  • digitalWrite(PIN_RELAY, HIGH); // Выключаем реле - посылаем высокий сигнал
  • }
  • void loop()
  • {
  • int val = digitalRead(PIN_PIR); // Считваем значение с датчика движения в отдельную переменную
  • if (val == HIGH) {
  • Serial.println("Датчик сработал");
  • digitalWrite(PIN_RELAY, LOW); // Включаем реле - посылаем низкий уровень сигнала
  • } else {
  • digitalWrite(PIN_RELAY, HIGH); // Отключаем реле - посылаем высокий уровень сигнала
  • }
  • delay(1000); // Проверяем значения один раз в секунду.
  • }