#include <LiquidCrystal_I2C.h>
#include "DHTesp.h"
#define DHT_PIN 14
#define THRESHOLD_TEMP 30
#define RELAY_PIN 27
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void displayData(TempAndHumidity data)
{
lcd.clear();
lcd.setCursor(0, 0);
// Разбиваем данные на 2 строки по 16 символов
String line1 = "Temp: " + String(data.temperature, 1) + (char)223 + "C";
String line2 = "Hum: " + String(data.humidity, 1) + "%";
lcd.print(line1);
lcd.setCursor(0, 1);
lcd.print(line2);
}
void setup() {
lcd.init();
lcd.backlight();
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
displayData(data);
if (data.temperature > THRESHOLD_TEMP) {
digitalWrite(RELAY_PIN, HIGH);
} else {
digitalWrite(RELAY_PIN, LOW);
}
delay(2000); // Обновление каждые 2 секунды
}