added README.md
This commit is contained in:
81
README.md
Normal file
81
README.md
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
# Грунтометрия - Измеритель влажности грунта
|
||||||
|
|
||||||
|
Прибор для определения влажности почвы методом высушивания на базе 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-10 секунд)
|
||||||
|
Калибровка с эталонным грузом 100г
|
||||||
|
|
||||||
|
## Режим нагрева
|
||||||
|
|
||||||
|
- Общая длительность: 15 минут
|
||||||
|
- Циклический режим: 30 сек нагрев / 20 сек пауза
|
||||||
|
- Измерение массы происходит во время паузы (для точности)
|
||||||
|
- Отображается максимальное значение влажности (Wmax)
|
||||||
|
|
||||||
|
## Фильтрация данных
|
||||||
|
|
||||||
|
Для стабильности показаний используются:
|
||||||
|
- Медианный фильтр (7 значений)
|
||||||
|
- Экспоненциальное скользящее среднее (EMA)
|
||||||
|
- Дедбэнд для уменьшения дрейфа показаний
|
||||||
|
|
||||||
|
## Калибровка
|
||||||
|
|
||||||
|
1. Удерживайте кнопку 8-10 секунд
|
||||||
|
2. Уберите все с платформы, нажмите кнопку
|
||||||
|
3. Установите груз 100г, нажмите кнопку
|
||||||
|
4. Коэффициент калибровки сохраняется в EEPROM
|
||||||
|
|
||||||
|
## Библиотеки
|
||||||
|
|
||||||
|
- `LiquidCrystal` — управление LCD дисплеем
|
||||||
|
- `HX711` — работа с тензодатчиком
|
||||||
|
- `EEPROM` — сохранение настроек
|
||||||
Reference in New Issue
Block a user