#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ArduinoJson.h>
// LCD setup
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
lcd.init();
lcd.backlight();
}
void loop() {
// Format Data JSON
const char* jsonData = R"({
"welcomeMessage": "Selamat Datang",
"di": "di",
"masjid": "Attur an-na'im",
"pengumuman": "Pengumuman!",
"p1": "Pengajian pr:06.30Am",
"p2": "Pengajian lk:13.00Pm",
"p3": "Muroja'ah:15.30Pm"
})";
// Inisialisasi JSON data
StaticJsonDocument<256> doc;
DeserializationError error = deserializeJson(doc, jsonData);
if (error) {
lcd.setCursor(0, 0);
lcd.print("JSON Error:");
lcd.setCursor(0, 1);
lcd.print(error.c_str());
return;
}
// Extract Isi Data JSON
const char* welcomeMessage = doc["welcomeMessage"];
const char* di = doc["di"];
const char* masjid = doc["masjid"];
const char* pengumuman = doc["pengumuman"];
const char* p1 = doc["p1"];
const char* p2 = doc["p2"];
const char* p3 = doc["p3"];
// Menampilkan Isi Data
lcd.setCursor(1, 0);
lcd.print(welcomeMessage);
lcd.setCursor(8, 1);
lcd.print(di);
lcd.setCursor(2, 2);
lcd.print(masjid);
delay(2000);
lcd.clear();
lcd.setCursor(3, 0);
lcd.print(pengumuman);
lcd.setCursor(0, 1);
lcd.print(p1);
lcd.setCursor(0, 2);
lcd.print(p2);
lcd.setCursor(0, 3);
lcd.print(p3);
delay(3000);
lcd.clear();
}