Итак, все влезло в ту же ТВ приставку – пришлось добавить только кнопки, светодиоды и динамик. Реле разместил в слаботочном щите.
Привожу схему устройства.
Ко входам 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 – желтый цвет, сигнализируют о срабатывании конкретного датчика протечки.
При отсутствии необходимости в информации о срабатывании конкретного датчика группы можно оставить по одной плате управления на каждый канал, и все датчики группы подключить к ней параллельно. Система тоже будет работать, изменение прошивки в этом случае не требуется.
Отдельно хочу разобрать подключение кранов к реле.
Тут возможны два варианта. В первом случае при срабатывании реле краны открываются, в другом — закрываются. Я выбрал для себя второй вариант с закрыванием при срабатывании, так как краны большую часть времени будут открыты, и реле при открытых кранах не будет потреблять ток и нагружать блок питания. Конечно, безопасность выше в первом случае. Но при желании настройки можно поменять, инвертировав соответствующие переменные в скетче, либо использовать модули реле со срабатыванием по низкому уровню. (В продаже имеются модули, срабатывающие как при нуле на входе, так и при единице. От этого зависит настройка прошивки.)
Ну и напоследок выкладываю скетч. Здесь разбирать не буду, подробные комментарии приведены в его тексте. Скажу лишь, что для переделки системы для работы с одной парой стояков достаточно закомментировать строки, отвечающие за 3-й и 4-й счетчики, а также за вторую пару кранов. Кроме того, в этом случае можно и дисплей заменить на двустрочный с изменением соответствующих настроек в 4 строке. Но так как двустрочный дисплей имеет строки длиной 16 символов, а не 20, то нужно в конце скетча в блоке вывода информации на дисплей слова Cold и Ноt уменьшить до одной буквы, и немного сдвинуть курсор ближе при выводе второго столбца.
В итоге получилась вполне достойная альтернатива дорогущим регистраторам счетчиков и системам защиты от протечек. А стоимость комплектующих (без учета кранов и счетчиков) составила около тысячи рублей.
Update от 04.01.2022 - опубликована вторая версия скетча с оптимизацией работы программы. Ее также можно переделать под работу с двумя стояками - внимательно читайте комментарии в скетче.
В дальнейшем все обновления будут публиковаться на странице проекта на GitHub