#include <DHT.h>
#include <Wire.h> // Добавляем библиотеку для I2C
#include <LiquidCrystal_I2C.h> // Добавляем библиотеку для I2C LCD
#define DHTPIN 9 // вывод, к которому подключается датчик
#define DHTTYPE DHT22
#define fan 4
int maxHum = 60;
int maxTemp = 40;
DHT dht(DHTPIN, DHTTYPE);
// Инициализация LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Укажите ваш адрес I2C и количество символов в каждой строке и количестве строк
void setup()
{
pinMode(fan, OUTPUT);
Serial.begin(9600);
dht.begin();
lcd.init(); // Инициализируем LCD
lcd.backlight(); // Включаем подсветку
lcd.setCursor(0,0); // Устанавливаем курсор в начало первой строки
lcd.print("Humidity:"); // Выводим название параметра
lcd.setCursor(0,1); // Устанавливаем курсор в начало второй строки
lcd.print("Temperature:"); // Выводим название параметра
}
void loop()
{
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t))
{
Serial.println("Failed to read from DHT sensor!");
return;
}
if(h > maxHum || t > maxTemp)
{
digitalWrite(fan, HIGH);
}
else
{
digitalWrite(fan, LOW);
}
lcd.setCursor(10,0); // Устанавливаем курсор в нужное место первой строки
lcd.print(h); // Выводим влажность
lcd.print(" %\t"); // Выводим символ процентов
lcd.setCursor(13,1); // Устанавливаем курсор в нужное место второй строки
lcd.print(t); // Выводим температуру
lcd.print(" *C "); // Выводим символ градуса Цельсия
}