Arduino:Примеры/Гайд по использованию датчика влажности YL-69 или HL-69 с Arduino

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Гайд по использованию датчика влажности YL-69 или HL-69 с Arduino[1]

Датчик влажности почвы (или гигрометр) используется, как правило, для определения влажности почвы. Он пригодится для проектирования автоматической системы полива или отслеживания влаги в почве, где растут ваши растения.

Датчик влажности почвы состоит из двух частей: электронной платы (на картинке ниже расположена справа) и измерительной части с двумя пластинами, которая определяет наличие воды (на картинке расположена слева).

Чувствительность датчика влажности почвы настраивается встроенным потенциометром. Кроме того, датчик оснащен двумя светодиодами: первый загорается, когда на плату подается питание, а второй – при выводе цифровых данных. Подробнее смотрите на рисунке ниже.

Как это работает

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

  • Если почва влажна – выходное напряжение уменьшается
  • Если почва суха – выходное напряжение увеличивается

На выходе будет цифровой сигнал (D0) – LOW или HIGH, в зависимости от содержания воды в почве. То есть, если влажность почвы превысит определенное пороговое значение, модуль вернет значение LOW, а если нет – HIGH. Пороговое значение для цифрового сигнала настраивается при помощи потенциометра.

На выходе может быть и аналоговый сигнал, что позволяет измерять влажность значениями в диапазоне от «0» до «1023».

Скетч: Использование датчика влажности почвы с Arduino

Это скетч-пример, демонстрирующий, как использовать датчик влажности почвы в проектах с Arduino.

В этом скетче мы, используя Arduino, прочтем с датчика аналоговые данные, а затем покажем эти данные в мониторе порта IDE Arduino.

Необходимые компоненты

Для этого проекта нам понадобятся следующие компоненты:

  • Один датчик влажности YL-69 (см. на eBay)
  • Одна плата Arduino (см. на eBay)
  • Одна макетная плата
  • Два резистора на 220 Ом
  • Один красный светодиод
  • Один зеленый светодиод
  • Провода-перемычки

Подключение контактов

В подключении датчика и Arduino друг к другу нет ничего сложного:

  • Контакт A0 на датчике – к аналоговому контакту на Arduino
  • Контакт D0 – к цифровому контакту
  • Контакт GND – к контакту GND
  • Контакт VCC – к контакту 5V

Схема

Ниже – схематическое изображение проекта:

Код

Загрузите скетч, показанный ниже, в плату Arduino.

/*
 
 Более подробно о проекте на:
 http://randomnerdtutorials.com/
 
*/

int rainPin = A0;
int greenLED = 6;
int redLED = 7;
// пороговое значение указывается тут:
int thresholdValue = 800;

void setup(){
  pinMode(rainPin, INPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(redLED, OUTPUT);
  digitalWrite(greenLED, LOW);
  digitalWrite(redLED, LOW);
  Serial.begin(9600);
}

void loop() {
  // считываем входные данные с аналогового контакта 0:
  int sensorValue = analogRead(rainPin);
  Serial.print(sensorValue);
  if(sensorValue < thresholdValue){
    Serial.println(" - Doesn't need watering");  
    // " – Полив не нужен"
    digitalWrite(redLED, LOW);
    digitalWrite(greenLED, HIGH);
  }
  else {
    Serial.println(" - Time to water your plant");
    // " – Пора поливать!"
    digitalWrite(redLED, HIGH);
    digitalWrite(greenLED, LOW);
  }
  delay(500);
}

Откройте монитор порта IDE Arduino, а потом опробуйте датчик на влажной и сухой почве. В мониторе порта должны появиться данные, соответствующие тому или иному состоянию почвы.

Если аналоговое значение превысит заданный порог, включится красный светодиод (это будет значить, что растения пора поливать), а если оно будет ниже порогового значения, должен включиться зеленый светодиод (это будет значить, что с влажностью почвы все в порядке).

См.также

Внешние ссылки