#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

// DHT сенсорының түрі мен пині
#define DHTTYPE DHT22
#define DHTPIN 2

// I2C LCD дисплейдің адресі (әдетте 0x27 немесе 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);

// DHT сенсорының объектісі
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // LCD дисплейді бастау
  lcd.begin(16, 2);  // 16 бағана және 2 қатар
  lcd.backlight();
  // DHT сенсорын бастау
  dht.begin();
  // Дисплейге мәтін шығару
  lcd.print("Temperature:");
}

void loop() {
  // Деректерді оқу
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // Деректерді тексеру
  if (isnan(h) || isnan(t)) {
    lcd.setCursor(0, 1);
    lcd.print("Error!");
    return;
  }

  // Температураны көрсету
  lcd.setCursor(0, 1);
  lcd.print(t);
  lcd.print(" C");

  // Ылғалдылықты көрсету
  lcd.setCursor(10, 1);
  lcd.print(h);
  lcd.print(" %");

  // 2 секундтық кідіріс
  delay(2000);
}