Cara simple menggunakan RTC DS3231 dengan Arduino

Cara simple menggunakan RTC DS3231 dengan Arduino

Ingin menambahkan fungsi pengukuran waktu yang akurat pada proyek Arduino-mu? Modul RTC DS3231 adalah pilihan tepat untuk menyimpan waktu dan tanggal dengan presisi tinggi. Di artikel ini, kita akan bahas cara simple menghubungkan dan menggunakan RTC DS3231 dengan Arduino. Yuk, kita mulai!

untuk codenya kalian bisa gunakan code dibawah ini :

#include <Arduino.h>

#include <Wire.h>
#include <RTClib.h>

RTC_DS3231 rtc_ds3231;
int jam_rtc_ds3231;
int menit_rtc_ds3231;
int detik_rtc_ds3231;
int bulan_rtc_ds3231;
int tahun_rtc_ds3231;
int minggu_rtc_ds3231;


String baca_rtc_ds3231(String format) {
DateTime now = rtc_ds3231.now();
jam_rtc_ds3231 = now.hour();
menit_rtc_ds3231 = now.minute();
detik_rtc_ds3231 = now.second();
bulan_rtc_ds3231 = now.month();
tahun_rtc_ds3231 = now.year();
minggu_rtc_ds3231 = now.dayOfTheWeek();
String waktuFormatted = format;
waktuFormatted.replace("d", String(now.day(), DEC));
waktuFormatted.replace("m", String(now.month(), DEC));
waktuFormatted.replace("Y", String(now.year(), DEC));
waktuFormatted.replace("H", String(now.hour(), DEC));
waktuFormatted.replace("i", String(now.minute(), DEC));
waktuFormatted.replace("s", String(now.second(), DEC));
return waktuFormatted;
}


void setup()
{
Serial.begin(9600);
Wire.begin();
if (!rtc_ds3231.begin()) {
Serial.println("Modul RTC tidak terdeteksi!");
while (1);
}
if (!rtc_ds3231.lostPower()) {
Serial.println("RTC tidak berjalan, atur waktu awal...");
rtc_ds3231.adjust(DateTime(F(__DATE__), F(__TIME__)));
}

}
void loop(){
Serial.println("Waktu : " + baca_rtc_ds3231("d-m-Y H:i:s"));


}


Untuk skematik, kamu bisa ikuti skematick di bawah ini

Kabel Merah : VCC
Kabel Hitam : GND
Kabel Oren : SDA
Kabel Hijau : SCL

selamat mencoba, salam labrobotika

Jika anda berminat menggunakan jasa labrobotika, silahkan hubungi admin: WHATSAPP