#include <DHT.h>
#include <LiquidCrystal.h>
#define RED_LED_PIN 13 // Пін для червоного світлодіода
#define BLUE_LED_PIN 2 // Пін для синього світлодіода
#define DHTPIN 4 // Пін для датчика DHT
#define DHTTYPE DHT22 // Тип датчика (DHT22 або DHT11)
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 7, 10, 8, 9, 6);
// Порогові значення (налаштуйте відповідно до умов у приміщенні)
float temperatureThreshold = 25.0; // Порогова температура
float humidityThreshold = 60.0; // Порогова вологість
void setup() {
lcd.begin(16, 2); // Ініціалізація LCD (16x2 символів)
Serial.begin(9600); // Ініціалізація серійного монітора
dht.begin(); // Ініціалізація датчика DHT
pinMode(RED_LED_PIN, OUTPUT); // Налаштування червоного світлодіода
pinMode(BLUE_LED_PIN, OUTPUT); // Налаштування синього світлодіода
}
void loop() {
delay(2000); // Затримка для стабільності вимірів
float humidity = dht.readHumidity(); // Читання вологості
float temperature = dht.readTemperature(); // Читання температури
lcd.clear();
// Виведення значень температури та вологості на LCD
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humid: ");
lcd.print(humidity);
lcd.print(" %");
// Перевірка температури та керування червоним світлодіодом
if (temperature > temperatureThreshold) {
digitalWrite(RED_LED_PIN, HIGH); // Увімкнути червоний світлодіод
lcd.setCursor(11, 0);
lcd.print("High!");
} else {
digitalWrite(RED_LED_PIN, LOW); // Вимкнути червоний світлодіод
}
// Перевірка вологості та керування синім світлодіодом
if (humidity > humidityThreshold) {
digitalWrite(BLUE_LED_PIN, HIGH); // Увімкнути синій світлодіод
lcd.setCursor(11, 1);
lcd.print("High!");
} else {
digitalWrite(BLUE_LED_PIN, LOW); // Вимкнути синій світлодіод
}
// Виведення даних у серійний монітор
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
}