Добавил:
МТУСИ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа 3 / ПР3_Мягков_БАП2201.docx
Скачиваний:
4
Добавлен:
21.04.2026
Размер:
8.78 Mб
Скачать
    1. 1.2 Датчик влажности и температуры воздуха

На рисунке 5 представлена физическая форма датчика влажности и температуры воздуха. Основные технические характеристики:

– Напряжение питания: 3-5 В;

– Определяемая влажность: 20 – 80% ± 5%;

– Определяемая температура: 0 – 50º ± 2%;

– Частота опроса: ≤ 1 Гц;

– Размеры: 30 x 14 x 6 мм.

Рисунок 5 – Датчик температуры и влажности воздуха

Этот сенсор имеет цифровой сигнал. И температура, и влажность отдаются им по одному сигнальному проводу (S). DHT11 общается с принимающей стороной, такой как Arduino, по собственному протоколу. Коммуникация двунаправленная и в общих чертах выглядит так:

1) Микроконтроллер сообщает о том, что хочет считать показания. Для этого он устанавливает сигнальную линию в 0 на некоторое время, а затем устанавливает её в 1.

2) Сенсор подтверждает готовность передать данные. Для этого он сначала устанавливает сигнальную линию в 0, затем в 1.

3) После этого сенсор передаёт последовательность 0 и 1, последовательно формирующих 5 байт (40 бит). В первых двух байтах передаётся температура, в третьем-четвёртом – влажность, в пятом – контрольная сумма, чтобы микроконтроллер смог убедиться в отсутствии ошибок считывания.

Благодаря тому, что сенсор делает измерения только по запросу, достигается энергоэффективность: пока общения нет, датчик потребляет очень небольшой ток.

Подключение к Arduino

На рисунке 6 представлена принципиальная схема подключения датчика к плате Arduino UNO.

Модуль оборудован трёх пиновым разъемом стандарта 2,54 мм.

G – Подключается к выводу GND;

V – Подключается к выводу +5V;

S – Подключается к цифровому выводу.

Рисунок 6 – Подключение датчика к плате Arduino UNO

Подключив датчик к Arduino остается только загрузить скетч для работы. В приведенном ниже скетче мы будем измерять и отсылать данные о состоянии температуры и влажности в последовательный порт компьютера. Пример опроса датчика приведён в листинге 2.

Листинг 2 – Программирование датчика DHT11

#inc1ude “DHT.h” // Подключаем библиотеку для датчика

DHT dht(2, DHT11); // Сообщаем на каком порту будет датчик

void setup() // процедура setup

{

dht.begin(); // запускаем датчик влажности DHT11

Seria1.begin(9600); // Подключаем монитор порта

Serial.println("DHT TEST"); // Пишем один раз

}

void 1оор() // процедура loop

{

// считываем температуру (t) и влажность(h) каждые 250 мс

float h = dht.readHumidity();

float t = readTemperature();

// выводим температуру (t) и влажность (h) на мониторе порта

Serial.print("Humidity: ");

Seria1.print(h);

Seria1.print(" %/t");

Seria1.print("Temperature: ");

Seria1.print(t);

Seria1.println(" *C");

}

    1. 1.3 Техническая сторона подключения Arduino Nano и esp32

ESP32 – это микроконтроллер, разработанный компанией Espressif Systems. ESP32 представляет собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами. В серии ESP32 используется ядро Tensilica Xtensa LX6. На рисунке 7 представлена распиновка платы ESP32.

Рисунок 7 – Пины ESP32

В основе модуля лежит микросхема ESP32-D0WD-V3. Встроенный чип разработан с учетом возможности масштабирования и адаптации. Центральный процессор содержит два ядра, которыми можно управлять индивидуально, а тактовая частота ЦП регулируется от 80 МГц до 240 МГц. Чип также имеет сопроцессор с низким энергопотреблением, который можно использовать вместо ЦП для экономии энергии при выполнении задач, не требующих больших вычислительных мощностей, таких как мониторинг состояния пинов. ESP32 объединяет богатый набор периферийных устройств, начиная от емкостных сенсорных датчиков, датчиков Холла, интерфейса SD-карты, Ethernet, высокоскоростного SPI, UART, I²S и I²C.

Для работы через Arduino IDE с платами ESP32 добавим ссылку в поле «Дополнительные ссылки для менеджера плат» https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json на установление дополнительных пакетов официального разработчика ESP32, как на рисунке 8.

Рисунок 8 – Установление связи Arduino IDE с базой данных плат

разработчиков ESP32

Установим в приложении в разделе tools —> Board —> Board Manager расширение ESP32 от Espressif Systems версию 2.0.17, занимающую всего 2-3 Гб, как на рисунке 9, по сравнению с современной версией 3.3.7, которая весит 6-9 Гб. В рамках наших задач версии 2.0.17 достаточно.

Рисунок 9 – Установка расширения ESP32 от Espressif Systems

для определения платы ESP32-WROOM-DA MODULE

Так как стандартная загрузка зависает в Российском регионе, вручную увеличим время ожидания ответа сервера в конфигурационном файле C:\Users\<Имя_пользователя>\.arduinoIDE\arduino-cli.yaml до 10 минут или больше, как на рисунке 10.

Рисунок 10 – Увеличение время отклика на 10 минут для

скачивания объёмного пакета данных о платах ESP32

После скачивания, чтобы компьютер увидел плату в COM-портах, установим драйверы CH341SER с данной ссылки, который отобразится в диспетчере устройств как на рисунке 11..

Рисунок 11 – Установка драйвера CH341SER для отображения

среди скрытых устройств (для Windows 11) COM-портов,

дающие возможность видеть платы ESP32

Соседние файлы в папке Практическая работа 3