Управление реле 4 канала с пульта 433Mhz

InjutkinAG

✩✩✩✩✩✩✩
6 Авг 2025
3
0
Необходимо написать код для Arduino NANO.
Управление 4-х канальным реле с помощью пульта ДУ 433MHZ

Техническое задание:
Используемая платформа
Arduino nano
Энкодер - поворот энкодера влево и вправо навигация в меню, нажатие на энкодер действие
Для отображения текста использовать библиотеку GyverOLED
OLED дисплей SD1306_128x32, использовать OLED_BUFFER
RCSwitch приемник 433Mhz
EEPROM - для сохранения настроек системы использовать встроенную память arduino nano
Реле 4 контактное c гальванической развякой
Пульт управления 433Mhz 4 кнопки
Для отображения текста на дисплее использовать библиотеку GyverOLED

Arduino Nano │ Компонент
───────────────────┼─────────────────────────
D3, D4 │ Энкодер (CLK, DT)
D5 │ Кнопка энкодера. Добавить внешний резистор 10К между D2 и VCC (Дребезг контактов и ложные срабатывания)
D2 │ Приёмник 433 МГц (DATA)
D6–D9 │ Управление реле 1-4 (установлены Оптопары (PC817) для гальванической развязки)
SDA (A4), SCL (A5) │ Дисплей OLED (I²C)
VCC, GND │ Питание компонентов

-------------------------------------------
Основной принцип работы системы, управление 4-мя каналами реле с помощью пульта управления с 4 кнопками:

1, 2, 3 кнопки имеют функцию кратковременного нажатия, и длительного нажатия. кратковременное нажатие переключает статус реле, долгое нажатие (≥1 сек) ожидает когда пользователь отпустить кнопку,
после отпускания кнопки переключается текущий статус реле (без циклических переключений если кнопка нажата).

при нажатии на кнопку пульта 1 переключается статус реле 1
при нажатии на кнопку пульта 2 переключается статус реле 2
при нажатии на кнопку пульта 3 переключается статус реле 3
при нажатии на кнопку пульта 4 переключается статус реле 4

Для кнопки 4 Долгое нажатие (≥2 сек) → инвертировать все реле однократно ((включить все реле в положение ON, повторное удержание ≥2 выключить все реле в положение OFF) (без циклических переключений))
Для кнопки 4 Кратковременное нажатие (<2 сек) → инвертировать реле 4 при отпускании.

Техническое задание в прикрепленном файле.
 

Вложения

  • 17.2 KB Просмотры: 12

InjutkinAG

✩✩✩✩✩✩✩
6 Авг 2025
3
0
Уже есть такое.
Но у них есть проблема, они не обрабатывают долгое нажатие на кнопку, к примеру мне нужно выключить все реле долгим удержанием кнопки >2 секунды повторное нажатие отключает все реле, нет функции автовключения нужного количества релее при подачи питания, нет функции привязки основного и резеврного пульта.
 

InjutkinAG

✩✩✩✩✩✩✩
6 Авг 2025
3
0
Сложно сказать, я как человек довольно любящий деньги хочу получать много, а платить мало :). Господин fridgetester вроде готов помочь в решении проблемы
Сам я вроде не дурак, там кусок выдрал кода, там немного адаптировал. почти написал, процентов 70 готово, а вот дальше не могу решить проблему некоторых меню и сообщений.... Тупенький в программирование. мало ли кому пригодится (код компилируется и работает ;))
 

Вложения

  • 23.9 KB Просмотры: 2