Это полностью готовый проект — заливай скетч и пользуйся. Имеет несколько ключевых особенностей:
- может быть легко перестроен под любое количество реле (от 1 до 8);
- имеет диспетчер подключения к Wi-Fi (например в случае необходимости замены точки доступа или смены пароля от Wi-Fi);
- управление через WEB интерфейс с любого устройства в локальной сети через браузер (подключение к Интернет не требуется);
- запрос статуса состояния реле и возможность управления с помощью других плат ESP;
- возможность присвоения статического IP адреса;
- возможность работы с разными типами модулей реле.
Общий алгоритм работы показан блок-схеме:
Алгоритм работы программы
После подачи питания программа ищет в файлах информацию необходимую для подключения к локальной (домашней) сети Wi-Fi. Если информация не найдена (первый запуск устройства) или сменился пароль от сети Wi-Fi — плата ESP82666 запускается как точка доступа.
ESP8266 как точка доступа
Обзор и доработка китайского релейного модуля
Подключившись к этой точке доступа, можно открыть браузер, вбить в адресную строку IP 192.168.4.1 и в открывшейся странице задать параметры сети Wi-Fi, к которой необходимо подключиться.
WEB Страница для задания параметров домашней сети
Там же можно присвоить статический IP адрес и прописать шлюз. Перед этим необходимо зайти на домашний роутер и посмотреть, что раздает DHCP сервер и какие IP не заняты.
Смотрим свободный IP и шлюз
После нажатия кнопки Submit ESP8266 перезагрузится и будет доступна внутри домашней сети по адресу, который вы укажите. Я выбрал 10.168.0.200
WEB интерфейс панели управления GPIO
Библиотека ESPAsyncWebServer умеет делать «динамический» HTML — количество отображаемых кнопок будет зависеть от настроек которые вы зададите в скетче. События происходящие при нажатии кнопок обрабатываются с помощью JavaScript — перезагрузка и обновление WEB страницы не требуются!
При запросе страницы — ползунки обновляются в соответствии с последним состоянием GPIO (можно одновременно управлять с нескольких устройств ПК, смартфон через WEB браузер).
Для проверки и отладки кода был собран прототип. (8 светодиодов + 8 резисторов номиналом 330-990 Ом)
Схема прототипа для проверки скетча
Прототип на макетной плате.
Кроме WEB интерфейса, изменить состояние светодиодов можно отправив GET запрос вида:
GET запрос для изменения состояния GPIO
- relay=5 порядковый номер реле (5)
- state=1 (1 — включить/0 выключить)
Можно запросить состояние всех GPIO с помощью запроса:
Запрос статуса всех реле одной строкой
Английская буква алфавита — номер реле, цифра после неё 1/0 включено/выключено.
Прошивка и настройка платы
Перед использованием необходимо установить в систему Arduino IDE две библиотеки:
- ESPAsyncWebServer (.zip folder)
- ESPAsyncTCP (.zip folder)
В Папке с проектом есть папка DATA.
Файлы из этой папки необходимо разместить в файловой системе ESP (LittleFS).
Как установить загрузчик и загрузить файлы, читайте в этой статье:
Установка загрузчика файловой системы (LittleFS) ESP8266 в среде Arduino IDE
Электроника, ESP32, Arduino 21 мая 2022
После загрузки файлов необходимо откорректировать несколько строк в скетче:
Параметры необходимые для конфигурации Wi-Fi реле
Если устройств планируется несколько — лучше присвоить точке доступа понятное название. Я использую место установки + последняя цифра IP адреса который я планирую задать.
const char* AP_NAME = «STENA_200»;
Задать пароль для точки доступа. Если у вас моргнет электричество и возникнет проблема с роутером, все ваши самодельные девайсы перейдут в режим точки доступа — чтобы в этот момент к ней не смог подключиться «замечательный сосед», лучше придумать свой надежный пароль.
const char* AP_password = «password»;
Можно задать понятное название устройства — в WEB странице управления GPIO включена поддержка русской кодировки.
const char* Name_device = «СТЕНА»;
Количество реле — именно столько кнопок будет нарисовано в WEB интерфейсе управления. (у меня два реле)
##define NUM_RELAYS 2
Отредактировать массив к которым будут подключены реле (модули реле). Определиться с выбором GPIO, физических контактов на плате и особенностями подключения Вам поможет эта статья:
Источник: dzen.ru
РЕЛЕЙНЫЙ МОДУЛЬ ДЛЯ ARDUINO
Данный релейный модуль предназначен для сопряжения маломощных электронных схем управления с исполнительными устройствами. Модуль был приобретен на Ru.Aliexpress.com через расширение Алипрайс для поиска самых дешёвых цен. Релейный модуль представляет собой печатную плату размером 43х17 мм, высота модуля 17 мм, масса 13 г.
Основой модуля является электромагнитное реле JQC-3FF-S-Z.
По заявлению продавца модуль может управлять нагрузкой потребляющей переменный ток 10 А при напряжении 250 В, или 10 А постоянного тока при напряжении 30 В. Контакты для подключения нагрузки исполнены в виде клемм с винтовыми зажимами. Управляющие контакты штыревые с шагом 2,5 мм. Все контакты промаркированы.
Для работы модулю требуется постоянное напряжение 5 В. Когда ток не протекает через катушку реле модуль потребляет ток 3 мА, при сработавшем реле потребление возрастает до 70 мА. На плате располагаются два светодиода, зеленый светодиод служит для отображения состояния реле, красный – индикатор питания модуля. Модуль отлично подходит для совместной работы с платами аппаратной платформы Arduino. Для подключения хорошо подходит трехпроводной кабель.
Для примера можно загрузить в Arduino простейшую программу, которая последовательно подает в один из цифровых портов логический 0, а затем логическую 1, обеспечивая тем самым переключение реле из одного состояния в другое. По каналу управления протекает ток около 4 мА.
В качестве нагрузки подключим к реле две миниатюрных лампы накаливания. Таким образом, чтобы реле переключала лампы, последовательно зажигая то одну лампу, то другую.
Видео работы модуля
В целом отличное недорогое устройство для управления нагрузкой, которая не требует плавного регулирования мощности и очень частых включений/отключений. Специально для сайта Электрические схемы – Denev.
Источник: elwo.ru
Подключение и управление реле к Ардуино
Соберите схему, как показано на картинке ниже. Подобная схема использовалась в проекте Светильник с управлением от пульта, где светодиодная лента включалась при помощи реле. Модуль имеет три контакта для управления от микроконтроллера Ардуино и два контакта для подключения мощной электрической цепи. Схема подключения реле к Ардуино УНО, Нано или Ардуино Мега ничем не отличается:
GND — GND
VCC — 5V
In — любой цифровой порт
После сборки электрической схемы, загрузите следующий скетч в микроконтроллер. Данная программа ничем не отличается от скетча для мигания светодиода на Ардуино, мы только поменяли в скетче порт и задали большее время задержки.
Скетч для управления реле от Ардуино
void setup() < pinMode(3, OUTPUT); // объявляем пин 3 как выход > void loop() < digitalWrite(3, HIGH); // замыкаем реле delay(3000); // ждем 3 секунды digitalWrite(3, LOW); // размыкаем реле delay(1000); // ждем 1 секунду >
После загрузки скетча включите блок питания в цепь. Реле при этом должно устанавливаться в разрыве одного из проводов, идущего к LED ленте. Для безопасности лучше устанавливать реле в провод заземления. К минусам реле следует отнести щелчки при замыкании/размыкании контакта, поэтому для включения LED ленты и других приборов до 40 Вольт удобнее использовать транзисторы.
Видео. Управление LED лентой через реле
Реле может использоваться для создания автоматического светильника, где используется лампа накаливания 220 Вольт, а микроконтроллер Arduino Uno включает лампу, когда уровень освещенности в помещении станет меньше заданной величины. Также можно сделать автоматическое управление электрообогревателем в комнате, включая реле Ардуино, в зависимости от температуры в помещении.Источник: xn--18-6kcdusowgbt1a4b.xn--p1ai