Используйте резистивный сенсор влажности почвы для создания систем автоматического полива растений. Датчик подойдёт для ухода за комнатными цветками и флоре на огороде. Не дайте своим растениям засохнуть!
Датчик для измерения влажности почвы выполнен в виде вилки с двумя электродами, которыми погружается в грунт на расстояние до 40 мм. При подключении питания на электродах создаёться напряжение. Если почва сухая, её сопротивление велико и через датчик между электродами течёт слабый ток. Если земля влажная — её сопротивление становится меньше, а ток датчика между электродами соответственно увеличивается. По итоговому аналоговому сигналу можно судить о степени увлажнения почвы.
Максимальное напряжение на выходе S
не превышает 75% от напряжения питания модуля V
, т.е. сигнальный диапазон датчика равен:
На показания датчика также влияют следующие факторы:
Электроды датчика покрыты золотом, чтобы предотвратить пассивную коррозию, когда он выключен. Избавиться от электролитической коррозии, вызванной протекающим током, невозможно, поэтому сенсор резистивного типа рекомендуется запитывать через силовой ключ. То есть, включать его только на время измерений, чтобы максимально продлить ресурс. В плане эксплуатации это доставляет неудобство, поэтому рекомендуем обратить внимания на ёмкостный датчик влажности почвы, который в силу своего исполнения неподвержен корозии.
В качестве мозга для считывания показаний с датчика рассмотрим платформу из серии Arduino, например Arduino Uno.
Подключите датчик влажности почвы к аналоговому пину A0
платформы Arduino. Для коммуникации понадобятся
соединительные провода «мама-папа».
Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Arduino Uno методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.
Прошейте платформу 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-битном диапазоне.
analog-sensor
и установите ей в инспекторе PORT значение A0
.watch
и подключите её к ноде analog-sensor
к пину VAL
.
После загрузки прошивки, в отладочной ноде watch
будут выводиться текущие показания сенсора в диапазоне от 0 до 0,75:
В качестве мозга для считывания показаний с датчика рассмотрим платформы из серии 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%.
В качестве мозга для считывания показаний с датчика рассмотрим одноплатные компьютеры 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%.
Датчик построен на основе транзисторного усилителя тока. Для измерения влажности почвы на датчике расположены два электрода, которые для проведения измерений необходимо воткнуть в почву. Электроды подключены в цепь между коллектором (точка SP) и базой (точка SN) встроенного транзистора на плате MMBT2222ALT1G.
При изменении влажности почвы, меняется сопротивление между базой и коллектором, к которому подключен положительный полюс источника питания. Соответственно меняется и протекающий ток от коллектора через эмиттер на землю. В результате изменяется и выходное аналоговое напряжение сенсора (точка OUT). Подробности найдёте на принципиальной схеме датчика.
Датчик подключается к управляющей электронике через три провода.