Cara Mudah Program RTC Module DS1302 Jam Digital Dengan Arduino
Module RTC (Real Time Clock) sangat penting dalam pembuatan Jam Digital menggunakan Arduino. Selain mempermudah, dengan RTC data waktu dan tanggal akan terus berjalan, walaupun Arduinonya kita matikan. Karena RTC mempunyai memori dan daya sendiri yaitu baterai lithium.
Ada banyak jenis Module RTC, saya memilih tipe DS1302. Karena tipe ini adalah yang paling populer dan mudah digunakan.
Apa yang harus kamu siapkan:
Lalu pasang rangkaianya seperti gambar di bawah ini:
Sudah terpasang kah? Ok sebelum masuk ke-pemrograman, kamu harus install dulu Library RTCnya. Silahkan Download dulu librarynya, klik Link dibawah ini:
Bagi yang masih bingung gimana caranya masukin Library ke Aplikasi Arduino, silahkan buka postingan di bawah ini dulu.
OK! Kalau library RTCnya sudah di masukin, sekarang kita masuk Kepemrograman. Silahkan kamu copy paste Sketch dibawah ini, saran saya ketik ulang biar inget 😀
#include <virtuabotixRTC.h> virtuabotixRTC myRTC(6, 7, 8); //CLK, DAT, RST void setup() { Serial.begin(9600); //myRTC.setDS1302Time(00, 35, 16, 3, 14, 02, 2018); } 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); }
Jika sudah DONE UPLOADING, kamu bisa buka Serial Monitor untuk melihat data waktu dan tanggalnya. Seperti gambar di bawah ini:
LITTLE NOTES:
- #include <virtuabotixRTC.h> kode ini digunakan untuk menyertakan library virtuabotixRTC kedalam pemrograman.
- virtuabotixRTC myRTC(6, 7, 8); digunakan 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); digunakan untuk mengatur detik, menit, jam, yang angka 6 jangan di ubah, tanggal, bulan, dan tahun.
- Serial.print(myRTC.dayofmonth); digunakan untuk menampilkan tanggal pada Serial Monitor
Mau Jadi Lebih Kreatif Lagi?
- Silahkan tambahkan rangkaian Speaker. Yang belum pernah coba bisa buka posting berikut Program Arduino: Melody Dalam Speker!
- Lalu buatlah sebuah fungsi logika, jika myRTC.hours == 12 Speaker berbunyi. Silahkan kamu kreasikan sendiri nadanya, intinya adalah membuat sebuah Alarm Bangun Tidur. 😀
kalau ingin ditampilkan di display gimana ?
kenapa angka 6 ga boleh diganti? mohon penjelasannya mas. makasih 😀
Gan, gimana caranya untuk mengatur waktu On/Off relay sesuai jadwal yang sudah kita tentukan?
Saya menggunakan Arduino Uno R3 + Relay 4 Channel dan RTC DS1302, saya ingin mengontrol Relay secara otomatis berdasarkan waktu yang sudah diatur.
Pin ang saya gunakan adalah, 2,3,4,5.
Mohon bantuannya gan.
kecu hu
Assalamualaikum. thx gan.
oiya untuk baris dibwah ini…. “//” garis miringnya lupa dihilangkan tuh gan.
//myRTC.setDS1302Time(00, 35, 16, 3, 14, 02, 2018);
Assalamualaykum Gan
Untuk trigger output dari Timer ds1302 untuk drive relay / transistor memakai “Data atau clock ya?
kebetulan saya mau aplikasikan ke control motor yg wajib di maintenance sesuai waktu yg sudah ditentukan misal 3 bulan sekali di setting motor “OFF”