Подключаем датчик влажности к Arduino

By   06.09.2016

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

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

В наших примерах мы будем использовать оба датчика DHT11 и DHT22, а также печатную плату Arduino UNO, подключенную к ПК под управлением Windows 7. Технические характеристики DHT11 описаны ниже:

  • 3 к 5V питания для ввода / вывода;
  • Использование максимального тока 2.5mA во время преобразования (при запросе данных);
  • Снятие показаний влажности от 20 до 80 процентов с погрешностью до 5 процентов;
  • Определение температуры воздуха от 0°C до 50°C с погрешностью ± 2°C;
  • Частота дискретизации 1 Гц для показаний один раз в секунду;
  • Габаритные размеры 15.мм х 12 мм х 5,5 мм;
  • 4 контакта с шагом 0.1 дюйм.

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

  • 3 к 5V питания для ввода / вывода;
  • Использование максимального тока 2.5mA во время преобразования (при запросе данных);
  • Снятие показаний влажности от 0 до 100 процентов с погрешностью от 2 до 5 процентов;
  • Определение температуры воздуха от -40°C до 125°C с погрешностью ±0.5°C;
  • Частота дискретизации 0.5 Гц для снятия показаний один раз в 2 секунды;
  • Габаритные размеры 15.1 мм x 25 мм x 7.7 мм;
  • 4 контакта с шагом 0.1 дюйм.

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

Исходя из технических характеристик сенсоров DHT11 и DHT22, последний является лучшим выбором для снятия показателей температуры и влажности. Кроме датчиков влажности DHT11 и DHT22, мы рассмотрим датчик влажности почвы, который состоит из контактного щупа YL-69 и датчика YL-38. Характеристики датчика YL-38 описаны ниже:

  • Двойной режим вывода, аналоговый выход и цифровой;
  • Питание от 3.3В до 5В;
  • Выходной сигнал от 0 до 4.2В;
  • Значение тока 35мА;
  • Микросхема компаратора LM393;
  • Размер PCB панели датчика: 3 x 1.5 см;
  • Размер контактного щупа почвы: 6 x 2 см.

Подключаем датчики DHT11 и DHT22 к Arduino UNO

Перед тем как подключать рассматриваемые компоненты, нам нужно установить на наш ПК Arduino IDE. Загрузить IDE можно на официальном сайте разработчика плат Ардуино. На данный момент последней Arduino IDE является версия под номером 1.6.10. Процесс установки Arduino IDE очень прост и сводится к нажатиям кнопки «Next >» и «Install», поэтому с ним справится любой пользователь. После установки Arduino IDE на рабочем столе должен появиться ярлык с именем «Arduino».

Ярлык Arduino

Теперь рассмотрим схемы подключения рассматриваемых компонентов к Arduino UNO. Ниже изображена схема подключения датчика DHT22.

Схема подключения датчика DHT22

Для сенсора DHT11 схема подключения выглядит аналогично.

Схема подключения датчика DHT11

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

Теперь подключим нашу схему по USB-кабелю к компьютеру. Прежде чем отрывать Arduino IDE, мы скачаем библиотеку «DHT.h». Библиотеку можно загрузить по этой ссылке https://github.com/amperka/dht. После загрузки извлеките содержимое папок «lib/dht» в директорию, где хранятся все библиотеки «C:\Program Files\Arduino\libraries». После этого запустим Arduino IDE и наберем в скетче код, изображенный ниже.

Код для DHT22

Этот код написан для использования сенсора DHT22. Если вам нужно использовать датчик DHT11, то исправьте в третьей строке «DHT22» на «DHT11». Теперь загрузим наш код в Arduino UNO и откроем «Монитор порта».

Монитор порта DHT22

В мониторе видно значение влажности в процентном соотношении и показатели температуры.

Подключаем датчик влажности почвы к Arduino UNO

В этой главе мы опишем пример подключения датчика влажности почвы YL-38 к Arduino UNO. Первым делом нам нужно собрать схему, которая изображена ниже.

Схема подключения датчика YL-38

После этого запустим Arduino IDE и наберем в скетче код, который можно загрузить по этой ссылке https://github.com/TasmanianDevilYouTube/Arduino/blob/master/Moisture_Sensor/Moisture_Sensor.ino

Код для YL-38

После набора кода загрузим его в наш Arduino UNO. Теперь откроем «Монитор порта» и увидим сообщение «Sensor is not in the Soil or DISCONNECTED», которое означает, что сенсор не подключен к почве.

Не подключен к почве

Если мы подключим контактный щуп датчика к сухой почве, то мы увидим такое сообщение «Soil is DRY».

Подключен к сухой почве

Если контактный щуп сенсора будет находиться во влажной почве, то мы увидим сообщение «Soil is HUMID» в «Мониторе порта».

Подключен к влажной почве

Если контактный щуп сенсора будет находиться в воде, то мы увидим сообщение «Sensor in WATER» в «Мониторе порта».

Подключен к воде

Принцип работы этого скетча основан на условных операторах. Например, рассмотрим часть кода, когда в «Мониторе порта» выдается сообщение «Sensor is not in the Soil or DISCONNECTED»:

В этом коде, если значение переменной «SensorValue» меньше 1000, то с помощью команды «Serial.println» мы получаем заданное сообщение на «Монитор порта». На таком же принципе основан вывод остальных сообщений.

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

Датчики DHT11 и DHT22 редко используют для одиночного подключения к плате Arduino. Наиболее часто эти датчики можно встретить в составе погодных станций. Например, статью по сборке такой станции можно найти на официальном сайте https://create.arduino.cc/projecthub/GeekRex/10-portable-arduino-weather-station-aws-ccf41f. В этой статье пользователю объясняют, как собрать погодную станцию из таких компонентов:

  • Arduino Nano R3 — компактная плата Ардуино с микроконтроллером ATmega328;
  • DHT22 — датчик влажности и температуры воздуха;
  • BMP180 — датчик атмосферного давления;
  • Adafruit Standard LCD-16×2 White on Blue — дисплей для вывода информации с датчиков.

Сама погодная станция собрана по такой схеме.

Схема погодной станции

Принцип действия этой станции основан на снятии показаний с датчиков и их выводе на дисплей Adafruit Standard LCD-16×2 White on Blue.

Датчик влажности почвы также можно использовать в составе готовых автоматизированных систем, построенных на Ардуино. Например, на Github можно найти готовый проект под названием «irrigator». Этот проект позволяет создать на Arduino автополивщик растений.

Компоненты для автополивщика растений

Используя такую систему, можно создать универсальный автополивщик растений, который сэкономит время и деньги.

Подводим итог

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

Видео по теме

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

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