RTC DS3231 merupakan sebuah jenis modul yang dapat menghasilkan waktu digital secara realtime dengan tambahan sebuah baterai tipe kancing 3.3V yang berfungsi menyimpan data waktu ketika supply padam. Jenis ini dinilai yang paling akurat dibanding jenis lainnya seperti DS1302 dan DS1307. Untuk dapat menggunakannya pada Arduino kita hanya membutuhkan 2 buah pin yatitu pin SDA dan SCL, sisanya merupakan supply VCC dan GND. Di bawah ini akan dibahas lebih lengkapnya.
Alat dan bahan :
- Arduino Uno R3, BELI
- RTC DS3231 + Batreai CR2032, BELI
- Kabel jumper male to female, BELI
- Library RTClib untuk DS3231, download
Rangkaian :

Konfigurasi pin :
- Pin SCL dihubungkan ke A5
- Pin SDA dihubungkan ke A4
- VCC dihubungkan ke 3.3V
- GND dihubungkan ke GND
Sketch program :
#include <Wire.h> #include "RTClib.h" RTC_DS3231 rtc; char daysOfTheWeek[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Sabtu"}; void setup () { Serial.begin(9600); delay(3000); if (! rtc.begin()) { Serial.println("RTC tidak terbaca"); while (1); } if (rtc.lostPower()) { //atur waktu sesuai waktu pada komputer rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //atur waktu secara manual // January 21, 2019 jam 10:30:00 // rtc.adjust(DateTime(2019, 1, 25, 10, 30, 0)); } } void loop () { DateTime now = rtc.now(); Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);//hari Serial.print(", "); Serial.print(now.day(), DEC); //tanggal Serial.print('/'); Serial.print(now.month(), DEC); //bulan Serial.print('/'); Serial.print(now.year(), DEC); //tahun Serial.print(' '); Serial.print(now.hour(), DEC); //jam Serial.print(':'); Serial.print(now.minute(), DEC); //tanggal Serial.print(':'); Serial.print(now.second(), DEC); //detik Serial.println(); delay(1000); }
Penggunaan :
- Silahkan rangkai alat dan bahan sesuai keterangan di atas.
- Buka Arduino IDE, masukkan library RTClib yang sudah didownload. Caranya masuk ke menu Sketch > Include librari > add .ZIP library > silahkan pilih file library RTClib > klik Open
- Upload sketch program di atas.
- jika sudah selesai, silahkan beri tanda komentar “//” tanpa tanda petik pada sketch
rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); - sehingga menjadi seperti ini

- Kemudian upload kembali sketch programnya.
- dan silahkan buka Serial Monitor dengan baudrate 9600
Hasil :
Maka hasilnya akan seperti di bawah ini

Demikian pembahasan tentang mengakses RTC DS3231 semoga bermanfaat.
4 Komentar
agus · Agustus 20, 2020 pada 3:04 am
min kok gagal ya hasilnya
baik tahun jam tanggal detik menit
semuanya 165
itu kenapa min
ajie · September 18, 2020 pada 8:48 am
coba cek koneksi I2C-nya (SDA/SCL)
Iqbal · November 19, 2020 pada 7:41 am
Min, kok waktunya meleset ya? Ketika saya setting manual waktunya tidak berubah? Bagaimana cara meresetnya ya?
ajie · November 19, 2020 pada 7:51 am
buka komentar (karakter ‘//’) pada baris program 21, sesuaikan waktunya, kemudian running sekali aja. Habis itu jadikan komentar lagi