Датчик
температуры и влажности DHT11
очень
распространен в
Ардуино проектах.
Например в умных домах. Даже не смотря
на характеристики:
- Потребляемый
ток – 2,5 мА (максимальное значение при
преобразовании данных);
- Измеряет
влажность в диапазоне от 20% до 80%.
Погрешность может составлять до 5%;
- Применяется
при измерении температуры в интервале
от 0 до 50 градусов (точность – 2%)
- Питание
– от 3 до 5 Вольт;
- Одно
измерение в единицу времени (секунду).
То есть, частота составляет 1 Гц;
Как
видим
датчик 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. Пример работы и скетч
Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.
Спасибо за внимание!
Понравилась статья? Поделитесь ею с друзьями:
Файлы для скачивания
|
библиотека DHT.zip | 15 Kb | 1688 |
Скачать
Вы можете скачать файл.
|
|
библиотека Adafruit_Sensor.zip | 8 Kb | 1845 |
Скачать
Вы можете скачать файл.
|
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.