Jam Digital Cerdas Berbasis NTP (Network Time Protocol)

Jam Digital Cerdas Berbasis NTP (Network Time Protocol) adalah sistem jam digital yang menggunakan modul ESP8266 untuk menyinkronkan waktu secara otomatis melalui jaringan Wi-Fi dengan server NTP (Network Time Protocol). Proyek ini menampilkan informasi waktu pada layar OLED serta memiliki fitur tambahan seperti pengaturan alarm menggunakan tombol push button dan peringatan suara melalui buzzer. Perangkat ini dikendalikan menggunakan Arduino IDE dengan beberapa library pendukung seperti NTPClient dan Adafruit_SSD1306, yang harus diinstal sebelum pemrograman.

Komponen

  • Modul Trainer IOT
  • Board NodeMCU ESP8266
  • Oled Display
  • Buzzer
  • Push Button
  • Kabel Jumper (Female – Female)
  • Kabel USB
  • Arduino IDE

Diagram Wiring

Keterangan :

LCD I2C 16×2Node MCUBUZZER & BUTTON
SCLD1(GPIO5)
SDAD2(GPIO4)
D4(GPIO2)BUZZER
D5(GPIO14)BUTTON 1 ( jam )
D6(GPIO12)BUTTON 2 (menit)

Note : Pastikan semua koneksi dilakukan sesuai dengan tabel di atas. Hubungkan SCL pada Oled Display ke D1 (GPIO5) dan SDA ke D2 (GPIO4) pada NodeMCU. Untuk Buzzer, sambungkan ke D4 (GPIO), sedangkan Button 1 (pengaturan jam) dihubungkan ke D5 (GPIO) dan Button 2 (pengaturan menit) ke D6 (GPIO).

Implementasi

  • Install Board ESP8266
    1. Buka File > Preferences di Arduino IDE.
    2. Tambahkan URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json di Additional Boards Manager URLs.
    3. Pilih Tools > Board > Board Manager.
    4. Masukkan “esp8266” pada kolom pencarian, akan muncul pilihan board esp8266 by ESP8266 Community, untuk versi Board pilih 2.5.2, kemudian klik Install.
    5. Jika Instalasi benar, akan muncul board Esp8266.
    6. Pada menu pemilihan board Pilih board NodeMCU 1.0 (ESP-12E Module).
  • Install Library
    • Silahkan download terlebih dahulu Library yang diperlukan (Disini).
    • Setelah di download, file .zip library tidak perlu di ekstrak ya. Tinggal ikuti langkah berikut :
      1. Pada Arduino IDE, klik Menu Sketch -> Include Library -> Add .ZIP Library…
      2. Cari file Library yang sudah di Download sebelumnya, lalu pilih dan klik Open.

Kode Program

Langkah-langkah di Arduino IDE

  • Memverifikasi Kode
    • Klik tombol Verify untuk memeriksa kesalahan pada kode.
  • Upload Program
    • Hubungkan ESP8266 ke komputer.
    • Pilih board ESP8266, pastikan board yang dipilih NodeMCU 1.0 ESP-12E, uploud speed adalah 921600, dan Port telah sesuai.
    • Klik tombol Upload untuk mengunggah program.

Hasil Akhir

Video Tutorial

FAQ

Apa itu NTP (Network Time Protocol)?

NTP adalah protokol yang digunakan untuk menyinkronkan waktu di perangkat menggunakan server waktu internet. Ini memastikan jam pada ESP8266 selalu akurat

Mengapa menggunakan ESP8266 untuk proyek ini?

ESP8266 adalah mikrokontroler yang dilengkapi dengan modul WiFi, sehingga bisa terhubung ke internet dan mendapatkan waktu dari server NTP secara langsung tanpa memerlukan sumber waktu lokal.

Apa fungsi dari OLED Display dalam jam digital ini?

Fungsi OLED Display dalam jam digital ini adalah untuk menampilkan informasi waktu secara real-time, termasuk jam, menit, detik, tanggal, bulan, dan tahun yang diperoleh dari NTP (Network Time Protocol). Selain itu, OLED juga digunakan untuk menampilkan pengaturan alarm, seperti jam dan menit yang telah disesuaikan oleh pengguna.

Apakah saya perlu mengatur ulang waktu secara manual?

Tidak, karena proyek ini menggunakan NTP untuk secara otomatis mendapatkan waktu dari server waktu internet, sehingga waktu selalu sinkron dan akurat.

Bagaimana cara kerja buzzer dalam sistem alarm proyek ini?

Buzzer dalam sistem alarm ini bekerja dengan cara menerima perintah dari ESP8266. Ketika alarm disetel, waktu yang telah diatur akan disimpan dalam ESP8266. Saat waktu mencapai alarm yang telah ditentukan, ESP8266 akan mengaktifkan buzzer, sehingga buzzer berbunyi sebagai tanda pengingat.

Kesimpulan

Dari pembelajaran mengenai Jam Digital Cerdas Berbasis NTP, dapat disimpulkan bahwa sistem ini memanfaatkan ESP8266 yang berguna sebagai mikrokontroler utama untuk mengambil data waktu secara real-time dari server NTP (Network Time Protocol) melalui koneksi Wi-Fi. Serta dengan adanya OLED Display, dapat memudahkan kita untuk melihat jam, menit, detik, tanggal, bulan, dan tahun, serta melakukan pengaturan alarm sesuai kebutuhan. Selain itu, sistem ini juga dilengkapi dengan buzzer yang akan berbunyi saat waktu alarm tercapai. Implementasi alat tersebut menunjukkan bagaimana pemrograman mikrokontroler dapat digunakan untuk membuat perangkat pintar yang efisien dan akurat dalam menampilkan waktu.

Leave a Reply

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