Содержание



Датчик температуры и влажности DHT-11

Описание

Датчик температуры и влажности DHT-11 - это недорогой цифровой датчик температуры и влажности. Он использует ёмкостный датчик влажности и термистор для измерения окружающего воздуха, и выдает цифровой сигнал на пин данных. Он достаточно прост в использовании, но имеет минус при получении данных: недостатком этого датчика является время получения данных - не чаще чем один раз в две секунды.

Характеристики

Физические размеры

Плюсы использования

Минусы использования

Библиотека для работы с датчиком

Примеры подключения и использования

Пример 1: Подключение датчика DHT-11

Подключение датчика и вывод температуры и влажности на экран сериал-порта (на примере контроллера Smart UNO). Для этого нам понадобится:

Подключение:

Пример кода:

//Подключение библиотеки для работы с датчиком
#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). Для этого нам понадобится:

Подключение:

Пример кода:

//Подключение библиотеки для работы с датчиком
#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);

}