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.
Kemudian apa komponen yang harus kita siapkan pada project arduino RTC kita, ini dia komponen-komponen yang perlu kita rangkai:
- 1x Arduino Uno
- 4x Kabel Jumper Male-female
- 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 RTCvirtuabotixRTC myRTC(6, 7, 8); //CLK, DAT, RSTvoid setup() {Serial.begin(9600); //Komunikasi Serial dgn KomputermyRTC.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 tanggalSerial.print("/");Serial.print(myRTC.month); //menampilkan bulanSerial.print("/");Serial.print(myRTC.year); //menampilkan tahunSerial.print(" ");Serial.print(myRTC.hours); //menampilkan jamSerial.print(":");Serial.print(myRTC.minutes); //menampilkan menitSerial.print(":");Serial.println(myRTC.seconds); //menampilkan detikdelay( 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!:
- #include <virtuabotixRTC.h> script ini digunakan untuk menyertakan library virtuabotixRTC kedalam pemrograman.
- 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.
- 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.
- 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.