Грунтометрия - Измеритель влажности грунта
Прибор для определения влажности почвы методом высушивания на базе 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 |
Управление
Короткое нажатие кнопки
Переход между этапами измерения:
- Готовность → Взвешивание пустой кюветы
- Пустая кювета → Сохранение массы (m)
- Заполненная кювета → Сохранение массы (m1) и начало нагрева
- Нагрев → Прерывание нагрева и показ результата
- Результат → Возврат в режим готовности
Удержание кнопки (4-6 секунд)
Автоматическое тарирование (обнуление весов)
Удержание кнопки (8+ секунд)
Калибровка с эталонным грузом 100г
Режим нагрева
- Общая длительность: 15 минут
- Циклический режим: 30 сек нагрев / 20 сек пауза
- Измерение массы происходит во время паузы (для точности)
- Отображается максимальное значение влажности (Wmax)
Фильтрация данных
Для стабильности показаний используются:
- Медианный фильтр (7 значений)
- Экспоненциальное скользящее среднее (EMA)
- Дедбэнд для уменьшения дрейфа показаний
Калибровка
- Удерживайте кнопку 8-10 секунд
- Уберите все с платформы, нажмите кнопку
- Установите груз 100г, нажмите кнопку
- Коэффициент калибровки сохраняется в EEPROM
Библиотеки
LiquidCrystal— управление LCD дисплеемHX711— работа с тензодатчикомEEPROM— сохранение настроек
Description
Languages
C++
100%