#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"
#include "time.h" // Include the time library for ESP32
const char* ssid = "Wokwi-GUEST"; // Replace with your Wi-Fi SSID
const char* password = ""; // Replace with your Wi-Fi password
#define TFT_DC 16
#define TFT_CS 17
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
void setup() {
tft.begin();
tft.setRotation(1); // Adjust rotation if needed
tft.fillScreen(ILI9341_BLACK);
connectToWiFi();
configTime(0, 0, "pool.ntp.org"); // Configure time synchronization
}
void loop() {
struct tm timeinfo;
if (!getLocalTime(&timeinfo)) { // Get the current time
Serial.println("Failed to obtain time");
delay(1000); // Wait if the time cannot be obtained
return;
}
tft.fillScreen(ILI9341_BLACK); // Clear the screen
// Display the current date and time
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.setCursor(20, 50);
tft.print("Date: ");
tft.print(timeinfo.tm_year + 1900);
tft.print("-");
tft.print(timeinfo.tm_mon + 1);
tft.print("-");
tft.println(timeinfo.tm_mday);
tft.setCursor(20, 80);
tft.print("Time: ");
tft.print(timeinfo.tm_hour);
tft.print(":");
if (timeinfo.tm_min < 10) tft.print("0");
tft.print(timeinfo.tm_min);
tft.print(":");
if (timeinfo.tm_sec < 10) tft.print("0");
tft.println(timeinfo.tm_sec);
delay(1000); // Update once per second
}
void connectToWiFi() {
Serial.println("Connecting to Wi-Fi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting...");
}
Serial.println("Connected to Wi-Fi");
}