Arduino sebagai RTC (Real Time Clock)

Sebuah papan Arduino memang banyak gunanya. Kali ini kita akan coba memanfaatkan sebuah Arduino (Uno) sebagai RTC. Sudah pada tau RTC, kan? RTC kependekan dari ‘Real Time Clock’ alias jam digital yang presisi. RTC sebenarnya adalah solusi kebutuhan akan waktu yang presisi yang berupa hardware. Yang saya maksud ‘hardware’ di sini adalah sebuah IC (Integrated Circuit) RTC. Salah satu IC RTC yang terkenal dan sering dipakai adalah seri DS1307 buatan Dallas Semiconductor, Inc. IC RTC ini kecil dimensinya dan menggunakan protokol serial I2C/IIC untuk komunikasi data dengan kontrollernya. Di pasaran selain tersedia IC-nya saja, ada juga yang menjual dalam bentuk kit/modul yang siap pakai dan kompatibel dengan Arduino.

Tapi kali ini saya ngga membahas aplikasi IC RTC (DS1307) dengan Arduino ya, tetapi memanfaatkan Arduino itu sendiri sebagai RTC. Jadi solusi yang saya tawarkan disini adalah solusi yang bersifat software bukan RTC dalam bentuk hardware. Beberapa keuntungan menggunakan solusinya adalah bisa menghemat biaya (karena tidak memerlukan IC tambahan), menghemat jalur PCB sehingga bisa lebih kecil dan compact dimensinya (tentunya akan lebih mudah membuat jalur PCB-nya) dan tentunya bisa meminimalisir kesalahan pembuatan sistem. Tapi bukannya cara ini ngga ada sisi kekurangannya. Bagi sebagian orang mengganggap hardware IC RTC lebih presisi data waktunya karena memang dirancang khusus untuk kebutuhan RTC, tapi menurut saya sih RTC dengan Arduino cukup presisi dan memenuhi kebutuhan saya. Kekurangan kedua mungkin masalah script. Script Anda akan bertambah sedikit rumit dan memakan memori untuk processing timer untuk handling RTC secara software di dalam Arduino. Tetapi hal semacam ini relatif bagi tiap-tiap orang. Kalo menurut saya sih, script handling RTC di Arduino cukup mudah, karena sudah ada library yang menanganinya. Anda hanya cukup memanfaatkan subrutin-subrutin yang sudah tersedia tanpa harus mengetahui seluk beluk pengaturan register/timer yang dibutuhkan, bagaimana timing correction-nya, dsb.

Baiklah, untuk memanfaatkan Arduino sebagai RTC, Anda cukup memanfaatkan library yang bernama ‘Time’. Library ini gratis dan bisa Anda unduh di http://playground.arduino.cc/code/time. Setelah diunduh, ekstrak file zip-nya dan salinlah satu folder library ini ke direktori ‘libraries’ Arduino di laptop Anda (biasanya di folder C:\Program Files\Arduino\libraries). Jika sudah, restart aplikasi Arduino di laptop Anda, dan seharusnya sudah ada tambahan menu ‘Time’ di menu File | Examples. Di sana ada beberapa contoh program/sketch yang berhubungan dengan masalah waktu/RTC.

arduino sebagai rtc - contoh program sketch

Demikian sedikit ‘pembukaan’ untuk penggunaan Arduino sebagai RTC. Untuk contoh aplikasinya akan saya bahas pada artikel berikutnya. Salam kreatif 🙂

update : contoh aplikasi RTC dengan Arduino

0 0 votes
Article Rating
Tags:

Leave a Reply

21 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
UDIN SUTARDI

MAS TOLONG BUATIN PROGARM BEL SEKOLAH DENGAN ARDUINO. DI BEL ITU ADA RTCDS1307 , LCD 16X2, RELAY, 3 TOMBOL, AMA ARDUINO UNO R3

Toni

Cara sinkronisasi untuk sensor RTC tipe DS1302 dengan arduino, gimana iya mas?

Toni

Kalau RTC tipe DS3102 gak mpake SCL dan SDA mas.

Toni

Hehe, Okk mas.
Makasih atas pencerahannya mas.

Ferry

mau tanya mas, pkek RTC bisa nggk ngebuat Arduino jadi hidup dan mati secara otomatis? contohnya seperti televisi yang pkek alarm hidup dan mati otomatis

Ferry

Begini mas saya punya project tugas akhir tentang penetralisir asap rokok. Rencananya saya mengunakan metode time clock untuk menonaktifkan alat saya antara jam 22.00-06.00 untuk menghemat listrik. Komponen yang saya gunakan adalah Sensor MQ-9,LCD,Module RTC ,Arduino, Catu Daya, Module Relay, Exhaust Fan. Yang saya tanyakan adalah apa yang harus di control oleh RTC sehingga alat bisa menghemat listrik? . Mohon bantuannya mas terima kasih

Ferry

siap mas, makasih banyak konsultasinya mas. Sangat membantu

benno

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.

Rizky PM

Gan saya juga punya project akhir sekolah, dan kebetulan ide saya sama seperti mas ajie, bisa tolong kirimkan coding yang lebih mendetailnya @rpm2346@gmail.com. Terima kasih jika sudah menyempatkan diri membuatkan codingnya

Akbar

Mas kenapa ya, rtc saya kecepatan. Beda 1 menit dlm satu hari. Kira2 kalo mau presisi bgmna? Apakah hrus ganti tipe rtc?. Sy pake rtc ds1307.

reva

Mas mau numpang tanya kalo penggunaan RTC DS1307 dengan DS 1302 apa bedanya yaah? kalo untuk setting time secara real time untuk ds 1302 bagaimana caranya? saya lebih baik menggunakan RTC jenis apa untuk real time seperti waktu pada komputer? soalnya masih bingung. maaf merepotkan dan terima kasih.

21
0
Would love your thoughts, please comment.x
()
x