Датчик температуры и влажности DHT-22
Описание
Датчик температуры и влажности DHT-22 - это цифровой датчик температуры и влажности. Он использует полимерный ёмкостный датчик влажности и датчик DS18B20 для измерения окружающего воздуха, и выдает цифровой сигнал на пин данных. Он достаточно прост в использовании, но имеет минус при получении данных: недостатком этого датчика является время получения данных - не чаще чем один раз в две секунды.
Характеристики
- Измерение температуры и относительной влажности
- Низкое энергопотребление
- Измерение температуры в диапазоне -40°C - 125°C (погрешность ±0,5°C)
- Измерение влажности в диапазоне 0% - 100% (погрешность ±2-5%)
- Шаг измерения температуры 0,1°С
- Шаг измерения влажности 0,1%
- Напряжение питания 3 - 5,5В
- Максимальный потребляемый ток 3 мА (в режиме ожидания 0,15 мА)
- Потребляемый ток в режиме ожидания: 150нА
Физические размеры
- Размеры датчика ДхШхВ: 15,5 х 12 х 5,5 мм
- Размеры модуля датчика ДхШхВ: 28 х 12 х 5,5 мм
Плюсы использования
- Сочетает в себе два датчика: датчик температуры и датчик влажности
- Довольно высокая точность при измерении температуры и влажности
- Просты в использовании
- Просты в подключении
Минусы использования
- Стоимость в сравнении с аналогами
- Долгое время отклика: раз в две секунды
Библиотека для работы с датчиком
Примеры подключения и использования
Пример 1: Подключение датчика DHT-22
Подключение датчика и вывод температуры и влажности на экран сериал-порта (на примере контроллера Smart UNO). Для этого нам понадобится:
Что нужно: | Кол-во, шт |
---|---|
Контроллер | 1 |
Датчик температуры и влажности DHT-22 | 1 |
Резистор 10 КОм | 1 |
Провода папа-папа | 5 |
Пример кода:
//Подключение библиотеки для работы с датчиком
#include <DHT.h>
//определение постоянных значений
#define DHTPIN 8 //пин получения данных с датчика
#define DHTTYPE DHT22 //Значение типа датчика
DHT dhtSensor(DHTPIN, DHTTYPE); //инициализация датчика
void setup() {
dhtSensor.begin(); //запуск датчика
Serial.begin(9600); //запуск Serial соединения
}
void loop() {
delay(2000); //время чтобы датчик прогрузился
float h = dhtSensor.readHumidity(); //получение данных по влажности
float t = dhtSensor.readTemperature(); //получние данных по температуре
if(isnan(h) || isnan(t)) return; //возврат если данные по температуре или влажности некорректно считались
//Вывод значений
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" humidity: ");
Serial.println(h);
}
Пример 2: Подключение модуля датчика DHT-22
Подключение модуля датчика и вывод температуры и влажности на экран сериал-порта (на примере контроллера Smart UNO). Для этого нам понадобится:
Что нужно: | Кол-во, шт |
---|---|
Контроллер | 1 |
Модуль датчика температуры и влажности DHT-22 | 1 |
Провода папа-мама | 3 |
Подключение:
Пример кода:
//Подключение библиотеки для работы с датчиком
#include <DHT.h>
//определение постоянных значений
#define DHTPIN 8 //пин получения данных с датчика
#define DHTTYPE DHT22 //Значение типа датчика
DHT dhtSensor(DHTPIN, DHTTYPE); //инициализация датчика
void setup() {
dhtSensor.begin(); //запуск датчика
Serial.begin(9600); //запуск Serial соединения
}
void loop() {
delay(2000); //время чтобы датчик прогрузился
float h = dhtSensor.readHumidity(); //получение данных по влажности
float t = dhtSensor.readTemperature(); //получние данных по температуре
if(isnan(h) || isnan(t)) return; //возврат если данные по температуре или влажности некорректно считались
//Вывод значений
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" humidity: ");
Serial.println(h);
}