/
jazonvisor
/
GrayBox
Обзор
Документация
Войти
/
jazonvisor
/
GrayBox
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Relay.h
51 строка
3 KB
jazon
Шаг первый - настройка 4-х каналов реле
14 дек 2024, 23:13
14 дек 2024, 23:13
f0e54ff
Код
Авторство
О чём код?
/**/ /*Обязательно подключаем эту библиотеку*/ #include <Arduino.h> #define ON 1 #define OFF 0 /*Описываем класс*/ class Relay{ /*Пин подключения релейного модуля*/ uint8_t pinUsed; /*Порядковый номер объекта управления*/ uint8_t number; /*Количество объектов класса*/ static uint8_t objCount; /*Маркер состояния объекта управления*/ bool marker; /*Текущий статус доступности управления*/ bool isActive; /*Режимы работы*/ enum:uint8_t{DIRECT,DAILY}MODE; /*Время включения - согласовываем с данными от модуля DS3231/DS1307/DS3102*/ uint32_t timeon; /*Время выключения - согласовываем с данными от модуля DS3231/DS1307/DS3102*/ uint32_t timeoff; /*Текущее время приведённое в формат целого числа*/ uint32_t currtime; public: /*Конструктор объекта класса, в качестве параметра номере пина подключения релейного модуля*/ Relay(uint8_t); /*Получить количество объектов управления*/ uint8_t getObjectsCount(){return Relay::objCount;} /*Получить порядковый номер объекта управления*/ uint8_t getDeviceID(){return this->number;}; /*Установка времени включения/выключения*/ void SetOnOffTime(uint32_t,uint32_t); /*Управление объектом, установка флага доступности управления*/ void SetActivity(bool); /*Запрос состояния флага доступности управления*/ bool GetActivity(){return this->isActive;}; /*Запрос текущего состояния объекта - реле включено/выключено, опираемся на marker*/ bool GetStatus(){return this->marker;}; /*Управление объектом, выбор режима работы*/ void SetMode(uint8_t); /*Управление объектом, режим "Прямое включение/выключение"*/ void DirectControl(bool); /*Управление объектом, режим "Суточный таймер", получаем форматированное текущее время в виде шестизначного числа*/ void DailyControl(uint32_t); /*Управление объектом, получение текущего времени в строке*/ void DailyControl(char*); };