By | 22/05/2020

Helo temen temen anakkendali.com
Pada kesempatan kali ini saya akan menulis artikel tentang Membuat Jam Digital NTPClient.h dan TM1637.h ESP8266. Kalian juga bisa menggunakan NodeMCU ESP8266 untuk dapat mengakses NTP Server sehingga mendapatkan data waktu. selain NodeMCU juga bisa menggunakan Wemos D1 mini. Membuat Jam Internet TM1637 ESP8266

Apa itu NTP ?

NTP merupakan singkatan dari Network Time Protocol . ini adalah standar internet protokol untuk menyinkronkan waktu komputer dengan beberapa referensi internet. atau lebih mudah dipahaminya. NTP itu untuk mendapatkan data waktu dari internet berdasarkan beberapa referensi server sesuai dengan lokasi yang di tentukan.

Sama hal nya dengan waktu tanggal dan jam pada laptop atau hp kita, selain terdapat rtc (Real Time Clock) juga terdapat internet yang bisa mensinkronkan waktu, jadi kita hanya memilih timezone saja, selebihnya waktu secara otomatis akan mengikuti yang sebenarnya dengan referensi dari NTP server.

Cara Kerja NTP pada ESP8266

  1. ESP8266 dihubungkan ke server NTP menggunakan UDP atau disebut juga dengan user datagram protocol.
  2. Sebagai client esp8266 seperti nodemcu atau wemos meminta kepada NTP server.
  3. NTP Server akan menanggapi permintaan client ESP8266 dengan mengirimkan data waktu
  4. Banyak data yang dikirimkan seperti waktu unik, keakuratan, zona waktu atau delay waktu
  5. Pengguna akan memecah data dan memilih sesuai dengan keinginan.

Cara Install Library NTPClient.h Arduino IDE

  1. Buka Software Arduino IDE
  2. Pilih Sketch
  3. Pilih Include Library
  4. Pilih Manage Libraries
  5. Cari NTPClient
  6. Klik Install

Cara Install Library TM1637.h

  1. Download librarynya melalui link https://github.com/tehniq3/TM1637-display
  2. Extract file yang sudah di download
  3. Pindahkan folder “TM1637” ke Documents > Arduino > Library

Skematik 7 Seg Wemos D1 mini ESP8266

Saya menggunakan Wemos D1 Mini untuk mengakses NTP Server dan mendapatkan waktu secara online, jika kalian ingin menggunakan NodeMCU juga sangat bisa untuk mengakses NTP server dan mendapatkan waktunya. setelah mendapatkan waktunya selanjutnya ditampilkan pada modul seven segmen TM1637.

Seven segment juga bisa diakses menggunakan NodeMCU ataupun Wemos D1 mini karena kedua board ini sama persis jadi tidak perlu merubah apapun pada program dan pilihan pin nya.

Membuat Jam Digital NTPClient.h dan TM1637.h ESP8266 NodeMCU Wemos NTP Server

Kode Jam Digital Internet NTP Server 7 Segmen TM1637

berikut adalah kode untuk membaca data waktu dari internet NTP Server dan ditampilkan ke modul display 7 segment TM1637 dengan esp8266 nodemcu/wemos.

#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include "TM1637.h"

#define CLK D5   
#define DIO D6
TM1637 tm1637(CLK, DIO);

const char *ssid     = "Smart-PF";
const char *password = "anamganteng";

const long utcOffsetInSeconds = 25200;

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

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

int hh, mm, ss;

void setup() {
  Serial.begin(115200);

  WiFi.begin(ssid, password);

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

  timeClient.begin();
  tm1637.init();
  tm1637.set(7);
}

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());
  tm1637.point(POINT_OFF);
  tm1637.display(0, hh / 10);  // hour
  tm1637.display(1, hh % 10);
  tm1637.display(2, mm / 10); // minutes
  tm1637.display(3, mm % 10); //
  delay(500);
  tm1637.point(POINT_ON);
  tm1637.display(0, hh / 10);  // hour
  tm1637.display(1, hh % 10);
  tm1637.display(2, mm / 10); // minutes
  tm1637.display(3, mm % 10); //
  delay(500);
}

Akan saya jelskan bagian penting dari program diatas.

const long utcOffsetInSeconds = 25200;

Code diatas untuk menentukan timezone negara kita, karena indonesia adalah GMT +07.00 maka perhitunganya seperti ini.

Adapun pemilihan server “asia.pool.ntp.org” karena saya berada di indonesia maka lebih eksplisit menggunakan asia. sebenarnya bisa juga menggunakan “pool.ntp.org”.

Berikut adalah hasil dari rangkaian dan program di atas menggunakan Wemos D1 Mini jam internet dengan NTP Server dan modul seven segment TM1637.

Itulah tutorial kali ini tentang Membuat Jam Digital NTPClient.h dan TM1637.h ESP8266 NodeMCU. Semoga bermanfaat dan jangan lupa bagikan ke akun media sosial kalian.

Pencarian Terkait

  • Membuat Jam Seven Segment Internet
  • Membuat Jam Seven Segment NTP Server
  • Membuat Jam Seven Segment NodeMCU Internet
  • Jam Otomatis Internet
  • Jam Real Time Clock Internet
  • NodeMCU NTP Server
  • Wemos NTP Server
  • Jam ESP8266 TM1637 Internet

One Reply to “NodeMCU NTP Server Membuat Jam Digital TM1637.h Wemos ESP8266”

Leave a Reply

Your email address will not be published. Required fields are marked *