Данный прибор контролирует влажность почвы ваших растений и подает сигнал тревоги, если вы их давно не поливали.
Аппаратное обеспечение
Для определения влажности почвы используется метод измерения сопротивления между двумя электродами. Два электрода вместе с почвой образуют резистор с переменным сопротивлением. Чем влажнее почва, тем лучше ее проводимость и меньше электрическое сопротивление. Схема основана на датчике влажности почвы SparkFun.
При помощи постоянного резистора (R2 на 10 кОм) образован делитель напряжения. Сигнал с делителя напряжения может быть измерен АЦП микроконтроллера.
Программное обеспечение
Микроконтроллер ATtiny13 большую часть времени находится в спящем режиме. Каждые восемь секунд его будит сторожевой таймер. Он измеряет влажность почвы и сравнивает ее с пороговым значением, установленным калибровочным потенциометром.
Если почва слишком сухая, прибор издает короткий звуковой сигнал через зуммер и короткий световой сигнал через светодиод (ТРЕВОГА). Затем микроконтроллер возвращается в спящий режим.
ATtiny13 также можно разбудить, нажав кнопку TEST (прерывание при переключении контакта). После чего генерируется акустический и световой сигнал, чтобы пользователь мог определить, не разряжен ли аккумулятор. После этого производиться непрерывное измерение влажности почвы до момента отпускания кнопки. Этот режим позволяет выставить необходимое пороговое значение с помощью потенциометра.
Чтобы избежать коррозии электродов, насколько это возможно, напряжение подается только во время измерения. ATtiny13 работает на частоте 128 кГц и неиспользуемые периферийные устройства отключены, поэтому энергопотребление минимально.
Поскольку на плате нет разъема ICSP, вам необходимо перед пайкой запрограммировать ATtiny с помощью SOP адаптера. Программатор AVR может помочь с этим.
Компиляция и загрузка с использованием Arduino IDE
- Убедитесь, что вы установили MicroCore .
- Перейдите в Инструменты -> Плата -> MicroCore и выберите ATtiny13.
- Перейдите в Инструменты и установите следующие параметры платы:
- Clock: 128 kHz internal osc.
- BOD: BOD disabled
- Timing: Micros disabled
- Подключите ваш программатор к компьютеру и к ATtiny13.
- Перейдите в Инструменты -> Программатор и выберите ISP-программатор (например, USBasp ).
- Перейдите в Инструменты -> Записать загрузчик.
- Откройте Tacho.ino и нажмите Загрузить.
Инструкция по эксплуатации
Поместите электроды глубоко в почву, чтобы они были полностью покрыты. Устройство измеряет влажность почвы каждые восемь секунд и подает короткий сигнал тревоги, если почва слишком сухая.
Нажатие кнопки тестирования всегда дает хотя бы один короткий сигнал тревоги. Это можно использовать для проверки того, что аккумулятор достаточно заряжен и устройство работает правильно. Если земля слишком сухая, сигнал тревоги будет постоянный, пока удерживается кнопка тестирования.
Чтобы откалибровать датчик влажности поместите электроды в сухую почву. Далее нажмите и удерживайте кнопку «TEST». Покрутите потенциометр калибровки до тех пор, пока не сработает сигнал тревоги. После этого отпустите кнопку.
Скачать файлы проекта (29,5 KiB, скачано: 257)