ESP32: WiFi NTP TM1650 7segmen serial
Jump to navigation
Jump to search
/*********
I2C Device ESP32
SDA SDA (default is GPIO 21)
SCL SCL (default is GPIO 22)
GND GND
VCC usually 3.3V or 5V
Get Time NTP
*********/
#include <Wire.h>
#include <TM1650.h>
#include <NTPClient.h>
#include <WiFi.h>
#include <WiFiUdp.h>
// Replace with your network credentials
const char* ssid = "o1";
const char* password = "Dzaq1993!";
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday"};
const long utcOffsetInSeconds = 25200;
int hh, mm, ss;
char cWaktu[5];
TM1650 d;
// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "id.pool.ntp.org", utcOffsetInSeconds);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while ( WiFi.status() != WL_CONNECTED ) {
delay ( 500 );
Serial.print ( "." );
}
timeClient.begin();
}
void loop() {
timeClient.update();
hh = timeClient.getHours();
mm = timeClient.getMinutes();
ss = timeClient.getSeconds();
Serial.print(daysOfTheWeek[timeClient.getDay()]);
Serial.print(", ");
Serial.print(hh);
Serial.print(":");
Serial.print(mm);
Serial.print(":");
Serial.println(ss);
// Serial.println(timeClient.getFormattedTime());
// delay(1000);
if ( hh > 9 ) {
String temp_str = String( hh*100 + mm );
temp_str.toCharArray(cWaktu,5);
} else {
String temp_str = " " + String( hh*10 + mm );
temp_str.toCharArray(cWaktu,5);
}
d.displayString( cWaktu ); // menampilkan waktu
delay(500); // tunggu selama 1 detik
for (int i = 0; i<20; i++) {
for (int j = 0; j<4; j++) {
d.setDot(j,true);
delay(200);
}
for (int j = 0; j<4; j++) {
d.setDot(j,false);
delay(200);
}
}
}