#include <LiquidCrystal_I2C.h> //เรียกใช้งาน Library จาก Library Manager
#define LCD_ADDR 0x27
#define LCD_COLUMNS 16 // 16 คอลัมน์
#define LCD_ROWS 2 // 2 แถว
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
int btn = 4 ;
int btn1 = 5 ;
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(LCD_ADDR ,LCD_COLUMNS ,LCD_ROWS);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(btn,INPUT_PULLUP);
pinMode(btn1,INPUT_PULLUP);
lcd.begin(16,2); //กำหนดขนาดของ LCD ที่มี 16 คอลัมน์และ 2 แถว.
lcd.init(); // ทำการเริ่มต้น LCD
lcd.init(); // ทำการเริ่มต้น LCD
lcd.backlight(); // เปิดไฟ LCD
lcd.setCursor(2,0); // กำหนดตำแหน่งตัวอักษร
lcd.print("NAME PROJECT.."); // แสดงผล
lcd.setCursor(2,5); // กำหนดตำแหน่งตัวอักษร
lcd.print("Home Work 4"); // แสดงผล
//lcd.clear();
dht.begin();
}
void loop() {
// put your main code here, to run repeatedly:
delay(100);
bool btnIV = !digitalRead(btn);
bool btnV = !digitalRead(btn1);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (btnIV) {
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp"); // แสดงผล
lcd.setCursor(5,0); // กำหนดตำแหน่งตัวอักษร
lcd.print(t);
lcd.setCursor(0,1); // กำหนดตำแหน่งตัวอักษร
lcd.print("Hun");
lcd.setCursor(5,1); // กำหนดตำแหน่งตัวอักษร
lcd.print(h);
if (isnan(h) || isnan(t)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.println(hif);
Serial.println(btnIV);
}
if (btnV) {
lcd.clear();
Serial.println(btnV);
}
}