Пример кода с несколькими датчиками будет выглядеть так:
```cpp
#include "DHT.h"
#include
#include
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
BH1750 lightSensor;
void setup() {
....Serial.begin(115200);
....dht.begin();
....Wire.begin();
....lightSensor.begin();
}
void loop() {
....// Считываем данные DHT
....delay(2000);
....float h = dht.readHumidity();
....float t = dht.readTemperature();
....// Считываем данные BH1750
....float lux = lightSensor.readLightLevel();
....if (isnan(h) || isnan(t)) {
........Serial.println("Ошибка считывания с датчика DHT!");
....} else {
........Serial.print("Влажность: ");
........Serial.print(h);
........Serial.print("%..Температура: ");
........Serial.print(t);
........Serial.println("°C");
....}
....Serial.print("Уровень освещения: ");
....Serial.print(lux);
....Serial.println(" люкс");
}
```
Практическое применение полученных данных
Помните, что данные, полученные от датчиков, можно использовать не только для вывода в консоль, но и для управления другими устройствами. Например, если температура в помещении превышает заданный предел, можно автоматически включить вентилятор или кондиционер. Это можно реализовать с помощью обычного реле или транзистора, управляемого ESP32.
Для этого вы можете использовать условные конструкции в коде, чтобы принимать решения на основе получаемых данных:
```cpp
if (t > 25) {
....digitalWrite(relayPin, HIGH); // Включаем вентилятор
} else {
....digitalWrite(relayPin, LOW); // Выключаем вентилятор
}
```
Цифровые и аналоговые датчики
Не забывайте, что датчики делятся на цифровые и аналоговые. В то время как DHT11 и BH1750 работают с цифровыми данными, в вашем проекте могут быть и аналоговые компоненты, такие как фотодиоды или аналоговые температурные сенсоры. Для подключения аналоговых датчиков к ESP32 используйте аналоговые входы (ADC), которые позволяют считывать значения в диапазоне от 0 до 4095.
Пример кода для считывания аналогового значения с датчика выглядит так:
```cpp
int analogValue = analogRead(A0);
Serial.println(analogValue);
```
Итоги
Подключение датчиков и выполнение операций считывания – это ключевой шаг, который открывает перед вами широкие возможности на пути создания "умного дома". Правильный выбор датчиков, их корректное подключение и интеграция в успешный проект помогут вам контролировать и автоматизировать вашу жизнь. Обратите внимание на обработку данных и взаимодействие с другими элементами системы, чтобы сделать ваш проект более интересным и функциональным. Практический опыт и эксперименты с оборудованием позволят лучше понять его возможности и ограничения.