Датчики температуры и влажности чрезвычайно полезны при построении систем контроля климата. В данном случае мы просто подключим данный датчик к плате Arduino UNO, и понаблюдаем за значениями.

Вместо DHT-22 можно взять DHT-11, но у используемого в данном случае датчика шире диапазон измерения температуры (от -40°C до +80°C) и влажности (от 0 до 100%). Также он имеет цифровой выход (Single-bus), что увеличивает точность считывания.

 

Распиновка датчика DHT22:

 Распиновка датчика DHT22

 

Схема подключения датчика DHT22 и вентилятора к Arduino:

Схема подключения датчика DHT22 и вентилятора к Arduino

 

Скетч

Для работы скетча понадобится установить библиотеку DHT, распаковать в папку library.

#include "DHT.h"

#define DHTPIN 2     // вывод, к которому подключается датчик
#define DHTTYPE DHT22   // DHT 22  (AM2302)

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  delay(250);

  // считывание температуры или влажности занимает примерно 250 мс!
  // считанные показания могут отличаться от актуальных примерно на 2 секунды (это очень медленный датчик)
  float h = dht.readHumidity();
  // Считывание температуры в цельсиях
  float t = dht.readTemperature();

  // проверяем, были ли ошибки при считывании и, если были, начинаем заново
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  //выводим информацию в Монитор последовательного порта
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.println(" *C ");
}

 

Результат работы DHT-22 в мониторе порта

dht22 mon

Добавить комментарий


Защитный код
Обновить