Самодельный датчик температуры и влажности DHT11 и DHT22 – подключение к Arduino

Самодельный датчик температуры и влажности DHT11 и DHT22 - подключение к Arduino

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

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

Какие компоненты необходимые для  изготовления модели?

Чтобы собрать конструкцию, которая представлена в данной статье, необходимы такие детали:

  • плата Arduino;
  • сенсоры температуры DHT11 и влажности DHT22, которые можно приобрести на aliexpress;
  • Breadboard;
  • Резистор;
  • Arduino IDE (скачать ее можно перейдя по ссылке).
Самодельный датчик температуры и влажности DHT11 и DHT22 - подключение к Arduino
датчик температуры и влажности DHT11 и DHT22
Отличия между DHT11 и DHT22

 

Эти два сенсора аналогичны. Несмотря на то, что они имеют одинаковую распиновку,  их показатели существенно отличаются.

 

Особенности DHT11:

 

  • измерение показателей влажности в диапазоне от 20 до 80 %;
  • измерение температуры в диапазоне от 0°С до +50°С;
  • частота измерений составляет 1 раз в секунду.

 

Особенности DHT22:
  • измерение показателей влажности в диапазоне от 0 до 100 %;
  • измерение температуры в диапазоне от -40°С до +125°С;
  • частота измерения составляет 1 раз в 2 секунды.

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

Как подключить  Arduino

Так как оба сенсора имеют стандартные выводы: питание, вывод данных и GND. Еще один вывод не употребляется. Их можно легко соединить с breadboard. Между питанием и выводом данных необходимо разместить резистор. Датчики сенсоров могут продаваться в виде готового устройства. При таком условии, выводы присоединяются без резистора, так как он уже установлен в плате.

Схема подключения сенсора с резистором выглядит так:

Самодельный датчик температуры и влажности DHT11 и DHT22 - подключение к Arduino
Схема подключения
Скетч для программы Arduino

Для начала следует загрузить библиотеку DHT h, которая разработана для DHT. После скачивания папки библиотеки, ее необходимо скопировать в libraries. Готовая программа, работающая с DHT22 представлена ниже:

#include "DHT.h"
#define DHTPIN 2 // номер пина, к которому подсоединен датчик
// Раскомментируйте в соответствии с используемым датчиком
// Инициируем датчик
DHT dht(DHTPIN, DHT22);
//DHT dht(DHTPIN, DHT11);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
// Задержка 2 секунды между измерениями
delay(2000);
//Считываем влажность
float h = dht.readHumidity();
// Считываем температуру
float t = dht.readTemperature();
// Проверка удачно прошло ли считывание.
if (isnan(h) || isnan(t)) {
Serial.println("Не удается считать показания");
return;
}
Serial.print("Влажность: "+h+" %\t"+"Температура: "+t+" *C ");
}

Если будет использоваться сенсор DHT11, то нужно закомментировать строку:

DHT dht(DHTPIN, DHT22);

А также раскоментировать:

//DHT dht(DHTPIN, DHT11);


Далее, следует загрузить скетч в контролер и проверить правильность выполненной процедуры. Для этого следует зайти в пункт «Монитор порта»:

Самодельный датчик температуры и влажности DHT11 и DHT22 - подключение к Arduino
Монитор порта

После этого на экране появятся показания температуры и влажности. Чтобы изменить значение, например влажности, нужно выдохнуть на датчик воздух.

Прикрепленные файлы: Программный код и библиотека DHTh

 

Автор: Константин Иванович. Москва.

 


 


Понравилась статья? Поделиться с друзьями:
Добавить комментарий

7 + 3 =