Описание
Счетчик воды построен на ESP32-c3 SuperMini. И счетчик YF-S402B
Возможность выставить от 1 до 5 ступеней. У каждой ступени выставляется лимитный расход и делается сброс индивидуально.
Также после замены фильтра по нажатии кнопки, у ступени отобразится дата последней замены. Теперь не нужно запоминать когда производилась замена.
По мере счета количества воды, будет заполняться шкала до установленного лимита. по мере заполнения ее цвет изменится с зеленого, на желтый, под конец на красный. Также на верху экрана отображается общее количество в литрах за все время "Сбрасывается кнопкой сброса всего".
Во время работы будет периодически коротко мигать синий светодиод, указывающий на работу устройства. Частое мигание указывает на отсутствие связи по WiFI с роутером.
Подключиться к счетчику можно через браузер по IP либо по адресу water.local
Подключение
Счетчик подключается к ESP 3-мя проводами. Черный на GND. Красный на +5V. Желтый "счетный" на 4-й пин.
Для лучшей связи WiFI можно подпаять к антенне кусочек провода длинной 31мм.

Основной экран
Настройкка скетча
// --- WiFi ---
const char* ssid = "TP-Link";⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀// название вашей сети WiFI
const char* password = "00000000";⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀// пароль от вашей сети
#define FLOW_PIN 4⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀// Номер пина подключения датчика
#define SAVE_STEP 20.0⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀// Шаг сохранения расхода в память. По умолчанию каждые 20.0 литров
#define LED 8⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀// Номер пина светодиода
#define TIMEZONE 3⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀// UTC+3 (Значение 3 для часового пояса москвы)
#define NTP_SERVER "ru.pool.ntp.org"⠀⠀⠀⠀// Сервер получения времени
#define DEVICE_NAME "water"⠀⠀⠀⠀⠀⠀⠀⠀⠀// Адрес подключения: имя.local
int filtersCount = 3;⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀// сколько фильтров использовать (1-5)
Изменение лимита
Нажатием на кнопку "Изменить лимит" вы попадете в раздел где можно выставить лимит каждой ступени. просто введите значение каждой ступени и сохраните.
Настройкка расхода
Что бы ваш счетчик считал правильное количество воды, его нужно откалибровать. Нужно подготовить мерительную емкость где заведомо известен точный объем.
1) Закрываем кран.
2) Заходим в меню калибровки нажатием на кнопку "Сделать калибровку расхода"
3) Открываем кран и проливаем известное количество воды.
4) Закрываем кран.
5) Вводим точное количество пролитой воды и сохраняем.
Прошивки