#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <EEPROM.h> // library EEPROM
#define DHTPIN 10
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHT22);
LiquidCrystal_I2C lcd(0x27,20,4);
int chk;
float hum;
float temp;
int address = 0; // alamat awal penyimpanan EEPROM
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Papan Informasi");
lcd.setCursor(2,1);
lcd.print("Suhu & Kelembaban");
lcd.setCursor(8,2);
lcd.setCursor(2,3);
delay(1000);
lcd.clear();
}
void loop() {
hum = dht.readHumidity();
temp = dht.readTemperature();
lcd.init();
lcd.backlight();
lcd.setCursor(3,0);
lcd.setCursor(3,1);
//suhu
lcd.setCursor(0,2);
lcd.print("Suhu :");
lcd.setCursor(13,2);
lcd.print(temp);
lcd.setCursor(19,2);
lcd.print("C");
//kelembaban
lcd.setCursor(0,3);
lcd.print("Kelembaban :");
lcd.setCursor(13,3);
lcd.print(hum);
lcd.setCursor(19,3);
lcd.print("%");
// Simpan data suhu dan kelembaban ke EEPROM
EEPROM.put(address, temp);
EEPROM.put(address + sizeof(float), hum);
address += 2 * sizeof(float); // geser alamat untuk data berikutnya
delay(5000); // delay 5 detik
}