Датчик температуры и влажности DHT-11
Описание
Датчик температуры и влажности DHT-11 - это недорогой цифровой датчик температуры и влажности. Он использует ёмкостный датчик влажности и термистор для измерения окружающего воздуха, и выдает цифровой сигнал на пин данных. Он достаточно прост в использовании, но имеет минус при получении данных: недостатком этого датчика является время получения данных - не чаще чем один раз в две секунды.
Характеристики
- Измерение температуры и относительной влажности
- Низкое энергопотребление
- Измерение температуры в диапазоне 0°C - 50°C (погрешность ±2°C)
- Измерение влажности в диапазоне 20% - 90% (погрешность ±5%)
- Шаг измерения температуры 1°С
- Напряжение питания 3 - 5,5В
- Максимальный потребляемый ток 2,5 мА (в режиме ожидания 0,15 мА)
- Потребляемый ток в режиме ожидания: 150нА
Физические размеры
- Размеры датчика ДхШхВ: 15,5 х 12 х 5,5 мм
- Размеры модуля датчика ДхШхВ: 28 х 12 х 5,5 мм
Плюсы использования
- Сочетает в себе два датчика: датчик температуры и датчик влажности
- Недорогое решение для получения температуры и влажности
- Просты в использовании
- Просты в подключении
Минусы использования
- Большая погрешность измерений
- Не измеряют температуру ниже 0°C
- Долгое время отклика: раз в две секунды
Библиотека для работы с датчиком
Примеры подключения и использования
Пример 1: Подключение датчика DHT-11
Подключение датчика и вывод температуры и влажности на экран сериал-порта (на примере контроллера Smart UNO). Для этого нам понадобится:
Что нужно: | Кол-во, шт |
---|---|
Контроллер Smart UNO | 1 |
Датчик температуры и влажности DHT-11 | 1 |
Резистор 10 КОм | 1 |
Провода папа-папа | 5 |
Пример кода:
//Подключение библиотеки для работы с датчиком #include <DHT.h> //определение постоянных значений #define DHTPIN 8 //пин получения данных с датчика #define DHTTYPE DHT11 //Значение типа датчика 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-11
Подключение модуля датчика и вывод температуры и влажности на экран сериал-порта (на примере контроллера Smart UNO). Для этого нам понадобится:
Что нужно | Кол-во, шт |
---|---|
Контроллер Smart UNO | 1 |
Модуль датчика температуры и влажности DHT-11 | 1 |
Провода папа-мама | 3 |
Подключение:
Пример кода:
//Подключение библиотеки для работы с датчиком #include <DHT.h> //определение постоянных значений #define DHTPIN 8 //пин получения данных с датчика #define DHTTYPE DHT11 //Значение типа датчика 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); }