RTC DS3231 merupakan modul Realtime Clock yang biasanya digunakan untuk memperoleh data waktu seperti tanggal dan jam. Tutorial mudah Mengakses RTC DS3231 dengan Arduino untuk membuat jam digital atau alarm.
Arduino yang saya gunakan adalah Uno, Nano dan Mega untuk membuat jam digital dengan cara mengakses data waktu dan tanggal dari RTC DS3231
Pada artikel ini akan saya buatkan modifikasi program untuk memudahkan tampilan jam dan tanggal pada LCD supaya sesuai format yang diinginkan
Mari kita persiapkan alat dan bahan untuk memuat jam digital berbasis arduino dan RTC DS3231 dengan menggunakan LCD 16×2
LCD 16×2 jika menggunkaan modul PCF8574 maka akan menggunakan pin SDA dan SCL sama dengan RTC DS3231, dan kalian jangan kebingungan karena komunikasi I2C bisa dipararel atau digabungkan kabelnya.
tapi untuk artikel ini saya hanya membuat jam digital dan ditampilkan pada serial monitor arduino saja dulu ya, kalo misalkan dengan serial monitor sudah bisa, saya yakin menggunakan LCD 16×2 juga pasti bisa.
Saya berubah pikiran dalam hitungan jam dalam membuat artikel ini sehingga yang saya berikan pada artikel ini sekalian dengan menampilkan jam dari RTC DS3231 dan Arduino ke LCD 16×2 I2C
Langkah Tutorial Arduino Mengakses RTC DS3231
- Siapkan semua alatnya
- Rangkai alat seperti pada gambar diatas
- Download library RTCLib
- Buat program seperti dibawah ini
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Wire.h> #include "RTClib.h" RTC_DS3231 rtc; char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; #define tahun now.year() #define bulan now.month() #define tanggal now.day() #define hari daysOfTheWeek[now.dayOfTheWeek()] #define jam now.hour() #define menit now.minute() #define detik now.second() // Set the LCD address to 0x27 for a 16 chars and 2 line display LiquidCrystal_I2C lcd(0x27, 16, 2); char buff[10]; void setup() { // initialize the LCD lcd.begin(); } void loop() { DateTime now = rtc.now(); lcd.clear (); sprintf (buff, "%02d:%02d", jam, menit); lcd.setCursor (5, 0); lcd.print(buff); sprintf (buff, "%02d-%02d-%02d", tanggal, bulan, tahun); lcd.setCursor(3, 1); lcd.print(buff); delay(100); }
Kode berikut merupakan kode yang berfungsi untuk mengatur format tampilan waktu RTC, jika lebih dari 10 maka hilangkan 0 nya, jika kurang dari 10 maka tambahkan 0 didepanya.
sprintf (buff, "%02d-%02d-%02d", tanggal, bulan, tahun);
Demikianlah tutorial mudah mengakses jam digital dengan RTC DS3231 dan Arduino yang ditampilkan pada LCD I2C
Jika ada error pada program atau rangkaian silahkan berkomentar dibawah ini.
Keyword
- RTC DS3231 Arduino,
- Tutorial Jam Digital RTC DS3231,
- Tutorial Jam digital Arduino,
- Tutorial Jam Digital LCD 16×2 I2C,
- Kode RTC DS3231,
- Mengakses RTC DS3231 Arduino,