#include <LiquidCrystal.h>
#include <DHT.h>
// 定義 DHT22 感測器
#define DHTPIN 2 // DHT22 資料針腳
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// 初始化 LCD 顯示器
LiquidCrystal lcd(4, 5, 6, 7, 8, 9, 10);
void setup() {
// 初始化 DHT22 感測器
dht.begin();
// 初始化 LCD 顯示器
lcd.begin(16, 2);
// 顯示歡迎信息
lcd.setCursor(0, 0);
lcd.print("Temp & Humidity");
delay(2000);
lcd.clear();
}
void loop() {
// 讀取溫濕度數據
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// 檢查是否讀取失敗,並顯示錯誤信息
if (isnan(humidity) || isnan(temperature)) {
lcd.setCursor(0, 0);
lcd.print("Error reading ");
lcd.setCursor(0, 1);
lcd.print("sensor data");
return;
}
// 顯示溫度
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
// 顯示濕度
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.print(" %");
// 延遲兩秒再更新數據
delay(2000);
}