Датчик влажности почвы. Датчики. Ардуино

Датчик влажности почвы
Датчик влажности почвы
Датчик влажности почвы

Привет! Продолжаем рассматривать различные датчики для Ардуино. Сегодня сделаем обзор на датчик влажности почвы для Ардуино. С его помощью мы сможем проверить количество воды в почве или просто уровень воды в какой-то емкости.

В прошлый раз мы рассматривали Ethernet Shield для Ардуино. С его помощью мы сможем управлять Ардуино или проверять состояние подключенного к Ардуино оборудования через интернет. Это очень полезная штука, так что посмотрите предыдущий урок, если уже его забыли или пропустили.

Ethernet Shield hr91105a (w5100) . Урок 16. Ардуино

Датчик влажности почвы состоит из двух частей. Это контактный щуп YL-69 и датчик YL-38. Они соединяются между собой парой проводков. Между электродами щупа есть небольшое напряжение. Если почва сухая, сопротивление больше и ток будет меньше. Если земля влажная, сопротивление меньше, а ток больше.

Датчик YL-38 имеет четыре контакта для подключения к Ардуино.

  • Vcc – питание датчика
  • GND – земля
  • A0 — аналоговое значение
  • D0 – цифровое значение уровня влажности

Технические характеристики

  • Напряжение питания: 3.3-5 В
  • Ток потребления 35 мА
  • Выход: цифровой и аналоговый

Для того, чтобы выполнить этот урок нам понадобиться

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • Датчик влажности почвы
  • Цветок в горшке
  • 3 светодиода
  • 3 резистора 220 Ом
  • Кабель USB

Программа и схема

Соберем простую схему на макетной плате. И напишем небольшой скетч, чтобы определить состояние почвы в горшке с цветком и зажечь разные светодиоды в зависимости от влажности почвы.

Принципиальная схема подключения датчика влажности почвы
Принципиальная схема подключения датчика влажности почвы

Подключим аналоговый вывод с датчика к порту А0. И соединим контакты питания с соответствующими пинами Ардуино.

Теперь в программе нам нужно считать данные с аналогового порта. И зажечь соответствующий светодиод. На контакте мы получим значение от 0 до 1023. Следовательно 0 будет отвечать абсолютно сухой земле. 1023 будет означать, что датчик полностью погружен в воду. В этих случаях мы зажжем красную лампочку. А значения посередине будут отвечать умеренно влажной земле. Там будут желтая и зеленая лампочка.

Выведем результаты измерений в монитор порта, чтобы лучше контролировать показания программы и датчика. А с помощью встроенного в датчик переменного резистора мы сможем отрегулировать его.

Полный текст программы


int RED = 2;
int YELLOW = 3;
int GREEN = 4;

void setup(){
  Serial.begin(9600);
  pinMode(A0, INPUT);
  
  pinMode(RED, OUTPUT);
  pinMode(YELLOW, OUTPUT);
  pinMode(GREEN, OUTPUT);
}

void loop(){
  int mois = analogRead(A0);

  Serial.print(mois);
  Serial.print(" - ");

  if(mois >= 1000) {
    Serial.println("Сенсор не в земле или не подключен");
    digitalWrite(RED,HIGH);
    digitalWrite(YELLOW,LOW);
    digitalWrite(GREEN,LOW);    
  }

  if(mois < 1000 && mois >= 700) { 
    Serial.println("Земля очень сухая");
    digitalWrite(RED,HIGH);
    digitalWrite(YELLOW,LOW);
    digitalWrite(GREEN,LOW);
  }
  if(mois < 700 && mois >= 500) { 
    Serial.println("Земля достаточно влажная");
    digitalWrite(YELLOW,HIGH);
    digitalWrite(RED,LOW);
    digitalWrite(GREEN,LOW);    
  }
  if(mois < 500 && mois >= 400) {
    Serial.println("Идеально для растений");
    digitalWrite(GREEN,HIGH);   
    digitalWrite(RED,LOW);
    digitalWrite(YELLOW,LOW);     
  }
  if(mois < 400 && mois >= 300) {
    Serial.println("Земля слишком влажная");
    digitalWrite(YELLOW,HIGH);
    digitalWrite(RED,LOW);
    digitalWrite(GREEN,LOW);    
  }
  if(mois < 300) {
    Serial.println("Датчик находится в воде");
    digitalWrite(RED,HIGH);
    digitalWrite(YELLOW,LOW);
    digitalWrite(GREEN,LOW);    
  }                                          
  delay(5000);
}
Результат работы датчика

Известные проблемы

Щуп датчика покрыт металлом. А при измерении сопротивления через металлические части датчика проходит ток. При взаимодействии металлических деталей с водой в почве и воздухе. А так же, под действием электричества, металл подвержен коррозии и датчик может быстро выйти из строя. Кроме того, при разложении металлические части попадают в почву и могут отравить ее и убить растения рядом.

Чтобы избежать таких проблем, лучше использовать Емкостный датчик влажности почвы. Обзор на него мы сделаем в ближайшее время.

Заключение

В этом обзоре мы рассмотрели датчик влажности почвы. Подключили его к Ардуино и собрали простую сигнальную схему измерения состояния земли для растения.

Где купить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *