Files
smart-watch-esp32/inos/Smart-Watch.ino
T
2026-09-27 15:44:01 +02:00

81 lines
1.6 KiB
Arduino

#include <Arduino_GFX_Library.h>
#include <Adafruit_ST7789.h>
#include <Arduino.h>
#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);
}