Урок 9 - Подключаем датчик температуры и влажности DHT11 к Arduino

.Урок 9 - Подключаем датчик температуры и влажности DHT11 к Arduino

Датчик температуры и влажности DHT11 очень распространен в Ардуино проектах. Например в умных домах. Даже не смотря на характеристики:

  • Потребляемый ток – 2,5 мА (максимальное значение при преобразовании данных);
  • Измеряет влажность в диапазоне от 20% до 80%. Погрешность может составлять до 5%;
  • Применяется при измерении температуры в интервале от 0 до 50 градусов (точность – 2%)
  • Питание – от 3 до 5 Вольт;
  • Одно измерение в единицу времени (секунду). То есть, частота составляет 1 Гц;

Как видим датчик DHT11 не очень точный. Но он достаточна дешевый. И для измерение в бытовых помещениях подходит.

датчик DHT11

Датчик может быть в виде модуля и у него всего 3 ноги для подключения. Как в моем случае.

Так и самостоятельный датчик. С 4 ногами. Схема подключения для него будет вот такая.

 датчик DHT11 С 4 ногами

Мы рассмотрим подключения модуля. Подключение отличается не очень сильно.

Схема подключения DHT11 к Arduino NANO

Схема подключения DHT11 к Arduino NANO

Схема подключения DHT11 к Arduino UNO

Схема подключения DHT11 к Arduino UNO

Программа для обоих вариантов будет одинаковая.

Для подключения датчика DHT11 к Arduino потребуется библиотека DHT. Скачать можно здесь.

Для подключения датчика DHT11 к Arduino потребуется библиотека DHT

Для работы нежно установить еще и Adafruit_Sensor.

После установки библиотек выбираем пример в Arduino IDE для этого преходим (Файл -> Примеры -> DHT sensor -> DHTtester).

Или копируйте вот этот код. Это то же пример из библиотеки.

 
#include "DHT.h"
#define DHTPIN 2     // контакт, к которому подключаемся
// и расскомментировать строчку датчика:
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
// инициализируйте датчик DHT 
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);
  Serial.println("DHTxx test!"); 
  dht.begin();
}
void loop() {
  delay(2000);
  // считывание данных температуры и влажности
  float h = dht.readHumidity();
  // температура в Цельсиях:
  float t = dht.readTemperature();
  // температура в Фаренгейте:
  float f = dht.readTemperature(true);
  // проверяем, корректно ли прочитались данные,
  // и если нет, то пробуем еще раз:
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    // "Не данных с DHT!"
    return;
  }
  // рассчит теплового индекса;
  float hi = dht.computeHeatIndex(f, h);
  Serial.print("Humidity: ");  //  "Влажность: "
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");  //  "Температура: "
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");  //  "Тепловой индекс: "
  Serial.print(hi);
  Serial.println(" *F");
}


После загрузки кода в плату откроем монитор порта.

После загрузки кода в плату откроем монитор порта

Данные температуры и влажности выводятся в виде строки с интервалом 2 сек.

Данные температуры и влажности выводятся

Также выводится температура в Фаренгейтах и тепловой индекс.


Больше фото урока Подключаем датчик температуры и влажности DHT11 к Arduino. Смотрите тут.

Предыдущий урок: Урок 8 — Подключаем реле к Arduino. Пример работы и скетч

Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.

Спасибо за внимание!

Файлы для скачивания

библиотека DHT библиотека DHT.zip15 Kb Скачивать файлы могут только зарегистрированные пользователи.
библиотека Adafruit_Sensor библиотека Adafruit_Sensor.zip8 Kb Скачивать файлы могут только зарегистрированные пользователи.
Вернуться в раздел: Уроки Arduino: Подключение датчиков и модулей к Arduino Дата публикации 11 июня , 2019

Комментарии

Ваше Имя*
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.


Яндекс.Метрика


Portal-PK (Портал ПК) © 2015 - 2019 Робототехника на F-studio.biz
ЧПУ
Подписаться на новости
RSS