Сензори за температура и влажност DHT11 и DHT22 и Arduino

Статията обхваща основите на работа с евтини сензори за температура и влажност от серията DHT.

Тези сензори са прости и бавни, но чудесни за хоби проекти на Arduino. DHT сензорите се състоят от две основни части: капацитивен сензор за влажност и термистор. Също така в кутията има прост чип за преобразуване на аналогов сигнал в цифров. Четенето на цифров сигнал на изхода е доста просто, можете да използвате всеки контролер, не непременно Arduino.

Спецификации DHT11 и DHT22

Има две версии на DHT сензори. Изглеждат почти еднакви. Пинаутът също е същият. Основните разлики са в техническите характеристики:

  • Много евтино.
  • Захранване от 3 до 5V.
  • Максималната консумация на ток е 2,5 mA по време на преобразуване (при заявка на данни).
  • Изчислява се при измерване на ниво на влажност в диапазона от 20% до 80%. В този случай точността на измерване е от порядъка на 5%.
  • Измерва температура в диапазона от 0 до 50 градуса с точност плюс минус 2%.
  • Честотата на измерване е не повече от 1 Hz (едно измерване в секунда).
  • Размер на корпуса: 15.5mm x 12mm x 5.5mm.
  • 4 конектора. Разстоянието между съседни - 0,1 ".

  • Евтини.
  • Захранване от 3 до 5V.
  • Максималната консумация на ток е 2,5 mA по време на преобразуване (при заявка на данни).
  • Изчислява се при измерване на нивото на влажност в диапазона от 0% до 100%. В този случай точността на измерванията е в диапазона от 2% -5%.
  • Измерва температура в диапазона от -40 до 125 градуса с точност плюс минус 0,5 градуса по Целзий.
  • Честота на измерване до 0,5 Hz (едно измерване за 2 секунди).
  • Размер на корпуса: 15.1mm x 25mm x 7.7mm.
  • 4 конектора. Разстоянието между съседни - 0,1 ".

Както можете да видите, DHT22 е по-точен и има по-голям диапазон от измерени стойности. И двата сензора имат един цифров изход. Заявките към тях могат да се изпращат не повече от една в секунда или две.

dht22

Свързване на DHT сензори към Arduino

Връзки за поръчка на електрониката, използвана в примера по-долу, от Китай

Сензорите се свързват лесно. Тъй като те имат доста дълги 0,1" конектори, можете да ги инсталирате директно върху макет или печатна платка (вижте снимката по-долу).

температура

Свързването директно към Arduino също е лесно. На сензора има 4 конектора:

  • Захранване (VCC) - 3 до 5 V.
  • Извеждане на данни.
  • Не се свързва.
  • Земята.

Просто игнорирайте конектор 3, той няма да се свърже. Препоръчително е да свържете 10 kΩ издърпващ резистор между захранването и сигнала. Arduino има вградени резистори, но тяхната стойност от 100kOhm няма да ни свърши работа.

Фигурата по-долу показва диаграмата на свързване на DHT11 към Arduino. Свържете сигнала от сензора към щифт 2, така че веригата да съответства на примерната скица по-долу. Този щифт може да бъде променен със съответните редакции в кода.

dht22

Четене на данни от DHTxx сензори

Използваме Arduino, за да тестваме скицата. Можете да използвате всеки друг микроконтролер, който поддържа микросекундно време.

За да започнете, изтеглете библиотеката за работа с DHT сензори тук: Github. За да изтеглите, щракнете върху бутона ИЗТЕГЛЯНИ в горния десен ъгъл.

Преименувайте папката DHT и се уверете, че съдържа файла dht.cpp и други. След това преместете папката DHT в папката arduinosketchfolder/libraries/. Може да се наложи да създадете подпапка за библиотеки, ако интегрирате за първи пътбиблиотека. Рестартирайте Arduino IDE.

Сега изтеглете скицата: Примери->DHT->DHTtester. Програмата изглежда така:

dht22

//#define DHTTYPE DHT22 // DHT 22 (AM2302)

#define DHTTYPE DHT11 // DHT11

Тези настройки ви помагат да получите правилните стойности от вашия конкретен модел сензор. В прозореца на серийния монитор ще изглежда по следния начин:

сензори

Трябва да видите показанията за температура и влажност. Като дишате върху сензора, можете да проследите промените в показанията. В този случай нивото на влажност трябва да се увеличи.