Цифровой датчик температуры и влажности используется в системах контроля климата, метеостанциях и других систамах.
Внутри датчика DHT-11 находится резистивная составляющая, она состоит из двух электродов, которые нанесены на подложку (бифилярная намотка), сверху этих электродов нанесен слой материала с достаточно низким сопротивлением (часто используют оксид алюминия), оно меняет свое удельное сопротивление в зависимости (обратная пропорциональность) от влажности. Опрашивать датчик можно раз в 10 или раз в 30 секунд. На самом деле резистивные датчики не являются полностью резистивными поскольку имеет место ёмкостной эффект в диапазоне более 10-100 МОм. Кроме этого, внутри датчика присутствует вторая часть, которая измеряет температуру с отрицательным температурным коэффициентом (NTC). Эти две части соединены с высокопроизводительным 8-битным микроконтроллером. Каждый датчик DHT11 проходит калибровку, коэффициенты калибровки хранятся в виде программ в однократно программируемой энергонезависимой памяти самого датчика и используются во внутренних процессах обработки сигнала. Также датчик содержит в себе АЦП для преобразования аналоговых значений влажности и температуры.
Дачик возвращает данные в цифровом виде. Влажность рассчитывается как относительная влажность. Температуру можно вывести как в градусах Цельсия, так и в Фарингейтах.
Для удобства и простоты использования мы разместили всю схему с необходимой обвязкой на одной плате, к модулю необходимо подключить только питание и выводы контроллера при помощи четырехконтактного разъема.
Диапазон измерения влажности: 20% - 90%.
Точность: 5%.
Диапазон температуры: 0°С - 50°С
Точность: ±2%.
Подключение модуля осуществляется с помощью разъема XH-2.54-4P, выводы которого имеют следующие назначения:
VCC - питание
CH2 - подключается к цифровому контакту контроллера
CH1 - не задействован (NC)
GND - земля (общий)
Чтобы начать работу с датчиком его необходимо подключить к микроконтроллеру по схеме ниже. Для быстрого и надежного подключения используйте QuatroPort A050.
Далее необходимо скачать и установить библиотеку для работы с датчиком.
После этого нужно загрузить следующую программу в микроконтроллер.
#include "DHT.h" #define DHTPIN 2 // Тот самый номер пина, о котором упоминалось выше // Одна из следующих строк закомментирована. Снимите комментарий, если подключаете датчик DHT11 к arduino DHT dht(DHTPIN, DHT22); //Инициация датчика //DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); // 2 секунды задержки float h = dht.readHumidity(); //Измеряем влажность float t = dht.readTemperature(); //Измеряем температуру if (isnan(h) || isnan(t)) { // Проверка. Если не удается считать показания, выводится «Ошибка считывания», и программа завершает работу Serial.println("Ошибка считывания"); return; } Serial.print("Влажность: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Температура: "); Serial.print(t); Serial.println(" *C "); //Вывод показателей на экран }
Далее необходимо открыть монитор порта, туда будут выводиться данные о влажности и температуре. Если аккуратно подышать на датчик, то можно заметить, как увеличится значение влажности.