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

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

Рисунок 11 – Установка драйвера CH341SER для отображения среди скрытых устройств (для Windows 11) COM-портов, дающие возможность видеть платы ESP32

2ВЫПОЛНЕНИЕ

2.1Подключение стенда c Arduino Nano

На рисунке 12 представлен стенд, с которого будем опрашивать датчики движения и влажности.

12

Рисунок 12 – Стенд с Arduino Nano с датчиом движения (круглый шар)

идатчиком влажности (голубая подушечка)

Влистинге 3 представлен код для опроса датчика движения на Arduino Uno. Предварительно установим библиотеку DHT sensor library, иначе будет ошибка, как на рисунке 13. На рисунках 14 и 15 представлены результаты выполнения программы из кода листинга 3.

Листинг 3 – Опрос датчика движения Arduino Nano

#define PIR_PIN 2 // Пин D2 для сигнала с датчика

void setup() {

pinMode(PIR_PIN, INPUT); // Устанавливаем пин как вход

Serial.begin(9600); // Инициализация монитора порта

Serial.println("Датчик готов к работе...");

}

void loop() {

// Читаем цифровое значение: HIGH (движение есть) или LOW (нет) int motion = digitalRead(PIR_PIN);

if (motion == HIGH) { Serial.println("Движение обнаружено!");

13

//Добавьте задержку, чтобы избежать многократных сообщений delay(1000);

}else {

//В покое датчик выдает LOW

}

}

Рисунок 13 – Ошибка отсутствия библиотеки DHT sensor library

Рисунок 14 – Обнаружение движения с датчика движения Arduino Nano

в serial monitor Arduino IDE

14

Рисунок 15 – Обнаружение движения с датчика движения Arduino Nano при подёргивании рукой

В листинге 4 представлен кол для снятия показаний с датчика влажности. На рисунке 16 показан съём значений с датчика влажности.

Листинг 4 – Программирование датчика влажности и температуры

DHT11 Arduino Nano

#include "DHT.h"

// Исправлено: include через 'l'

#define DHTPIN 4

// Пин D4, как вы указали

#define DHTTYPE DHT11

// Тип датчика

DHT dht(DHTPIN, DHTTYPE);

// Инициализация

void setup() {

// Исправлено: Serial через 'l'

Serial.begin(9600);

Serial.println("DHT11 Test Start");

dht.begin();

// Запуск датчика

}

 

void loop() {

// Задержка 2 секунды (DHT11 медленный, 250мс для него мало) delay(2000);

float h = dht.readHumidity();

float t = dht.readTemperature(); // Исправлено: добавлен

dht.

// Проверка, удалось ли считать данные if (isnan(h) || isnan(t)) {

Serial.println("Failed to read from DHT sensor!"); return;

}

Serial.print("Humidity: "); Serial.print(h);

Serial.print(" %\t"); // Исправлено: \t для табуляции Serial.print("Temperature: ");

Serial.print(t);

Serial.println(" *C");

}

15

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