#include <WiFi.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <time.h>
LiquidCrystal_I2C LCD(0x27, 16, 2);
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 3 * 3600;
const int daylightOffset_sec = 0;
void setup() {
Serial.begin(115200);
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
LCD.print("welcome to...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
LCD.print(".");
}
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("WiFi Connected");
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
}
void loop() {
struct tm timeinfo;
if (!getLocalTime(&timeinfo)) {
LCD.setCursor(0, 0);
LCD.print("Time Error");
return;
}
char timeStr[16];
strftime(timeStr, sizeof(timeStr), "%I:%M:%S %p", &timeinfo);
char dateStr[16];
strftime(dateStr, sizeof(dateStr), "%a %d/%m/%Y", &timeinfo);
LCD.setCursor(0, 0);
LCD.print(timeStr);
LCD.setCursor(0, 1);
LCD.print(dateStr);
delay(1000);
}