Menghubungkan ESP32 dengan modul RTC DS3231 memungkinkan pengukuran waktu yang akurat. Sambungkan pin SDA dan SCL dari DS3231 ke pin GPIO ESP32 (misal GPIO 21 dan 22). Gunakan library RTClib di Arduino IDE untuk membaca waktu. Proyek ini ideal untuk aplikasi yang memerlukan manajemen waktu
Berikut adalah langkah-langkah untuk membuatnya:

Berikut Ini Merupakan Codingan Yang Telah Kami Sediakan, Telah Diuji Untuk Memastikan Keakuratan Serta Kestabilannya.
#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 menggunakan gambar berikut:

Selamat mencoba! Semoga sukses dengan proyekmu. Jadikan setiap langkah sebagai pengalaman berharga. Salam dari Labrobotika, tempat inovasi dan kreativitas!
Jika anda berminat menggunakan jasa labrobotika, silahkan hubungi admin: WHATSAPP

