#include <WiFi.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
#include <LiquidCrystal_I2C.h>
const char* networkSSID = "Wokwi-GUEST";
const char* networkPassword = "";
WiFiUDP udpClient;
NTPClient ntpClient(udpClient, "pool.ntp.org", 10800, 60000);
LiquidCrystal_I2C lcdDisplay(0x27, 16, 2);
void setup() {
Serial.begin(115200);
WiFi.begin(networkSSID, networkPassword);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi");
}
Serial.println("Connected to WiFi");
ntpClient.begin();
lcdDisplay.init();
lcdDisplay.backlight();
lcdDisplay.print("Connecting");
}
void loop() {
ntpClient.update();
if (!ntpClient.forceUpdate()) {
Serial.println("Failed to get time");
lcdDisplay.setCursor(0, 1);
lcdDisplay.print("Retry");
delay(1000);
return;
}
String currentTime = ntpClient.getFormattedTime();
Serial.println(currentTime);
lcdDisplay.clear();
lcdDisplay.setCursor(0, 0);
lcdDisplay.print("Current Time:");
lcdDisplay.setCursor(0, 1);
lcdDisplay.print(currentTime);
delay(1000);
}