# Грунтометрия - Измеритель влажности грунта Прибор для определения влажности почвы методом высушивания на базе Arduino. ## Принцип работы Прибор определяет влажность грунта по формуле: ``` W = 100 × (m1 - m0) / (m0 - m) ``` Где: - **m** — масса пустой кюветы - **m1** — масса кюветы с влажным грунтом - **m0** — текущая масса во время нагрева (высушивания) ## Компоненты - Arduino (Uno/Nano/Mega) - LCD Keypad Shield 1602 - Тензодатчик с модулем HX711 - Индукционный нагреватель - Кнопка управления ## Подключение | Компонент | Пин Arduino | |-----------|-------------| | LCD RS | D8 | | LCD EN | D9 | | LCD D4-D7 | D4, D5, D6, D7 | | LCD Подсветка | D10 | | HX711 DOUT | A3 | | HX711 SCK | A2 | | Кнопка | D13 | | Нагрев | D3 | | Напряжение | A1 | ## Управление ### Короткое нажатие кнопки Переход между этапами измерения: 1. **Готовность** → Взвешивание пустой кюветы 2. **Пустая кювета** → Сохранение массы (m) 3. **Заполненная кювета** → Сохранение массы (m1) и начало нагрева 4. **Нагрев** → Прерывание нагрева и показ результата 5. **Результат** → Возврат в режим готовности ### Удержание кнопки (4-6 секунд) Автоматическое тарирование (обнуление весов) ### Удержание кнопки (8+ секунд) Калибровка с эталонным грузом 100г ## Режим нагрева - Общая длительность: 15 минут - Циклический режим: 30 сек нагрев / 20 сек пауза - Измерение массы происходит во время паузы (для точности) - Отображается максимальное значение влажности (Wmax) ## Фильтрация данных Для стабильности показаний используются: - Медианный фильтр (7 значений) - Экспоненциальное скользящее среднее (EMA) - Дедбэнд для уменьшения дрейфа показаний ## Калибровка 1. Удерживайте кнопку 8-10 секунд 2. Уберите все с платформы, нажмите кнопку 3. Установите груз 100г, нажмите кнопку 4. Коэффициент калибровки сохраняется в EEPROM ## Библиотеки - `LiquidCrystal` — управление LCD дисплеем - `HX711` — работа с тензодатчиком - `EEPROM` — сохранение настроек