5 Menit Handling RTC DS3231/DS3232 dengan Arduino

RTC (Real Time Clock) adalah sebutan untuk IC yang menyediakan informasi waktu secara presisi mulai dari detik, menit, jam, tanggal, hari, bulan sampai dengan tahun. Ada banyak tipe IC RTC yang tersedia di pasaran, misalnya DS1307, DS1321, DS1332, dsb. Kebanyakan IC RTC yang banyak digunakan memang buatan Dallas Semiconductor. Produk mereka mudah dikenali dengan prefix ‘DS’ seperti contoh tipe IC yang saya sebutkan tadi.

Pada tutorial kali ini akan coba saya berikan contoh bagaimana melakukan handling RTC DS3231 dengan Arduino dengan waktu cukup 5 menit saja. Kalau saya bisa, tentunya Anda juga bisa kan? He he he. Mengapa dengan Arduino kita bisa membuat suatu rangkaian atau sistem? Setidaknya karena dua hal, dari sisi hardware, RTC yang tersedia di pasaran biasanya sudah dalam bentuk modul siap pakai atau shield yang kompatibel Arduino sehingga konek saja. Dan dari sisi software, sudah tersedia library yang siap digunakan untuk menangani hardware. Tinggal dipanggil saja function-function yang sudah tersedia.

[AdSense-B]

Untuk percobaan, dari sisi hardware siapkan modul RTC DS3231, 4 buah kabel jumper Male to Female, dan Arduino Uno. Kemudian hubungkan antara modul RTC DS3231 dengan Arduino Uno dengan koneksi sebagai berikut :

Vcc RTC  <==> Vcc Arduino

Gnd RTC <==> Gnd Arduino

SDA RTC <==> A4 Arduino

SCL RTC <==> A5 Arduino

[alert-announce]Catatan : modul RTC DS3231 adalah rangkaian modul RTC yang memiliki jalur komunikasi serial sinkron IIC/I2C sehingga dapat langsung dihubungkan dengan pin IIC/I2C Arduino di pin A4 dan A5.[/alert-announce]

Kurang lebih prototipe rangkaian di atas jadinya akan seperti gambar di bawah

prototipe rangkaian rtc ds3231 dan arduino

Kalo kita zoom koneksi wiring RTC DS3231 dengan Arduino, gambarnya adalah sebagai berikut (perhatikan warna kabel jumper)

wiring koneksi rangkaian rtc ds3231 dan arduino

Untuk sisi software silahkan unduh dulu library yang dibutuhkan di sini dan di sana.  Kemudian tambahkan library tersebut ke IDE Arduino. Caranya bisa di baca di sini. Jika sudah, buka program ‘TimeRTC’ melalui menu File-Examples-DS3232RTC-TimeRTC. Verify program tersebut untuk memastikan semua library sudah dapat digunakan. Jika tidak ada error, silahkan mengunggah sketch tersebut ke papan Arduino Uno. Cara mengunggah sketch bisa Anda baca disini.

Jika sudah diunggah, bukalah jendela Serial Monitor untuk menguji prototipe rangkaian. Cara membuka jendela Serial Monitor dapat dibaca disini. Jika wiring Anda sudah benar, seharusnya akan muncul informasi waktu sebagai berikut :

RTC DS3231 dengan Arduino Uno

Mudah, bukan? Sekarang Anda sudah memiliiki jam digital buatan sendiri. Kalau Anda perhatikan, waktu yang ditunjukkan di RTC adalah factory default. Karena dibuatnya di Amerika, maka waktu yang ditampilkan adalah waktu di sana. Untuk cara mengeset waktu RTC akan saya sampaikan pada tutorial berikutnya.

[AdSense-B]

Perbedaan DS3231 dengan DS3232

Pada dasarnya, semua arsitektur DS3231 dan DS3232 adalah sama. Pengalamatan, cara aksesnya  juga sama. Yang membedakan adalah besarnya memori internal (SRAM), dimana DS3231 sebesar 12H (18), sedangkan DS3232 sebesar FFH (255). Perbedaan lainnya, pada RTC DS3232 memiliki battery backup untuk SRAM dan output 32 kHz-nya, sedangkan RTC DS3231 tidak memilikinya dan harus menambahkan battery backup sendiri (biasanya jika Anda membeli dalam bentuk modul sudah dibuatkan battery backup-nya). Selain itu, pada RTC DS3232, sampling rate untuk sensor temperatur dapat diset, sedangkan pada RTC DS3231 sudah fix, yakni sekitar 64 detik

Arduino sebagai RTC

Selain menggunakan RTC eksternal, Arduino juga dapat diprogram menjadi sebuah RTC. Dengan demikian Arduino seakan akan dapat memiliki RTC internal yang dapat digunakan untuk berbagai keperluan. Untuk lebih detailnya mengenai Arduino sebagai RTC dapat Anda baca di sini.

3 2 votes
Article Rating
Tags:,

Leave a Reply

40 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
guntur

Mas, antara RTC DS3231 dan RTC DS1307, yang lebih bagus yang mana ya?dr segi ketahanan, akurasi serta pemrogramannya. Untuk pemrograman antara arduino, RTC dan LCD menggunakan I2C, seperti apa ya?maksudnya RTC dan LCD tsb menggunakan I2C, bagaimana untuk pengaturannya dalam arduino?

guntur

ada contoh sketch nya mas?masih agak bingung mau menggabungkan 2 command I2C nya..

guntur

sudah bisa mas..tp setiap sy cabut power supply trs sy nyalakan lg, kok tgl dan jamnya tetap tidak berubah ya,maksudnya tidak real time.apa karakter rtc nya emg seperti itu?rtc tsb sy kombinasikan dg lcd 20×4 dan sensor dht22

suri

bang, saya pake modul DS3231 + EEPROM AT24C32 untuk jam jadwal shalat, krn sebelumnya menggunakan DS 1307 (jam perhari tambah cepat 3 detik dan jk mati lampu jam reset, sdh ganti D1307 + kristal berkali2 sama saja, dan battery kondisi OK). Efeknya setelah pake DS3231 jam normal walau bbrp kali mati tp jeda iqomat malah tereset. knp ya bang? apakah perlu setting lagi?

Devri Agus Hidayat

Bang , saya mau tanya kalau mau mengontrol beberapa mesin dengan jangka waktu yg berbeda tetapi durasinya tetap sama menggunakan ds3231. itu bagaimana codingannya bang?
mesin berputar dg durasi 20 menit jalan kemudian mati 1 jam lalu berulang sampai 2×24 jam. mohon pencerahan nya. terimaksih

Devri Agus Hidayat

sip bang…
Terimakasih…

umi nur faizzah

kak kalau program untuk bel sekolah otomatis yang pakek WTV dan RTC itu menggunakan arduino uno gmnaka kak???

Wilson

Permisi mas ajie, mau tanya nih. Caranya bikin alarm yang aktif selama durasi tertentu saat RTC DS3231 mencapai waktu yang kita tentukan itu gimana ya ? Misalnya alarm aktif selama 1 menit ketika pukul 05.00 pagi. Trims

fajar

bisa di konversi menjadi kecepatan atau tidak gan?

Hermawan

mas mau tanya
kenapa rtc yang dinyatakan trlalu lama waktunya tidak bisa real time lagi?
misalkan rtc saya nyalakan 7 hari berturut turut selisih errornya sampai 15 detik..
kenapa itu bisa terjadi mas?
kalau cuman sehari memang tidak ada error, tapi kalau seminggu keliatan meleset dari jam aslinya..
nuhun

Hermawan

iya mas bner pakai RTC jenis itu, errornya kalau dinyalakan nambah terus. apa itu bisa pengaruh dari kristalnya ya mas ?

suhu tinggi disini suhu panas apa suhu dingin mas ?

nuhun mas… ini kebetulan buat penelitian skripsi…

Vikri

Mas mau tanya, kan saya setting rtc ds3231 jam 13.00 tanggal 16/02/2018. Pas di serial monitor hasilnya jam 00.00 tanggal 01/01/2000. Kira2 kenapa ya? 9

putra

mas, rtc ds3231 apa bisa menyimpan melalui eeprom nya tanpa sd card

Putra

Berarti untuk pin 32K itu di pakai ya? Dihubungkan ke mana ya?

Gunawan

Mas bisa kasih contoh program RTC DS3231 dengan Nodemcu esp8266, saya kesusahan nyari librarynya

Gunawan

ada referensi tutorialnya?

Xingxin

Mas ajie, saya mau nanya, gmna kira” bikin upload penjadwalan? Saya disini mau upload data ke server menggunakan esp8266, dan maunya itu setiap 30 menit /1 jam sekali datanya di upload.. masih belum ada pencerahan..

yustika

mas saya menggunakan modul rtc dan modul mpu 9250 tapi tidak bisa di satuin soalnya adress nya sama 0x68 cara ngerubah adress rtcnya gimana yah mas?

harza

mas mau nanya librari yang cock untuk membuat penjadwalan pakan dengan jadwal 3 x sehari dan sistem berjalan setiap hari apa ya ?

harza

Saya kemarin udah coba tapi dia muncul nya 162 162 semua kak itu knpa ya gmm caranya viar dia bisa sesuai sama jam kita ?

harza

Batrai nya masih baru kak

idris

Mas, saya lagi uji jam sholat pakai RTC DS3231, kalau jam sedang docolok listrik jam RTCnya valid tidak ada selisih.
Tapi kalau jamnya dimatikan beberapa hari jamnya kok jadi lambat sampai 15 menit. Nah ini kenapa mas? Apa memang RTCnya seperti itu?

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