#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"
#include "WiFi.h"
#include "time.h"
// Display Pins
#define TFT_CS 15
#define TFT_DC 2
#define TFT_MOSI 13
#define TFT_MISO 12
#define TFT_SCK 14
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// Wi-Fi credentials
const char* ssid = "Airtel_arvi_6035";
const char* password = "air26289";
// NTP settings for India (UTC+5:30)
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 19800; // 5 hours 30 minutes = 19800 seconds
const int daylightOffset_sec = 0; // India does not use DST
void setup() {
Serial.begin(115200);
// Init TFT
SPI.begin(TFT_SCK, TFT_MISO, TFT_MOSI, TFT_CS);
tft.begin();
tft.fillScreen(ILI9341_BLACK);
tft.setTextSize(3);
tft.setTextColor(ILI9341_GREEN);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
tft.setCursor(20, 40);
tft.println("Connecting WiFi...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
tft.setCursor(20, 80);
tft.println("WiFi Connected!");
// Init NTP
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
}
void loop() {
struct tm timeinfo;
if (!getLocalTime(&timeinfo)) {
Serial.println("Failed to obtain time");
return;
}
// Clear old time
tft.fillRect(20, 120, 220, 40, ILI9341_BLACK);
// Print current time
char timeString[20];
strftime(timeString, sizeof(timeString), "%H:%M:%S", &timeinfo);
tft.setCursor(20, 120);
tft.setTextColor(ILI9341_CYAN);
tft.println(timeString);
// Print date
char dateString[30];
strftime(dateString, sizeof(dateString), "%d-%m-%Y", &timeinfo);
tft.setCursor(20, 160);
tft.setTextColor(ILI9341_YELLOW);
tft.println(dateString);
delay(1000); // update every second
}
Loading
esp32-2432s028r
esp32-2432s028r