Емкостной датчик влажности почвы
Trema-модуль емкостной датчик влажности почвы — в отличие от резистивных датчиков влажности не подвержен коррозии. Датчик является аналоговым, напряжение на выходе обратно пропорционально влажности почвы. Датчик идеально подходит для наблюдения изменений влажности почвы, для создания систем автоматического полива растений и для мониторинга целостности грунтового трубопровода.
Способ — 2 : Используя проводной шлейф и Shield
Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO
Питание:
Входное напряжение питания 5 В или 3,3 В, постоянного тока, подаётся на выводы Vcc (V) и GND (G) датчика. Датчик можно подключить к постоянному питанию (тип подключения 1), а можно управлять питанием датчика (тип подключения 2) если подавать питание на датчик с любого информационного вывода, тогда функцией digitalWrite() можно включать или выключать датчик. При таком подключении нужно дать датчику время для включения генератора частоты, примерно 50 миллисекунд.
Питание датчика от информационного вывода (тип подключения 2), возможно, благодаря низкому энергопотреблению датчика (потребляемый ток <5,3мА).
Подробнее о модуле:
Модуль использует технологию шунтирования высокой частоты за счет чего электроды датчика физически не контактируют с почвой и не подвержены коррозии. Датчик возвращает инверсное значение: чем больше влажность, тем ниже показания. Максимальные показания — датчик находится в воздухе, минимальные — датчик находится в воде по линию пиктограммы деревьев (65мм).
В зависимости от влажности почвы, при питании 5 вольт показания датчика находятся в диапазоне от ~3 до ~1.75 вольт; при питании 3,3 вольта от ~2 до ~1. Соответственно, диапазон показаний функции analogRead() будет зависеть от напряжения питания датчика.
График зависимости выходного напряжения датчика от влажности почвы при питании 5В
Примеры:
Считывание показаний с датчика:
Показания датчика считываются вызовом функции analogRead(номер_вывода);
Тип подключения 1:
#define SENSOR A0 // Определяем номер аналогового входа, к которому подключен датчик влажности почвы. void setup() < Serial.begin(9600); // Инициируем передачу данных по последовательному порту на скорости 9600 бот. >void loop()< uint16_t sensor = analogRead(SENSOR); // Читаем данные с датчика, Serial.println(sensor); // выводим текущую влажность почвы из датчика в последовательный порт, delay(5000); // приостанавливаем выполнение программы на 5 секунд. >
Тип подключения 2: датчик запитан от выводов A0 и A1.
#define SENSOR A2 // Определяем номер аналогового входа, к которому подключен датчик влажности почвы #define Vcc A1 // Определяем номер вывода, от которого запитан датчик (вывод Vcc) #define GND A0 // Определяем номер вывода, от которого запитан датчик (вывод GND) void setup() < Serial.begin(9600); // Инициируем передачу данных по последовательному порту на скорости 9600 бот pinMode (Vcc, OUTPUT); // Переводим вывод Vcc в режим выхода pinMode (GND, OUTPUT); // Переводим вывод GND в режим выхода digitalWrite(Vcc, LOW ); // Подаем уровень логического 0 на вывод Vcc датчика digitalWrite(GND, LOW ); // Подаем уровень логического 0 на вывод GND датчика >void loop() < digitalWrite(Vcc, HIGH ); // Включаем датчик delay(50); // Ждем генератор частоты Serial.println(analogRead(SENSOR)); // Выводим текущую влажность почвы из датчика в последовательный порт digitalWrite(Vcc, LOW ); // Выключаем датчик delay(5000); // Приостанавливаем выполнение программы на 5 секунд >
Так как датчик является инверсным, для удобства чтения данных можно воспользоваться встоенной функцией map(), которая в следующем скетче преобразует и инвертирует «сырые» показания датчка в диапазон от 0 до 100:
#define SENSOR A2 // Определяем номер аналогового входа, к которому подключен датчик влажности почвы. // Датчик инверсный: больше влажность - меньше значение. #define MIN 630 // Определяем минимальное показание датчика (в воздухе), #define MAX 330 // определяем максимальное показание датчика (в воде), uint16_t sensor; // создаем переменную для хранения адаптированных показаний, void setup() < Serial.begin(9600); // Инициируем передачу данных по последовательному порту на скорости 9600 бот. >void loop()< sensor = analogRead(SENSOR); // Читаем сырые данные с датчика, sensor = map(sensor, MIN, MAX, 0, 100); // адаптируем значения от 0 до 100, Serial.println(sensor); // выводим текущую влажность почвы из датчика в последовательный порт, delay(500); // приостанавливаем выполнение программы на 0.5 секунд. >
Описание функции map():
- Синтаксис: map(ПЕРЕМЕННАЯ, НАЧАЛЬНОЕ НИЖНЕЕ ЗНАЧЕНИЕ, НАЧАЛЬНОЕ ВЕРХНЕЕ ЗНАЧЕНИЕ, КОНЕЧНОЕ НИЖНЕЕ ЗНАЧЕНИЕ, КОНЕЧНОЕ ВЕРХНЕЕ ЗНАЧЕНИЕ);
- ПЕРЕМЕННАЯ — переменная или функция, возвращающая значение int;
- НАЧАЛЬНОЕ НИЖНЕЕ ЗНАЧЕНИЕ — начальное значение входного диапазона для конвертирования. В данном случае оно больше чем верхнее для инвертирования результата
- НАЧАЛЬНОЕ ВЕРХНЕЕ ЗНАЧЕНИЕ — конечное значение входного диапазона. В данном случае оно меньше нижнего для инвертирования результата.
- КОНЕЧНОЕ НИЖНЕЕ ЗНАЧЕНИЕ — начальное значение выходного диапазона
- КОНЕЧНОЕ ВЕРХНЕЕ ЗНАЧЕНИЕ — конечное значение выходного диапазона
Применение:
- Система автополива растений, сбор информации об изменениях влажности почвы, контроль протечек грунтового трубопровода, контроль уровня воды
Ссылки:
Датчик влажности почвы, резистивный
Trema-модуль датчик влажности почвы — подходит для создания систем автоматического полива растений — незаменимый помощник, как для ухода за комнатными растениями, так и для растений на огороде.
Видео:
Способ — 2 : Используя проводной шлейф и Shield
Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO и тд.
Питание:
Входное напряжение питания 5 В или 3,3 В, постоянного тока, подаётся на выводы Vcc (V) и GND (G) датчика. Датчик можно подключить к постоянному питанию (тип подключения 1), а можно управлять питанием датчика (тип подключения 2) если подавать питание на датчик с любого информационного вывода, тогда функцией digitalWrite() можно включать или выключать датчик. Питание датчика от информационного вывода (тип подключения 2), возможно, благодаря низкому энергопотреблению датчика (потребляемый ток <4,5мА), что в разы меньше чем у аналогичных датчиков влажности почвы.
Подробнее о модуле:
Чем выше влажность почвы, тем выше её электропроводность. Датчик погружается в грунт на расстояние до 45 мм и измеряет электропроводность почвы, между своими контактами. Напряжение на выходе датчика прямо пропорционально уровню измеренной электропроводности. Чем выше влажность почвы, тем выше уровень сигнала на выходе датчика.
- 0. 300 — сухая почва*
- 300. 500 — увлажнённая почва*
- 500. 800 — влажная почва*
Из графика видно, что электропроводность почвы, а следовательно и выходной сигнал датчика имеет флуктуации (хаотичные отклонения от среднего значения). Уровень сигнала на выходе датчика лежит в диапазоне от 0 В до 4,5 В.
*На показания датчика влияют следующие факторы:
- степень погружения датчика в почву (чем глубже погружён датчик, тем выше его показания)
- тип почвы, её химические и физические свойства (чем плотнее почва, тем выше показания датчика)
- наличие и количество примесей в воде, которой поливается почва.
Примеры:
Считывание показаний с датчика:
Показания датчика считываются вызовом функции analogRead(номер_вывода); которая возвращает число от 0 до 1023 (см. график выше).
Датчик запитан от выводов A0 и A1. Если датчик подключён к постоянному питанию (тип подключения 1), то строки с символом * в комментариях, можно удалить.
const uint8_t pinSensor = A2; // Константа с указанием номера аналогового входа, к которому подключен датчик влажности почвы const uint8_t pinVcc = A1; // * Константа с указанием номера вывода, от которого запитан датчик (вывод Vcc) const uint8_t pinGND = A0; // * Константа с указанием номера вывода, от которого запитан датчик (вывод GND) void setup() < Serial.begin(9600); // Инициируем передачу данных по последовательному порту на скорости 9600 бот pinMode (pinVcc, OUTPUT); // * Переводим вывод pinVcc в режим выхода pinMode (pinGND, OUTPUT); // * Переводим вывод pinGND в режим выхода digitalWrite(pinVcc, LOW ); // * Подаем уровень логического 0 на вывод Vcc датчика digitalWrite(pinGND, LOW ); // * Подаем уровень логического 0 на вывод GND датчика >void loop() < digitalWrite(pinVcc, HIGH ); // * Включаем датчик Serial.println(analogRead(pinSensor)); // Выводим текущую влажность почвы из датчика в последовательный порт digitalWrite(pinVcc, LOW ); // * Выключаем датчик delay(5000); // Приостанавливаем выполнение программы на 5 секунд >
Для компенсации влияния флуктуаций электропроводности почвы, можно считывать усреднённые показания датчика.
const uint8_t pinSensor = A0; // Константа с указанием номера аналогового входа, к которому подключен датчик влажности почвы uint16_t arrMoisture[10]; // Массив для хранения 10 последних значений влажности почвы uint16_t valMoisture; // Переменная для расчёта среднего значения влажности почвы void setup() < Serial.begin(9600); // Инициируем передачу данных по последовательному порту на скорости 9600 бот >void loop() < valMoisture=0; // Обнуляем среднее значение влажности почвы for(int i=0; i< 9; i++)< // Создаём цикл от 0 (включительно) до 9 (не включительно) arrMoisture[i]=arrMoisture[i+1]; // Сдвигаем значения элементов массива на одну ячейку влево (0=1, 1=2, 2=3 . 8=9) >arrMoisture[9]=analogRead(pinSensor); // Сохраняем текущую влажность почвы из датчика в последний (9) элемент массива for(int i=0; i valMoisture/=10; // Вычисляем среднее значение влажности почвы (делим сумму значений, на их количество) Serial.println(valMoisture); // Выводим среднее значение влажности почвы в последовательный порт >
Применение:
- Система автополива растений
Ссылки:
Датчик влажности почвы (резистивный): инструкция по использованию и примеры
Используйте резистивный сенсор влажности почвы для создания систем автоматического полива растений. Датчик подойдёт для ухода за комнатными цветками и флоре на огороде. Не дайте своим растениям засохнуть!
Принцип работы
Датчик для измерения влажности почвы выполнен в виде вилки с двумя электродами, которыми погружается в грунт на расстояние до 40 мм. При подключении питания на электродах создаёться напряжение. Если почва сухая, её сопротивление велико и через датчик между электродами течёт слабый ток. Если земля влажная — её сопротивление становится меньше, а ток датчика между электродами соответственно увеличивается. По итоговому аналоговому сигналу можно судить о степени увлажнения почвы.
Максимальное напряжение на выходе S не превышает 75% от напряжения питания модуля V , т.е. сигнальный диапазон датчика равен:
0–3,5 В при питании 5 В:
0–2 В при питании 3,3 В.
На показания датчика также влияют следующие факторы:
Степень погружения датчика в почву.
Тип почвы, её химические и физические свойства.
Наличие и количество примесей в воде.
Электроды датчика покрыты золотом, чтобы предотвратить пассивную коррозию, когда он выключен. Избавиться от электролитической коррозии, вызванной протекающим током, невозможно, поэтому сенсор резистивного типа рекомендуется запитывать через силовой ключ. То есть, включать его только на время измерений, чтобы максимально продлить ресурс. В плане эксплуатации это доставляет неудобство, поэтому рекомендуем обратить внимания на ёмкостный датчик влажности почвы, который в силу своего исполнения неподвержен корозии.
Пример работы для Arduino и XOD
В качестве мозга для считывания показаний с датчика рассмотрим платформу из серии Arduino, например Arduino Uno.
Схема устройства
Подключите датчик влажности почвы к аналоговому пину A0 платформы Arduino. Для коммуникации понадобятся соединительные провода «мама-папа».
Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Arduino Uno методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.
Код для Arduino IDE
Прошейте платформу Arduino скетчем приведённым ниже.
// любой GPIO пин с поддержкой АЦП constexpr auto pinSensor = A0; void setup() { // открываем Serial-порт Serial.begin(9600); } void loop() { // считываем данные с датчика влажности почвы int valueSensor = analogRead(pinSensor); // выводим данные в Serial-порт Serial.println(valueSensor); // ждём 100 мс delay(100); }
После загрузки скетча, в Serial-порт будут выводиться текущие показания сенсора в 10-битном диапазоне.
0–300: сухая почва;
300–600: влажная почва;
600–750: датчик в воде.
Патч для XOD
Создайте новый патч
Добавьте в патч ноду analog-sensor и установите ей в инспекторе PORT значение A0 .
Добавьте ноду watch и подключите её к ноде analog-sensor к пину VAL .
Прошейте платформу Arduino с режимом отладки.
После загрузки прошивки, в отладочной ноде watch будут выводиться текущие показания сенсора в диапазоне от 0 до 0,75:
0–0,3: сухая почва;
0,3–0,6: влажная почва;
0,6–0,75: датчик в воде.
Пример для Espruino
В качестве мозга для считывания показаний с датчика рассмотрим платформы из серии Espruino, например Iskra JS.
Схема устройства
Подключите датчик влажности почвы к аналоговому пину A0 платформы Iskra JS. Для коммуникации понадобятся соединительные провода «мама-папа».
Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Iskra JS методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.
Исходный код
Прошейте платформу Iskra JS скриптом приведённым ниже.
// выводим показания датчика на пине A0 каждые 100 мс setInterval(function() { var valueSensor = analogRead(A0) * 100; print('Value sensor: ', Math.round(valueSensor), '%'); }, 100);
После загрузки скрипта, в консоль будут выводиться текущие показания сенсора в диапазоне от 0 до 75%.
0–30%: сухая почва;
30–60%: влажная почва;
60–75%: датчик в воде.
Пример для Raspberry Pi
В качестве мозга для считывания показаний с датчика рассмотрим одноплатные компьютеры Raspberry Pi, например Raspberry Pi 4.
Схема устройства
К сожалению в компьютере Raspberry Pi нет встроеенного аналого-цифрового преобразователя. Используйте плату расширения Troyka Cap, которое добавит малине аналоговые пины.
Подключите датчик влажности почвы к Raspberry Pi через плату расширения Troyka Cap к 3 пину. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.
Программная настройка
Исходный код
Запустите скрипт на малине приведённым ниже.
# библиотека для работы со временем и задержками import time # библиотека для работы с расширителем портов GPIO Expander на плате Troyka Cap import gpioexp # создаём объект для работы с расширителем портов exp = gpioexp.gpioexp() # пин к которому подключен датчик влажности почвы # любой GPIO пин платы расширения Troyka Cap pinSensor = 3 while True: # считываем состояние датчика влажности почвы valueSensor = exp.analogRead(pinSensor) * 100 # выводим показания датчика print('Value sensor: ', round(valueSensor), ' %') # ждём 100 мс time.sleep(0.1)
После загрузки скрипта, в консоль малины будут выводиться текущие показания сенсора в диапазоне от 0 до 75%.
0–30%: сухая почва;
30–60%: влажная почва;
60–75%: датчик в воде.
Элементы платы
Измерительные электроды
Датчик построен на основе транзисторного усилителя тока. Для измерения влажности почвы на датчике расположены два электрода, которые для проведения измерений необходимо воткнуть в почву. Электроды подключены в цепь между коллектором (точка SP) и базой (точка SN) встроенного транзистора на плате MMBT2222ALT1G.
При изменении влажности почвы, меняется сопротивление между базой и коллектором, к которому подключен положительный полюс источника питания. Соответственно меняется и протекающий ток от коллектора через эмиттер на землю. В результате изменяется и выходное аналоговое напряжение сенсора (точка OUT). Подробности найдёте на принципиальной схеме датчика.
Troyka-контакты
Датчик подключается к управляющей электронике через три провода.
Сигнальный (S) — выходной сигнал сенсора. Напряжение на выходе датчика прямо пропорционально уровню измеренной электропроводности: чем выше влажность почвы, тем выше уровень сигнала на выходе датчика и соответственно наоборот. Максимальное выходное значения 75% от напряжения питания. Подключите к аналоговому пину микроконтроллера.
Датчики влажности почвы
Садовые и комнатные растения одно из украшений которое добавляет ярких красок. Для того, чтобы растения сохраняли вид цветений им требуется правильный уход. Для любого растения важным элементом является — полив. Для одних засуха — это комфортный климат для роста. Другим же необходим частый полив и высокая влажность.
Как обеспечить нужный уровень влажности?
Для грунта используют датчики почвы. Такое устройство — это состоящие из двух элементов: контактного щупа и датчика. Смысл его работы прост, напряжение создаваемая между проводниками контролирует влажности почвы, так если прибор обнаруживает влажность — сопротивление снижается, сухость увеличивает сопротивление и уменьшает прохождение тока, на что укажет прибор.
Преимущества датчиков влажности
Прибор имеет ряд положительных сторон и создает благоприятную среду для комнатных и садовых растений. Кроме того, датчик позволяет создавать автоматическую систему полива, которая будет следить за уровнем влаги, что позволит оставлять растения на время отпуска или командировки и не переживать за их полив.
Из достоинств датчиков измерения почвы отмечают:
— Удобство (упрощенная формула автоматического полива освободит время);
— Точность (прибор сам определяет нужный уровень влаги);
— Цена (начинается от 400 рублей);
— Подходить для комнатных, садовых и аграрных культур).
Виды датчиков влажности почвы
1.Ёмкостные датчики относительной влажности;
4.Теплопроводящие абсолютной влажности.
Ёмкостные — востребованы из-за своей конфигурации, которая состоит из тонкоплёночного полимера. Благодаря такой основе ёмкостные датчики востребованы в промышленном оборудование.
Точки росы — модель измерителя, которая работает в минусовые температуры и имеет записывающие устройство, которое упрощает использование.
Резистивные — отличается взаимозаменяемостью что позволяет использовать резисторы для калибровки схемы усиления сигнала на фиксации уровня влажности.
Теплопроводящей датчики абсолютной влажности — преимущества работа в коррозийной среде.
Как выбрать датчик влажности почвы
При покупке прибора следует подробно изучать следующие характеристики:
— Из чего изготовлен корпус;
Данные факторы являются основными при выборе и зависят от места предполагаемого использования.
Кроме того, при выборе устройства следует изучать дополнительные функции, которые дают дополнительный комфорт при использовании и способны собирать информацию сразу о нескольких показателях состояние почвы садовых и комнатных растений. Также, можно отметить, что при выборе модели стоит выбирать датчик с электронным дисплеем который более комфортен для использования.
Какие модели датчиков измерения влажности почвы востребованы
Наиболее покупаемой моделью является измеритель влажности МГ-44.
Из преимуществ можно отметить:
— Корпус выполненный из прочного пластика;
— 99 режимов работы;
— Простую и удобную систему работы;
— Измеритель произведён в соотношение цены качества. Простой дизайн модели позволяет быстро разобраться с функциями прибора и опробовать его в действии. Кроме того, стоит отметить, что максимальная погрешность устройства составляет всего 1 %.
Далее по популярности следует отметить Weihuameter TK100.
Данный измеритель почвы подходит как для профессионального, так и для хозяйственного использования к преимуществам модели можно отнести корпус из качественных пластиковых масс, малую погрешность измерения которая составляет 0,5 % и функции, которые являются нужным дополнением при использование в профессиональных теплицах и садовых комплексах.
ANTAST AMF038 — датчик влажности почвы, который используется в минусовых и плюсовых температурах. Прочный и качественный прибор, который показывает отличные результаты и погрешность в 0,5 %.
Какую модель выбрать
Каждое устройств имеет свои положительные стороны и недостатки выбирая Измеритель влажности почвы стоит отталкиваться от сферы его использование и нужных функций. Так для садовых и хозяйственных работ будет достаточно модели указанной под цифрой один, которая имеет простой дизайн, но при этом сочетает в себе прочность и удобство её использования. Для профессионального использования подойдут измерители, указанные в списке ниже, они представляют собой высокое функциональное устройство способное производить несколько измерений одновременно, а также записывать их.