Меню
Блог Гридина Семёна

Робототехника и автоматизация — это наука о будущем

Рубрики блога

Как подключить датчик температуры и влажности DHT11 к Arduino UNO?

Как подключить датчик температуры и влажности DHT11 к Arduino UNO?

Самые частые измеряемые параметры в промышленности и быту — это температура и влажность. Эти значения очень важны в сушке древесины, выпечке кондитерских изделий, в холодильных камерах. В быту измеряют в теплицах и в контурах отопления и горячего водоснабжения. Датчик DHT11 Ардуино прекрасно справляется со своими задачами и определяет более-менее точно температуру и влажность.

Из этой статьи вы узнаете:

Датчик DHT11
Подключение датчика DHT11
Описание кода программы

Приветствую Вас! За клавиатурой Гридин Семён и в этом посте я покажу вам, как подключается датчик температуры и влажности DHT11, продемонстрирую работу кода и библиотеки.

Датчик DHT11

DHT11 — это маленький сенсор в небольшом пластиковом корпусе. На выходе сенсора находится цифровой сигнал, причем сразу два параметра и температура и влажность. Смысл общения с контроллером Ардуино заключается в следующем:

  1. Микроконтроллер запрашивает показания и меняет сигнал с 0 на 1.
  2. Датчик видит запрос, и отвечает ему, меняя битовый сигнал с 0 на 1.
  3. Когда они договорились между собой, датчик выдаёт ему пакет данных в размере 5 байт(40 бит), при чем в двух первых байтах температура, в третьем и четвертом влажность. Пятый байт — контрольная сумма для исключения ошибок измерения.

Датчик температуры

Характеристики сенсора температуры и влажности DHT11

  • Определение влажности в диапазоне 20-80%
  • Определение температуры от 0°C до +50°C
  • Частота опроса 1 раз в секунду

Недостаток сенсора в том, что он не обладает высокой точностью и быстродействием. Большой плюс — это цена. Ну, я думаю, вы и без меня это знаете)).

В составе сенсора находится ёмкостной датчик для измерения влажности и термистор для измерения температуры. Все показания снимает чип АЦП и выдает цифровой сигнал.

Промышленные датчики обычно выдают аналоговый сигнал на 4-20 мА или 0-10 В. Это такие сенсоры которые измеряют два параметра в паре. Например продукция компании ОВЕН ПВТ10:

ПВТ10

Напишите в комментариях, какие вы применяете в своих проектах? Очень интересно ваше мнение...

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

  • определение влажности в диапазоне 0-100%
  • определение температуры от -40°C до +125°C
  • частота опроса 1 раз в 2 секунды

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

Датчики зачастую изготавливают в виде готовых шильдов. На выходе он имеет 3 пина:

  • Питание 5 В
  • Сигнал (S)
  • Земля GND

Сопротивление в 10 кОм ставить не нужно, так как оно уже впаяно в плату. Схема подключений датчика и Ардуино UNO.

Соединение Датчика температура

Описание кода программы

Для работы Arduino UNO с нашим датчиком требуется подключение специальной библиотеки. Она называется DHT.h. Скачать можете вот по этой ссылке.

А теперь рассмотрим с вами скетч программы для работы с сенсором.

Загрузите скетч в контроллер и проверьте сенсор при помощи сервис — монитор.

Вот что у меня получилось:

Arduino_DHT

Мониторинг порта в Arduino IDE:

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

В программе можно включить один интересный инструмент для просмотра графики. Его можно включить так Инструменты — Плоттер по последовательному соединению. Не знаю, у меня он отображает только температуру. Если кто знает, как можно задействовать несколько графиков, поделитесь в комментариях. Вот такая картинка получилась:

Мониторинг по плоттеру

Если кому-то не совсем понятно, есть шикарный видеоурок от ребят.

На этом я заканчиваю свой пост. В следующей статье я напишу о корейском таймере AT8N. Пишите комментарии, задавайте вопросы, подписывайтесь!

Успехов вам!!!

С уважением, Гридин Семён.

Интересен блог? Подпишись и получай новости на почту

Подписка на новости блога

Вам так же может быть интересно

Комментариев к статье: 14
  • Спасибо за ценную информацию, жду ваших новых статей, Семен

  • Всегда пожалуйста, Наталья ;-)

  • Arduino: 1.8.5 (Mac OS X), Плата:"Arduino/Genuino Uno"

    In file included from /Users/snfamily/Documents/Arduino/libraries/DHT-sensor/DHT_U.cpp:22:0:

    /Users/snfamily/Documents/Arduino/libraries/DHT-sensor/DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1

    Ошибка компиляции для платы Arduino/Genuino Uno.

    Подскажите в чем проблема, что я делаю не так?

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

      • Спасибо, много чего перепробовал, но ничего не помогало. Скачал самую первую версию библиотеку dht 1.0.0 и все заработало. Спасибо

  • Всегда пожалуйста, рад был помочь. ;-)

  • Повторил на НАНО, прицепил экранчик, калибрую в библиотеке...работает. Спасибо

    • А что за экран ты прицепил??

  • Подскажите где скачать библиотеку, не могу найти нормальную, выдают ошибку:

    «No such file or directory»

    • Все корректные библиотеки на ГитХабе находятся.

      • Спасибо.

      • А нет, установил с гитхаба, но точно такая же проблема

        Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Плата:"Arduino/Genuino Uno"

        In file included from C:\Users\admin\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.cpp:22:0:

        C:\Users\admin\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

        #include

        ^

        compilation terminated.

        exit status 1

        Ошибка компиляции для платы Arduino/Genuino Uno.

    • Установи дополнительно библиотеку Adafruit_Sensor.h и будет тебе счастье ;-)

  • Я уже писал выше, надо пробовать библиотеку с разных источников, и пробовать по разному её устанавливать. Была у меня подобная проблема, я смог третью по счёту установить. ;-)

Оставить комментарий

  • ;-)
  • :smile:
  • :sad:
  • :roll:
  • :razz:
  • :oops:
  • :o
  • :lol:
  • :idea:
  • :grin:
  • :cry:
  • :cool:
  • :???: