#include <LiquidCrystal_I2C.h>
#include "DHT.h"
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2);
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int red_led = 11;
int green_led = 10;
int blue_led = 9;
void setup() {
pinMode(red_led, OUTPUT);
pinMode(green_led, OUTPUT);
pinMode(blue_led, OUTPUT);
dht.begin();
lcd.init();
lcd.backlight();
lcd.clear();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
lcd.setCursor(0, 0);
lcd.print("T: ");
lcd.print(t);
lcd.print(" C ");
lcd.setCursor(0, 1);
lcd.print("H: ");
lcd.print(h);
lcd.print(" % ");
// Визначаємо колір світлодіода на основі температури та вологості
if (t < 18 && h < 40) {
// Синій (холодно і сухо)
setRGBColor(0, 0, 255);
} else if (t > 25 && h > 60) {
// Червоний (тепло і волого)
setRGBColor(255, 0, 0);
} else {
// Зелений (комфортний рівень)
setRGBColor(0, 255, 0);
}
}
void setRGBColor(int r, int g, int b) {
analogWrite(red_led, r);
analogWrite(green_led, g);
analogWrite(blue_led, b);
}