Используйте сенсор влажности почвы для создания систем автоматического полива растений. Датчик подойдёт для ухода за комнатными цветками и флоре на огороде. Не дайте своим растениям засохнуть!
Датчик влажности почвы выполнен предпочтительно для контроллеров BBC micro:bit. Однако сенсор запросто подружится с любым контроллером, который содержит аналого-цифровой преобразователь: Arduino, Espruino, Iskra и другие.
Датчик для измерения влажности почвы выполнен в виде вилки с двумя электродами, которыми погружается в грунт на расстояние до 45 мм. При подключении питания на электродах создаётся напряжение. Если почва сухая, её сопротивление велико и через датчик между электродами течёт слабый ток. Если земля влажная — её сопротивление становится меньше, а ток датчика между электродами соответственно увеличивается. По итоговому аналоговому сигналу можно судить о степени увлажнения почвы.
Максимальное напряжение на выходе SIG
примерно 75% от напряжения питания модуля VCC
, т.е. сигнальный диапазон датчика равен:
На показания датчика также влияют следующие факторы:
Электроды датчика подвержены двум видам коррозии: пассивной и электрической.
Для борьбы с пассивным разрушением, когда датчик выключен, электроды сенсора покрыты золотом. А для борьбы с электрической коррозией, рекомендуем запитывать только в момент снятия показаний. Отсюда сенсор имеет два варианта подключения у управляющей плате: постоянное питание и управляемое питание.
В качестве мозга для считывания показаний с датчика рассмотрим платформы из семейства BBC micro:bit.
Так как электроды датчика подвержены коррозии, рассмотрим два варианта работы с сенсором:
Датчик постоянно подключен к источнику питания. Подробности читайте в разделе про коррозию электродов.
Подключите датчик влажности почвы к платформе BBC micro:bit.
Датчик влажности почвы | BBC micro:bit |
---|---|
VCC | 3V |
GND | GND |
SIG | P0 |
Для коммуникации понадобятся провода с «крокодилами».
Для надёжной фиксации электрических связей, возьмите плату расширения micro:bit Breakout, которая устанавливается на краевой разъём BBC micro:bit. Для коммуникации понадобится кунг-фу пайки и соединительные провода «мама-папа».
Соберите схему из визуальных блоков.
Прошейте платформу кодом приведённым ниже.
Прошейте платформу кодом приведённым ниже.
Датчик подключен к питанию, только во время измерения. Подробности читайте в разделе про коррозию электродов.
Подключите датчик влажности почвы к платформе BBC micro:bit.
Датчик влажности почвы | BBC micro:bit |
---|---|
VCC | P2 |
GND | GND |
SIG | P0 |
Для коммуникации понадобятся провода с «крокодилами».
Для надёжной фиксации электрических связей, возьмите плату расширения micro:bit Breakout, которая устанавливается на краевой разъём BBC micro:bit. Для коммуникации понадобится кунг-фу пайки и соединительные провода «мама-папа».
Соберите схему из визуальных блоков.
Прошейте платформу кодом приведённым ниже.
Прошейте платформу кодом приведённым ниже.
В качестве мозга для считывания показаний с датчика рассмотрим платформы из семейства Arduino.
Так как электроды датчика подвержены коррозии, рассмотрим два варианта работы с сенсором:
Датчик постоянно подключен к источнику питания. Подробности читайте в разделе про коррозию электродов.
Подключите датчик влажности почвы к платформе Arduino Uno.
Датчик влажности почвы | Arduino Uno |
---|---|
VCC | 5V |
GND | GND |
SIG | A0 |
Для коммуникации понадобится кунг-фу пайки и соединительные провода «мама-папа».
Прошейте платформу Arduino скетчем приведённым ниже.
// Определяем ядро платы Arduino // для установки рабочего напряжения #if defined(__AVR__) #define OPERATING_VOLTAGE 5.0 #else #define OPERATING_VOLTAGE 3.3 #endif // Любой GPIO пин с поддержкой АЦП constexpr auto pinSensor = A0; void setup() { // Открываем Serial-порт Serial.begin(9600); } void loop() { // Считываем аналоговое значение с датчика влажности почвы int adcSensor = analogRead(pinSensor); // Переводим данные сенсора в напряжение float voltageSensor = adcSensor * OPERATING_VOLTAGE / 1023; // выводим данные в Serial-порт Serial.print("Voltage: "); Serial.print(voltageSensor); Serial.print(" V"); // ждём 100 мс delay(100); }
Датчик подключен к питанию, только во время измерения. Подробности читайте в разделе про коррозию электродов.
Подключите датчик влажности почвы к платформе Arduino Uno.
Датчик влажности почвы | Arduino Uno |
---|---|
VCC | 5V |
GND | A1 |
SIG | A0 |
Для коммуникации понадобится кунг-фу пайки и соединительные провода «мама-папа».
Прошейте платформу Arduino скетчем приведённым ниже.
// Определяем ядро платы Arduino // для установки рабочего напряжения #if defined(__AVR__) #define OPERATING_VOLTAGE 5.0 #else #define OPERATING_VOLTAGE 3.3 #endif // Пин с поддержкой АЦП constexpr auto pinSensor = A0; // Пин питания constexpr auto pinVCC = A1; void setup() { // Открываем Serial-порт Serial.begin(9600); // Пин питания датчика в режим выхода pinMode(pinVCC, OUTPUT); } void loop() { // Подаём питание на датчик digitalWrite(pinVCC, HIGH); // Считываем аналоговое значение с датчика влажности почвы int adcSensor = analogRead(pinSensor); // Переводим данные сенсора в напряжение float voltageSensor = adcSensor * OPERATING_VOLTAGE / 1023; // выводим данные в Serial-порт Serial.print("Voltage: "); Serial.print(voltageSensor); Serial.print(" V"); // Снимаем питание с датчика digitalWrite(pinVCC, LOW); // ждём 100 мс delay(100); }
Датчик построен на основе транзисторного усилителя тока. Для измерения влажности почвы на плате расположены два электрода, которые для проведения измерений необходимо воткнуть в почву. Электроды подключены в цепь между коллектором (точка SP) и базой (точка SN) встроенного транзистора на плате.
При изменении влажности почвы, меняется сопротивление между базой и коллектором, к которому подключён положительный полюс источника питания. Соответственно меняется и протекающий ток от коллектора через эмиттер на землю. В результате изменяется и выходное аналоговое напряжение сенсора (точка OUT).
Датчик подключается к управляющей электронике через три контакта, которые задублированы на площадках под «Крокодилы / Banana Plug» и площадках под контактные штыри:
Используйте для подключения сенсора к платам BBC micro:bit. Для коммуникации понадобятся провода с «крокодилами» или «Banana Plug».
Используйте для подключения сенсора к Arduino, Espruino и другим микроконтроллерам. Сначала понадобится припаять штыревую вилку (PLS-3) к датчику с помощью паяльника. А затем использовать макетные провода для дальнейшей коммуникации.