Датчик температуры и влажности воздуха DHT22 : описание и подключение к Arduino
Всем доброго дня, любители Ардуино и не только. В данной статье речь пойдет о простеньком недорогом датчике DHT22. Использовать его можно в системах умного дома (климат-контроль), умных теплицах, метеостанциях и много где еще. Применение данного датчика является очень обширным и разнообразным.
Также особенно широко в своих проектах его могут применять начинающие инженеры и радиолюбители, поскольку существует возможность его коммутации с платой Arduino. Модуль прост в подключении и не требует наличия огромного багажа знаний в программировании. Об этом мы сейчас и поговорим, но сперва разберем устройство датчика и его принцип работы.
Как и большинство датчиков семейства DHT, наш герой имеет две основные составляющие: это емкостный датчик влажности и термистор. Еще есть 8-битный чип для преобразования аналогового сигнала в цифровой на выходе. Принцип работы очень прост. Термистор представляет собой полупроводниковый элемент, у которого сопротивление зависит от температуры внешней среды.
Причем изготовлен он из довольно чувствительного материала. Поэтому любое изменение температуры позволит нам вычислить сопротивление и, следовательно, температуру в комнате, доме или любом другом месте в данный момент времени. Емкостный датчик влажности представляет собой конденсатор, у которого между обкладками находится воздух. У воздуха диэлектрическая проницаемость связана с влажностью воздуха. Поэтому вследствие изменения влажности воздуха в окружающей среде меняется и емкость конденсатора, что позволяет нам измерять еще одну величину.
Пройдемся далее по характеристикам датчика. По цене и сложности работы с ним, DHT22 является отличным решением для хобби-самоделок. Он способен определять температуру от -40°C до +125°C, а влажность от 0 до 100%. Погрешность конечно же никто не отменял, но, как ни крути, она обязательно будет здесь не такой уж и маленькой. Но в небольших и недорогих проектах, использование DHT22 будет очень даже кстати. Частота опроса у нашего датчика в два 1 раз в две секунды (0,5 Гц)
Подключается датчик к плате Arduino по 4-м контактам.
Таким образом, два пина отвечают за питание (5 вольт и заземление), а третий – цифровой контакт подключается к любому из свободных пинов на панели Digital.
Теперь попробуем написать код в среде разработки Arduino IDE. Для этого сначала подключим специальную библиотеку под датчики семейства DHT – DHT.h
Теперь перейдем к самому коду. Сначала мы объявляем библиотеку для датчиков DHT, указываем пин, к которому подключили модуль, а затем выбираем название. Далее в функции Void Setup задаем скорость передачи данных через последовательный порт и включаем датчик. Далее по очереди считываем влажность и температуру воздуха, проверяем на наличие ошибок при считывании данных и выводим показатели на экран (в нашем случае – монитор порта).
Программный код представлен ниже:
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;
}
float hic = dht.computeHeatIndex(t, h, false);// Расчет типла по целсию
Serial.print(“Влажность: “); // Выводим текст
Serial.print(h); // Отображаем влажность
Serial.print(” %\t”); // Выводим текст
Serial.print(“Температура: “); // Выводим текст
Serial.print(t); // Отображаем температуру
Serial.println(” *C “); // Выводим текст
}
Как только вы загрузили код, то в мониторе порта (находится в разделе “Инструменты” в программе Arduino IDE) будут появляться с постоянной частотой действующие значения температуры и влажности воздуха. Все получилось!
Теперь вы можете самостоятельно собирать интересные и крутые проекты, даже не выходя из дома, с использованием этого модуля. На этом статья подходит к концу. Спасибо, что были с нами. Желаем вам удачи и успехов в изучении Arduino!