#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// กำหนดพินที่ใช้สำหรับ DHT22
#define DHTPIN 2
#define DHTTYPE DHT22
// สร้างออบเจ็กต์ DHT
DHT dht(DHTPIN, DHTTYPE);
// สร้างออบเจ็กต์ LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // ที่อยู่ I2C ของจอ LCD (0x27) และขนาดของจอ (16x2)
void setup() {
// เริ่มการทำงานของ LCD โดยให้พารามิเตอร์ขนาดของจอ
lcd.begin(16, 2);
lcd.backlight(); // เปิดไฟพื้นหลัง
lcd.setCursor(0, 0);
lcd.print("Initializing...");
// เริ่มการทำงานของ DHT22
dht.begin();
delay(2000); // รอ 2 วินาทีเพื่อให้เซ็นเซอร์เริ่มทำงาน
}
void loop() {
// อ่านค่าอุณหภูมิและความชื้น
float h = dht.readHumidity();
float t = dht.readTemperature();
// ตรวจสอบการอ่านค่า
if (isnan(h) || isnan(t)) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Error reading");
lcd.setCursor(0, 1);
lcd.print("DHT22 sensor");
return;
}
// แสดงผลข้อมูลบน LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print(" %");
// รอ 2 วินาทีก่อนการอ่านครั้งถัดไป
delay(2000);
}