Найти тему
Dr. Lexus

Дунька в сортире: дистанционное снятие показаний счетчиков воды и защита от протечек на Arduino. Часть 3. Два в одном

Часть 1 и часть 2.

Итак, все влезло в ту же ТВ приставку – пришлось добавить только кнопки, светодиоды и динамик. Реле разместил в слаботочном щите.

Привожу схему устройства.

Принципиальная схема
Принципиальная схема

Ко входам D2-D5 Ардуино нано подключены счетчики. S1 — холодная вода 1 стояк, S2 — горячая вода 1 стояк, S3 — холодная вода 2 стояк, S4 — горячая вода 2 стояк. Вторые контакты герконов подключены к минусу питания (массе).

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

К входам D8, D9, D10, A2 подключены кнопки управления. S5 и S6 – управление первой и второй группой кранов соответственно. S7 – переключение между ручным и автоматическим режимом. Кнопка S8 отвечает за ряд функций: короткое нажатие – включение\выключение подсветки дисплея, нажатие с удержанием более 5 секунд – сброс показаний счетчиков за период, тройное нажатие – внеочередная запись текущих показаний в EEPROM перед отключением питания либо перезагрузкой устройства.

К выходу A1 подключен стандартный минидинамик, обычно применяемый в материнских платах для сигнализации состояния BIOS.

Так выглядит динамик, отлично работающий с ардуино
Так выглядит динамик, отлично работающий с ардуино

Помимо дисплея, информацию о состоянии прибора отображают ряд светодиодов:

LED1 – синий цвет, сигнализирует о включении ручного режима,

LED2 – красный цвет, сигнализирует об аварии,

LED3 и LED4 – зеленый цвет, сигнализирует об открытых кранах 1 и 2 группы соответственно,

LED5 – LED8 – желтый цвет, сигнализируют о срабатывании конкретного датчика протечки.

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

Отдельно хочу разобрать подключение кранов к реле.

Подключение крана Нептун Bugatti 220V к модулю реле, нормально замкнутый контакт открывает воду
Подключение крана Нептун Bugatti 220V к модулю реле, нормально замкнутый контакт открывает воду

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

Ну и напоследок выкладываю скетч. Здесь разбирать не буду, подробные комментарии приведены в его тексте. Скажу лишь, что для переделки системы для работы с одной парой стояков достаточно закомментировать строки, отвечающие за 3-й и 4-й счетчики, а также за вторую пару кранов. Кроме того, в этом случае можно и дисплей заменить на двустрочный с изменением соответствующих настроек в 4 строке. Но так как двустрочный дисплей имеет строки длиной 16 символов, а не 20, то нужно в конце скетча в блоке вывода информации на дисплей слова Cold и Ноt уменьшить до одной буквы, и немного сдвинуть курсор ближе при выводе второго столбца.

В итоге получилась вполне достойная альтернатива дорогущим регистраторам счетчиков и системам защиты от протечек. А стоимость комплектующих (без учета кранов и счетчиков) составила около тысячи рублей.

Update от 04.01.2022 - опубликована вторая версия скетча с оптимизацией работы программы. Ее также можно переделать под работу с двумя стояками - внимательно читайте комментарии в скетче.

В дальнейшем все обновления будут публиковаться на странице проекта на GitHub