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

DHT11

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

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

Что такое DHT11?

El DHT11 - простой датчик, измеряющий температуру и влажность., все в одном. А) Да вам не придется покупать два датчика в отдельности. Его цена составляет около 2 евро, поэтому он довольно дешевый, хотя вы также можете найти его установленным на модуле (установленном на печатной плате для простоты использования), как это обычно бывает в электронных компонентах этого типа для Arduino. В случае с платой он включает в себя подтягивающий резистор 5 кОм и светодиод, который предупреждает нас о работе.

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

Аналогичные продукты

DHT22

Есть продукт, похожий на DHT11, который может вас заинтересовать. это DHT22. Это тоже встроенный датчик температуры и влажности, но в данном случае его цена немного выше, около 4 евро. Точность измерения температуры составляет 5%, как и DHT11, но, в отличие от него, он измеряет влажность за пределами диапазона от 20 до 80%. Поэтому DHT22 может быть интересен для проектов, где необходимо измерять влажность от 0 до 100%.

La частота сбора данных это также вдвое больше, чем у DHT11, в DHT22 2 образца берутся в секунду вместо 1 образца в секунду у DHT11. Что касается температуры, то он может измерять от -40ºC до + 125ºC с большей точностью, так как он может измерять доли градусов, в частности, он может определять отклонения от плюс / минус 0,5ºC.

Распиновка, особенности и техническое описание

Распиновка DHT11

Вы можете найти довольно много технической информации о DHT11 в ваших таблицах данных. Каждый производитель этого устройства может предоставить некоторые значения, которые могут отличаться, поэтому я всегда рекомендую прочитать PDF-файл конкретного производителя приобретенного вами устройства. Хотя большинство значений может показаться вам одинаковым, между ними могут быть небольшие различия. Его важнейшие технические характеристики:

  • Источник питания от 3,5 до 5 в
  • Потребление тока 2,5 мА
  • Цифровой выходной сигнал
  • Диапазон температур от 0ºC до 50ºC
  • Точность измерения температуры при 25ºC с отклонением около 2ºC
  • Разрешение для измерения температуры 8 бит, 1 ° C.
  • Влажность может измеряться от 20% до 90%.
  • Точно влажность 5% RH для температур 0-50ºC
  • Разрешение составляет 1% относительной влажности, отклонения ниже этого значения не обнаруживаются.
  • Лист данных Mouser

Что касается данных, вещание в цифровом формате. Следовательно, нет необходимости переходить от аналогового к цифровому, как в других датчиках. Это усложнило код для написания в Arduino IDE, но в этом случае он не нужен, и это намного проще. Хотя сам датчик является аналоговым, но он включает в себя систему для выполнения преобразования и может быть подключен непосредственно к цифровому входу Arduino.

Аналоговый сигнал, представляющий собой изменение напряжения, от датчика передается в цифровой формат для отправки на микроконтроллер Arduino. Он передается в 40-битный фрейм которые соответствуют информации о влажности и температуре, полученной DHT11. Первые две 8-битные группы предназначены для влажности, то есть 16 старших битов этого кадра. Затем остальные 2 оставшиеся 8-битные группы для температуры. То есть в нем два байта для влажности и два байта для температуры. Например:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

В этом случае 0011 0101 0000 0010 - это значение влажности, а 0001 1000 0000 0000 - температура. Первая часть предназначена для целой части, а вторая - для десятичных. Что касается 0011 1001, то есть последние 8 бит - это четность чтобы избежать ошибок. Таким образом вы можете проверить правильность передачи во время передачи. Он соответствует сумме предыдущих битов, поэтому, если сумма равна четности, она будет правильной. В примере, который я привел, этого не было бы, потому что, как вы можете видеть, это не соответствует ... Это указывает на сбой.

Как только это станет известно, следующее, что следует отметить на техническом уровне DHT11, - это контакты. В контакты или распиновка этого устройства просто, так как их всего 4 штуки. Один из контактов предназначен для питания или Vcc, другой для ввода / вывода для передачи данных, контакт NC, который не подключается, и GND для заземления.

Интеграция с Arduino

Подключение DHT11 к Arduino

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

С другой стороны, вывод питания должен быть подключен к подключение 5 В от Arduino, Таким образом, датчик будет полностью запитан через GND и Vcc, но теперь данные отсутствуют. Чтобы передать данные с датчика DHT11 на плату Arduino, вы можете использовать любой из цифровых входов, например цифру 7, которая отображается на изображении ... Теперь у вас есть все, готовое к использованию после того, как вы создали необходимую Arduino IDE. код ...

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

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

Код в Arduino IDE

Переходя прямо к коду, скажем, что в Arduino IDE вы можете использовать ряд существующих библиотек с функциями, которые сделают вашу жизнь проще с DHT11. Например, один из них тот, который предоставляет Adafruit. Помните, что у нас есть руководство для новичков, которое начинается с Arduino в формате PDF, которое вы можете скачать бесплатно отсюда и это может вам помочь.

После того, как у вас установлена ​​соответствующая библиотека, вы можете оставить комментарий к введите код для управления датчиком температуры и влажности DHT11 для вашего проекта с помощью Arduino. Например:

#include "DHT.h"

const int DHTPin = 7;     
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println("Midiendo...");
 
   dht.begin();
}
 
void loop() {
   delay(2000);
 
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println("Fallo en la lectura del sensor DHT11");
      return;
   }
 
 
   Serial.print("Humedad relativa: ");
   Serial.print(h);
   Serial.print(" %\t");
   Serial.print("Temperatura: ");
   Serial.print(t);
   Serial.print(" ºC ");
}


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

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

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.