Приветствую всех, кто хочет узнать о датчике температуры и влажности (DHT11) и как его подключить к Ардуино!
Датчик DHT11 - это простой, недорогой и надежный датчик температуры и влажности воздуха. Он очень популярен в сообществе электронщиков и может использоваться в различных проектах, от систем автоматического контроля климата до метеостанций. Датчик работает от 5V.
Датчик DHT11 работает на основе изменения электрического сопротивления в зависимости от температуры и влажности воздуха.
Когда воздух нагревается, он воспринимает больше водяного пара и влажность увеличивается. Датчик DHT11 определяет влажность воздуха путем измерения изменения сопротивления, которое изменяется в зависимости от количества влаги в воздухе.
Для измерения температуры, DHT11 использует термистор - это компонент, который меняет свое сопротивление в зависимости от температуры. Когда температура воздуха растет, сопротивление термистора падает, и наоборот.
DHT11 использует цифровой протокол для передачи данных о температуре и влажности. После того, как датчик собирает данные, он передает их в микроконтроллер, который обрабатывает информацию и выводит ее на дисплей или другое устройство.
Перед тем, как начать, давайте разберемся с тем, что нужно для подключения датчика DHT11 к Ардуино. Нам понадобятся:
- Датчик DHT11
- Плата Ардуино
- Провода для подключения
Шаг 1. Подключение датчика DHT11 к Ардуино
Для подключения датчика DHT11 к Ардуино нам понадобятся 3 провода: красный, желтый и черный. Красный провод подключите к пину VCC, желтый провод к пину DATA, а черный провод к пину GND на Ардуино. На схеме подключения датчика DHT11 к Ардуино эти пины обозначены как "+", "OUT" и "-".
Шаг 2. Написание кода для Ардуино
После того, как вы подключили датчик DHT11 к Ардуино, нужно подготовить код для считывания данных с датчика. Код:
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#define DHT11_PIN 2
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
Serial.print("Температура: ");
Serial.print(dht.readTemperature());
Serial.print(" °C, Влажность: ");
Serial.print(dht.readHumidity());
Serial.println("%");
delay(1000);
}
Давайте разберемся, что происходит в этом коде.
Первая строка #include "DHT.h" подключает библиотеку, которая позволяет использовать датчик DHT11. Установка библиотеки происходит через менеджер библиотек. Инструменты>Управление библиотеками. Далее в поиске набираем "dht", ищем "DHT sensor library от Adafruit" и нажимаем "Установить".
Во второй строке #define DHTPIN 2 объявляет, что датчик подключен к пину 2 на плате Arduino.
Следующая строка #define DHTTYPE DHT11 указывает на тип датчика (бывает еще DHT22), а далее создается объект DHT типа dht, который мы будем использовать для работы с датчиком.
В функции setup() мы начинаем серийную связь с компьютером с помощью Serial.begin(9600). Это нужно для вывода информации на компьютер через USB. И включаем сам датчик dht.begin().
Функция loop() - это основной цикл программы, который будет выполняться постоянно. Считывание значений с датчика происходит функциями dht.readTemperature() и dht.readHumidity(), температура и влажность соответственно.
Затем мы выводим полученные данные на серийный порт, используя Serial.print(). Сначала мы выводим температуру и "°C", затем влажность и "%", чтобы показать, что это процент. Функция delay(1000) задерживает выполнение программы на 1 секунду, чтобы не выводить данные слишком быстро.
Шаг 3. Загрузка кода на Ардуино
После того, как мы подготовили код, загрузим его на Ардуино. Для этого подключим Ардуино к компьютеру с помощью USB-кабеля, выберем правильный порт и модель платы в Arduino IDE, затем загрузим код на Ардуино (стрелочка вправо).
Шаг 4. Получаем данные от датчика DHT11
Теперь, когда код загружен на Ардуино, мы можем получить данные от датчика DHT11. Откроем монитор порта в Arduino IDE и увидим температуру и влажность.
Проверяем значение 9600 в мониторе порта.
Если на датчик подышать, то увеличится температура и влажность.
Поздравляю! Мы и собрали проект с датчиком температуры и влажности!
В дальнейшем мы можем усложнить наш проект, добавив экран.
До новых встреч!