Привет! Сегодня рассмотрим новый датчик и подключим его к Ардуино. На очереди у нас датчик температуры и влажности DHT11.
Содержание
- Для того, чтобы выполнить этот урок нам понадобиться.
- Характеристики датчика температуры DHT11
- Схема подключения датчика
- Программа
- Полный текст программы
- Заключение
Рассмотрим схему подключения датчика DHT11 к Ардуино и простой скетч. Выведем данные от датчика в монитор последовательного порта.
Если вы уже забыли или пропустили урок использования монитора последовательного порта, то посмотрите его здесь.
Последовательный порт. Урок 5. Ардуино
Для того, чтобы выполнить этот урок нам понадобиться.
- Ардуино UNO
- Макетная плата
- Перемычки
- Резистор номиналом 220 Ом
- Датчик DHT11
- Кабель USB
Характеристики датчика температуры DHT11
- Питание: DC 3,5 – 5,5 В
- Ток питания
- в режиме измерения 0.3mA
- в режиме ожидания 60μA
- определение влажности 20–80 % с точностью 5 %
- определение температуры 0–50 °С с точностью 2 %
- частота опроса не более 1 Гц (не более одного раза в 1 сек.)
- размеры 15,5´12´5,5 мм
Схема подключения датчика
Программа
Мы хотим просто получить от датчика значение температуры, влажности и вывести их в монитор последовательного порта. Так что соберем схему и настроим вывод данных с порта 2 в сом порт.
Используем специальную библиотеку DHT.h для этого датчика. Не забудьте установить ее через менеджер библиотек.
Подключим библиотеку и создадим экземпляр класса. В функции setup() запустим порт и датчик.
#include "DHT.h"
DHT dht(2, DHT11);
void setup() {
Serial.begin(9600);
dht.begin();
}
Далее проверяем температуру и влажность каждые 0.2 секунды и если параметры определены, выводим данные в монитор порта.
А если нет, то выводим сообщение об ошибке. Это довольно просто.
void loop() {
delay(200);
float h = dht.readHumidity(); //Измеряем влажность
float t = dht.readTemperature(); //Измеряем температуру
if (isnan(h) || isnan(t)) {
Serial.println("Ошибка");
return;
}
Serial.print("Влажность: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Температура: ");
Serial.print(t);
Serial.println(" C ");
}
В обычных условиях датчик показывает влажность 30% и температуру 25.1 градус.
Но если поставить рядом с датчиком кружку с горячим кофе, то показания влажности сразу скакнули к 95% а температура начала постепенно увеличиваться.
Полный текст программы
#include "DHT.h"
DHT dht(2, DHT11);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(200);
float h = dht.readHumidity(); //Измеряем влажность
float t = dht.readTemperature(); //Измеряем температуру
if (isnan(h) || isnan(t)) {
Serial.println("Ошибка");
return;
}
Serial.print("Влажность: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Температура: ");
Serial.print(t);
Serial.println(" C ");
}
Заключение
Сегодня мы рассмотрели новый датчик для платформы Ардуино. Датчик влажности и температуры DHT11. И использовали библиотеку производителя для обработки данных от датчика.
Спасибо, что дочитали статью до конца.
Пожалуйста, подписывайтесь на блог в яндекс дзен, ставьте лайки и пишите комментарии.
Посмотрите больше уроков и проектов на сайте arcadepub.ru
И подписывайтесь на соц. сети.
Спасибо за внимание, скоро увидимся.