Arduino урок 7 — датчик температуры и влажности DHT22

Датчики DHT (11, 22, 21)  предназначены для снятия показаний температуры и влажности. Конструктивно они достаточно просты- одна часть это емкостный датчик влажности, другая часть термистор.

Внутри установлен АЦП и на выходе предоставляет информацию в виде цифрового сигнала.

Для этого примера был использован датчик температуры и влажности DHT22 . У этого датчика более лучшие параметры чем у DHT11 (но немного отличаются от DHT21- он уличный)

  • определение влажности в диапазоне 0-100%
  • определение температуры от -40°C до +125°C
  • частота опроса 1 раз в 2 секунды

Датчики имеют 4 выхода

DHT22

  1. питание.
  2. вывод данных
  3. не используется.
  4. GND (земля).

При подключении такого датчика нужно использовать резистор на 10 Ком. Но есть датчики смонтированные на плате и резистор уже встроен.

Урок 7 - датчик температуры и влажности DHT22

 

Для урока нам понадобятся:

  • Arduino
  • Макетная плата
  • DHT22
  • Соед. провода
  • Резистор 10 к

Детали DTH22

Соединяем как на схеме

Arduino DHT

IMG_20151202_091706

Перед тем как загрузить скетч в Arduino, нужно скачать и у сохранить в паке /libraries библиотеку DHT.h. Скачать можно тут

#include "DHT.h"   // подключаем библиотеку
#define DHTPIN 2     // вывод, к которому подключается датчик
DHT dht(DHTPIN, DHT22); // определяем тип датчика: 22 или 11

void setup() {
  Serial.begin(9600);
  dht.begin();  // датчик передает данные
}

void loop() {

  delay(2000); // ждем пару секунд перед началом измерений

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

  // проверяем, были ли ошибки при считывании и, если были, начинаем заново
  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 ");
 }

В скетче подробно прокоментированны важные строчки. После того как все подключено и скетч отправлен, в мониторе порта можно наблюдать параметры температуры и влажности.

Безымянный

Share and Enjoy:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • LiveJournal
  • MySpace
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Technorati
  • Twitter
  • del.icio.us
  • Digg
  • БобрДобр
  • MisterWong.RU
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *