Cara Memprogram RTC Module DS1302 Jam Digital Dengan Arduino

Cara memprogram module RTC (Real Time Clock) perlu dikuasai ketika kita akan membuat jam digital dengan Arduino. Dengan demikian akan mempermudah dan waktu yang kita butuhkan akan menjadi singkat. Secara sederhana, cara kerja jam digital arduino ini memerlukan komponen utama yaitu RTC, data waktu dan tanggal akan terus berjalan selama baterainya masih berjalan. Walaupun hardware arduino kita padamkan, waktu akan selalu benar. Karena baterai pada RTC mengaktifkan  memori unit ini.
Cara Memprogram RTC Module DS1302 Jam Digital Dengan Arduino
Terdapat beberapa macam Module RTC, namun pada kesempatan kali ini, saya pilih tipe DS1302. Alasannya karena jenis ini merupakan yang paling populer dan gampang digunakan. Tipe lain juga tidak sulit untuk diprogram, jadi pakai yang tersedia saja.

Kemudian apa komponen yang harus kita siapkan pada project arduino RTC kita, ini dia komponen-komponen yang perlu kita rangkai:
  1. 1x Arduino Uno
  2. 4x Kabel Jumper Male-female
  3. 1x Module RTC DS1302
Lantas bagaimana cara  merakit rangkaianya? Adapun hubungan antara komponen diatas dapat kita rakit seperti gambar di bawah ini:
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;

Sudah terpasang kah? Allright, jangan dulu masuk ke-pemrograman, anda harus pasang Library RTCnya terlebih dahulu. Anda boleh download dulu librarynya, silahkan klik Link dibawah ini:


Bagi yang masih bingung gimana caranya masukin Library ke Aplikasi Arduino, silahkan buka postingan di bawah ini dulu.

Baca juga: Cara Memasukan Library Ke Aplikasi Arduino IDE?

OK, baiklah! Jika library RTC-nya telah di imputkan, waktunya kita masuk Ke-pemrograman. Anda boleh copy paste Sketch dibawah ini, rekomendasi saya ketik ulang biar tidak lupa.
#include <virtuabotixRTC.h> //menambahkan library RTC

virtuabotixRTC myRTC(6, 7, 8); //CLK, DAT, RST

void setup() {
Serial.begin(9600); //Komunikasi Serial dgn Komputer
myRTC.setDS1302Time(00, 48, 20, 6, 17, 11, 2016); //Setting waktu dan tanggal RTC
}

void loop() {
myRTC.updateTime();
Serial.print("Tanggal / Waktu: ");
Serial.print(myRTC.dayofmonth); //menampilkan tanggal
Serial.print("/");
Serial.print(myRTC.month); //menampilkan bulan
Serial.print("/");
Serial.print(myRTC.year); //menampilkan tahun
Serial.print(" ");
Serial.print(myRTC.hours); //menampilkan jam
Serial.print(":");
Serial.print(myRTC.minutes); //menampilkan menit
Serial.print(":");
Serial.println(myRTC.seconds); //menampilkan detik
delay( 1000);
}
Apa bila sudah lulus verifikasi, sudah DONE UPLOADING, anda tinggal buka Serial Monitor untuk melihat data waktu dan tanggalnya. Misalnya seperti pada gambar di bawah ini:


Keterangan Penting!:
  1. #include <virtuabotixRTC.h> script ini digunakan untuk menyertakan library virtuabotixRTC kedalam pemrograman.
  2. virtuabotixRTC myRTC(6, 7, 8); fungsinya untuk membuat variabel myRTC, dan untuk pin Arduino yang digunakan pin 6 untuk CLK, pin 7 untuk DAT, dan pin 8 untuk RST. Kamu bisa ubah sesuai kebutuhan.
  3. myRTC.setDS1302Time(00, 48, 20, 6, 17, 11, 2016); fungsinya untuk mengatur detik, menit, jam, yang angka 6 jangan di ubah, tanggal, bulan, dan tahun.
  4. Serial.print(myRTC.dayofmonth); fungsinya untuk menampilkan tanggal pada Serial Monitor

Coba buat lebih bagus lagi?
  • Anda bisa tambahkan rangkaian Speaker. Bagi anda belum pernah coba bisa buka posting berikut Program Arduino: Melody Dalam Speker!
  • Kemudian buatlah sebuah fungsi logika, apabila myRTC.hours == 12 Speaker berbunyi. Anda boleh kreasikan sendiri nadanya, pokoknya adalah membuat sebuah Alarm Bangun Tidur.
Itu dia cara memprogram RTC module DS1302 jam digital menggunakan arduino pada kesempatan kali ini. Semoga sukses.