DHT11, DHT22 — датчик температуры и влажности

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

 

weather_dhtsensors

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

Подключаются они абсолютно одинаково, поэтому достаточно рассмотреть только один.

dht11

1 – 5в

2 – pin

4 – gnd

Третья нога остается неподключенной. Кроме того, между первой и второй ногой нужно поставить резистор 10 кОм.

dht11

Для получения данных с датчика нам понадобится библиотека.

Распакуйте библиотеку в папку libraries и перезапустите среду программирования Arduino.

Очень вероятно, что при перезапуске вы увидите ошибку «Библиотека «DHT-sensor-library-master» не может быть использована. Имена библиотек должны содержать только буквы и цифры. (только ASCII и без пробелов, не может начинаться с цифры)».

error_lib

Нужно всего лишь переименовать папку с библиотекой, например, оставим просто DHT.

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

В папке с библиотекой есть пример, по использованию датчика, откроем его.

dht_test

Если вы используете датчик DHT11 и без изменений загрузите этот скетч, то в мониторе порта вы увидите совсем неправдоподобные данные:

dht_test_wrong

Дело в том, что данная программа является универсальной для 3-х разных датчиков, но в самом начале нужно указать вашу модель (в нашем случае DHT11). Для этого нужно закомментировать строчку

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

Полный код программы:

Если вы сделали все правильно, то в мониторе порта увидите данные, близкие к истинным.

dht_test_right

Теперь вы умеете работать с датчиком температуры и влажности и сможете сделать собственную метеостанцию.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *