#include #include #include #define TFT_DC D7 #define TFT_RST D9 unsigned long SEC=0; unsigned long MIN=0; unsigned long HOUR=0; unsigned long DAY=0; unsigned long MONT=0; unsigned long YEAR=2026; unsigned long preMil = 0; const long interval = 1000; Arduino_DataBus *bus = new Arduino_HWSPI(TFT_DC, -1); Arduino_GFX *gfx = new Arduino_ST7789(bus, TFT_RST, 0, true, 240, 240, 0, 0); void setup() { gfx->begin(); gfx->fillScreen(ST77XX_BLACK); gfx->setTextColor(ST77XX_GREEN); } void loop() { drawText(10,10, 2, "{"); drawText(30,30,2,"Time: {"); gfx->setCursor(50, 50); gfx->printf("Hour: %d%c\n", HOUR, ","); gfx->setCursor(50, 70); gfx->printf("Min: %d%c\n", MIN, ","); gfx->setCursor(50, 90); gfx->printf("Sec: %d%c\n", SEC, ","); drawText(30,110,2,"},"); drawText(30,130,2,"Date: {"); gfx->setCursor(50, 150); gfx->printf("Day: %d%c\n", DAY, ","); gfx->setCursor(50, 170); gfx->printf("Mont: %d%c\n", MONT, ","); gfx->setCursor(50, 190); gfx->printf("Year: %d%c\n", YEAR, ","); drawText(10,210,2,"}"); updateClock(); } void updateClock(){ unsigned long curMil = millis(); if (curMil - preMil >= interval) { preMil = curMil; SEC++; gfx->fillScreen(ST77XX_BLACK); } if (SEC >= 60) {SEC = 0; MIN++;} if (MIN >= 60) {MIN = 0; HOUR++;} if (HOUR >= 24) {HOUR = 0; DAY++;} } void drawText(int width, int hight,int size, const char* text) { gfx->setCursor(width, hight); gfx->setTextSize(size); gfx->println(text); }