Датчик температуры и влажности DHT11 очень распространен в Ардуино проектах. Например в умных домах. Даже не смотря на характеристики:
Как видим датчик DHT11 не очень точный. Но он достаточна дешевый. И для измерение в бытовых помещениях подходит.
Датчик может быть в виде модуля и у него всего 3 ноги для подключения. Как в моем случае.
Так и самостоятельный датчик. С 4 ногами. Схема подключения для него будет вот такая.
Мы рассмотрим подключения модуля. Подключение отличается не очень сильно.
Схема подключения DHT11 к Arduino NANO
Схема подключения DHT11 к Arduino UNO
Программа для обоих вариантов будет одинаковая.
Для подключения датчика 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. Пример работы и скетч
Понравилась статья? Поделитесь ею с друзьями:
Файлы для скачивания
![]() |
библиотека DHT.zip | 15 Kb | 1807 | Скачать |
![]() |
библиотека Adafruit_Sensor.zip | 8 Kb | 1966 | Скачать |
Вернуться в раздел: Уроки Arduino: Подключение датчиков и модулей к Arduino Дата публикации 11 июня , 2019
Читайте также
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.