WeMOS: NTP Jam Digital 7 Segmen Display

From OnnoWiki
Jump to: navigation, search
sudo su
cd ~/Arduino/libraries
rm master.zip
wget https://github.com/arduino-libraries/NTPClient/archive/master.zip
unzip master.zip

Source Code

#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <Wire.h>
#include <TM1650.h>

const char *ssid     = "ssid";
const char *password = "password";

const long utcOffsetInSeconds = 3600;  

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);
TM1650 d;

void setup(){
  Serial.begin(115200); 
  Wire.begin(); //Join the bus as master

  WiFi.begin(ssid, password); 

  while ( WiFi.status() != WL_CONNECTED ) {
    delay ( 500 );
    Serial.print ( "." );
  }  

  timeClient.begin();
  d.init();
}
void loop() {
  char waktu[5];
  timeClient.update(); 
  
  Serial.print(daysOfTheWeek[timeClient.getDay()]);
  Serial.print(", ");
  Serial.print(timeClient.getHours()+6);
  Serial.print(":");
  Serial.print(timeClient.getMinutes());
  Serial.print(":");
  Serial.println(timeClient.getSeconds());
  //Serial.println(timeClient.getFormattedTime());

  itoa( 100*(timeClient.getHours()+6) + timeClient.getMinutes(), waktu, 10);
  d.displayOn();
  d.displayString(waktu);
  delay(1000);

  for (int i = 0; i<5; i++) {
    d.setDot(i,true);
    delay(100);
    d.setDot(i,false);
    delay(100);
  }
}