#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 14
#define LED 25
#define LED2 26
#define LED3 27
DHT dht(DHTPIN, DHT22);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(LED, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
digitalWrite(LED, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("ESP32 Teplomer");
delay(2000);
dht.begin();
}
void loop() {
delay(2000);
float teplota = dht.readTemperature();
float vlhkost = dht.readHumidity();
// Kontrola správnosti údajov
if (isnan(teplota) || isnan(vlhkost)) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Chyba senzora!");
return;
}
// Výpis na LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Teplota: ");
lcd.print(teplota);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Vlhkost: ");
lcd.print(vlhkost);
lcd.print(" %");
if (teplota > 40) {
digitalWrite(LED, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
} else if (teplota > 10 && teplota <= 40) {
digitalWrite(LED, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
} else {
digitalWrite(LED, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
}
}