//hammadiqbal12@gmail.com #include #include #include #include #include #include #include const char *ssid = ""; const char *password = ""; const int8_t RST_PIN = D1; const int8_t CE_PIN = D2; const int8_t DC_PIN = D0; Adafruit_PCD8544 display = Adafruit_PCD8544(DC_PIN, CE_PIN, RST_PIN); int GMT = 5; int DAY, MONTH, YEAR, Seconds, Hours; long int time_now; WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP); void setup() { Serial.begin(115200); WiFi.begin(ssid, password); display.begin(); display.setContrast(40); // Adjust for your display display.clearDisplay(); display.setTextSize(2); display.setTextColor(BLACK); display.setCursor(0, 0); display.println("Unicorn"); display.setCursor(0, 20); display.println("Devices"); display.display(); delay(2000); display.clearDisplay(); while ( WiFi.status() != WL_CONNECTED ) { delay ( 500 ); Serial.print ( "." ); } timeClient.begin(); } void loop() { timeClient.update(); time_now = timeClient.getEpochTime() + (GMT * 3600); //get epoch time and adjust it according to your GMT DAY = day(time_now); MONTH = month(time_now); YEAR = year(time_now); Hours = hourFormat12(time_now); Seconds = second(time_now); LCD_DISPLAY(String(DAY), String(MONTH), String(YEAR)); display.display(); delay(1000); } void LCD_DISPLAY(String DAY, String MONTH, String YEAR) { display.clearDisplay(); display.setTextSize(2); display.setTextColor(BLACK); display.setCursor(0, 5); if (Hours > 9) display.println(String(Hours) + ":" + timeClient.getMinutes()); if (Hours < 10) display.println("0" + String(Hours) + ":" + timeClient.getMinutes()); display.setTextSize(1); display.setTextColor(BLACK); display.setCursor(65, 5); display.println(String(Seconds)); display.setTextSize(1); display.setTextColor(BLACK); display.setCursor(65, 14); if (isPM(time_now)) display.println("PM"); if (isAM(time_now)) display.println("AM"); display.setTextSize(1); display.setTextColor(BLACK); display.setCursor(15, 35); display.println(DAY + ":" + MONTH + ":" + YEAR); }