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

Содержание

Ардуино датчик влажности и температуры DHT11 является одним из самых популярных для проектов мониторинга погоды.

О датчике

DHT11 – датчик влажности и температуры, который генерирует откалиброванный цифровой выход и может быть интерфейсом для любого микроконтроллера, такого как Arduino и Raspberry Pi, и получать мгновенные результаты.

DHT11 – это недорогой прибор, который обеспечивает высокую надежность и долговременную стабильность.

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

Виды датчиков

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

Рассмотрим основные виды приборов, построенных на рассматриваемой платформе:

  1. Вращательный: в основном, резистор, подключенный к потенциометру и трехконтактному разъему, который позволяет подключать аналоговый выход и подавать его VCC и GND. Часто используется для определения положения двигателя, как сервомотора, так и шагового, постоянного тока и других. По-другому можно назвать – Ардуино датчик тока или Аrduino датчик движения.
  2. Звуковой: оснащен микрофоном, операционным усилителем LM386 и потенциометром, позволяющим захватывать любой звук вокруг него и превращать его в аналоговый сигнал с 0V до VCC, который может быть преобразован в сигнал Аrduino от 0 до 1024 в резолюции ADC. Существуют различные приложения для такого типа, которые относятся к аудиозахвату. Также существует ультразвуковой датчик Ардуино.
  3. Обнаружитель дыма: используется в системах обнаружения пожара, является прибором, который выявляет дым и газ, может быть откалиброван с помощью потенциометра, а выходной сигнал подключается к аналоговому входному модулю. Эти Ардуино-датчики имеют, помимо прочего, варианты MQ-2, MQ-3, MQ4 и дифференцируются по типу обнаруженного вещества, метана, спирта, пропана и другие.
  4. Детонация: предназначен для обнаружения сбоев или известен, как перкуссионный. Передает цифровой сигнал, когда обнаруживает изменение. Может быть подключен к цифровому входу на плате разработки Arduino и обнаруживать сигнал, который генерируется при наличии какого-либо удара.
  5. Ардуино-датчик температуры: предназначается для измерения состояния окружающей среды. К таким можно отнести Аrduino dsl8b20.

Распиновка и принципиальная схема подключения

Распиновка у датчиков данного типа довольно простая. Независимо от того сколько выводов у вашего сенсора — рабочих выводов всего 3:

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

Устройство датчиков и схема подключения к Ардуино

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

DHT11 состоит из 3 основных компонентов. Датчик влажности резистивного типа, термистор NTC и 8-разрядный микроконтроллер, который преобразует аналоговые сигналы и отправляет одиночный цифровой сигнал.

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

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

Этот цифровой сигнал может быть прочитан любым микроконтроллером или микропроцессором для дальнейшего анализа.

DHT11 состоит из 4 контактов: VCC, Data Out, Not Connected (NC) и GND. Диапазон напряжения для вывода VCC составляет от 3,5 до 5,5 В. Питание 5 В будет достаточно. Данные на выводе Data Out являются последовательными цифровыми данными.

DHT11 может измерять значение влажности в диапазоне 20-90 % относительной влажности (RH) и температуру в диапазоне 0-50 0 С. Период выборки составляет 1 секунду.

Все DHT11 точно калибруются в лаборатории, а результаты хранятся в памяти. Между любыми микроконтроллерами, такими как Arduino и DHT11 Sensor, может быть установлена ​​однопроводная связь.

Кроме того, длина кабеля может достигать 20 метров. Данные состоят из целочисленных и десятичных частей, как для относительной влажности (RH), так и для температуры.

Данные от DHT11 и Ардуино датчиков движения состоят из 40 бит, и формат выглядит следующим образом:

8 бит данных для интегрального значения RH, 8 бит данных для десятичного значения RH, 8 бит данных для интегральных значений, 8 бит данных для интегрального значения температуры и 8 бит данных для контрольной суммы.

Скетч для работы с датчиком

Давайте посмотрим теперь на код благодаря которому сенсор будет взаимодействовать с нашей платой (схема подключения выше):

Код получился таким небольшим, т.к. мы в самом начале задействовали библиотеку для сенсора. Скачать библиотеку можно по ссылке или на этой странице в разделе "Библиотеки".

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

Проверьте DHTlib на поддержку этих датчиков. Эта библиотека протестирована на MEGA2560 и подтверждена работой на Arduino 2009. Niesteszeck создал библиотеку DHT11, управляемую прерываниями. Энди Дальтон сделал модифицированную версию. Разница в том, что DATAPIN определен в конструкторе, в результате чего полагается один выделенный объект на приспособление.

С помощью одножильного приспособления DS18B20 мы можем измерять температуру от -55 ℃ до 125 ℃ с точностью ± 5.

В итоге мы должны на выходе увидеть вот такие данные:

Получение данных

Рассмотрим данные, полученные от DHT11.

00100101 00000000 00011001 00000000 00111110.

Эти данные можно разделить на основе указанной выше структуры следующим образом:

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

00100101 + 00000000 + 00011001 + 00000000 = 00111110

Это значение совпадает с контрольной суммой и, следовательно, полученные данные действительны. Теперь, чтобы получить значения RH и температуры, просто преобразуйте двоичные данные в десятичные данные:

  • RH = Десятичное значение 00100101 = 37%
  • Температура = Десятичное значение 00011001 = 25 0 C

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

Дополнительные сенсоры

Кроме сенсоров, которые мы рассмотрели выше можно присмотреться и к другим датчикам для Ардуино:

  1. Датчик температуры + влажности. Вы можете использовать этот совместимый с Arduino гаджет для контроля температуры окружающей среды или влажности. В качестве основного проекта вы можете подключить ЖК-дисплей к Arduino и отображать температуру в помещении/влажность.
  2. Датчик инфракрасного излучения, также называемый «инфракрасным излучающим диодом». Он работает с 38KHz модулирующим сигналом. Можно использовать для отправки кода в другой Arduino или для управления телевизором.
  3. Фоторезистор. Сопротивление компонента будет варьироваться в зависимости от интенсивности света, которому он подвергается. Является резистором, сопротивление которого падает, когда свет попадает на него.
  4. Ультразвуковой прибор расстояния автоматически отправляет аудиосигнал 40 кГц и определяет, есть ли импульсный сигнал назад. Он посылает сигнал, и если он получает обратно, то вычисляет пройденное расстояние, таким образом, расстояние от приспособления до объекта перед ним. Он может ощущать объект в диапазоне: 2 см

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


Источник: arduinoplus.ru