#include <NTPClient.h>
#include <WiFi.h>
#include <WiFiUdp.h>
#include <LiquidCrystal_I2C.h>
#define COLUNAS 20
#define LINHAS 4
#define LED 4
const char *ssid = "Wokwi-GUEST";
const char *password = "";
unsigned long int time_ms;
bool flag_inicializacao = 0;
String atual, anterior = "";
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "a.st1.ntp.br", -10800, 60000);
LiquidCrystal_I2C lcd(0x27, COLUNAS, LINHAS);
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(115200);
while(WiFi.status() != WL_CONNECTED){
delay(500);
lcd.setCursor(0,0);
if(flag_inicializacao){
lcd.print("Conectando....");
} else {
lcd.print("....");
}
Serial.print(".");
flag_inicializacao = !flag_inicializacao;
}
Serial.println("\nConectado");
Serial.println("IP: ");
Serial.println(WiFi.localIP());
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Conectado!");
lcd.setCursor(0,1);
lcd.print("IP: ");
lcd.print(WiFi.localIP());
timeClient.begin();
}
void loop() {
if(millis() - time_ms >= 1000){
time_ms = millis();
timeClient.update();
atual = timeClient.getFormattedTime();
digitalWrite(LED, !digitalRead(LED));
}
if(atual != anterior){
anterior = atual;
Serial.println(atual);
lcd.setCursor(0,3);
lcd.print(atual);
}
}