Cara Mudah Program RTC DS3231 Jam Digital Dengan Arduino

Pengenalan RTC DS3231

Sebelumnya di Kelas Robot saya pernah Posting mengenai RTC DS1302, RTC yang murah dan simple buat yang belajar membuat Jam Digital. Tapi kekurangan dari RTC tersebut adalah keakuratan waktunya, banyak yang berpengalaman ternyata RTC ini sering error sekian menit waktunya dalam waktu bulanan.

Nah bahaya banget kan kalo kita bikin product yang permanent untuk jangka waktu yang lama, seperti Jam Digital dan Jadwal Shalat. Nah untuk itu saya kenalkan agan ke RTC DS3231.


Kelebihan RTC DS3231

  1. Sangat Akurat dan sudah saya pakai berbulanan-bulan, waktunya masih sama dengan real time waktu sekarang. Hampir tidak ada yang berubah sedikitpun.
  2. Memiliki Sensor Suhu di dalamnya. Bayangkan udah ada sensor suhunya bro.
  3. Memiliki EPPROM juga. Kurang canggih apalagi coba. hihihi

Harga? Lebih mahal dari DS1302, tapi kualitas jauh pastinya. Dan lebih kumplit, seperti yang saya sebutkan diatas.


Membuat Rangkaian RTC DS3231

Sebelum membuat Rangkaian, pastikan kamu sudah menyiapakan:

  1. Arduino dan Kabel USB
  2. RTC DS3231 udah isi Baterai
  3. Kabel Jumper

Selanjutnya silahkan rangkai seperti pada rangkaian dibawah ini

ArduinoRTC DS3231
5V5V
GNDGND
A4SDA
A5SCL

Add Library RTC DS3231 Ke Arduino IDE

Kita akan Menggunakan Library RTClib.h dari Adafruit, yang mana bisa di Download melalui link dibawah ini:

Jika sudah di Download, silakan tambahkan ke Arduino IDE, jika kamu tidak tahu cara menambahkannya, silakan buka Tutorial dibawah ini:

Bagaimana Cara Memasukan Library Ke Aplikasi Arduino IDE


Koding RTC DS3231

Untuk koding yang digunakan pada RTC DS3231, silakan gunakan dibawah ini:

#include "RTClib.h"
RTC_DS3231 rtc;
char daysOfTheWeek[7][12] = {"Ahad", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Sabtu"};
int jam, menit, detik;
int tanggal, bulan, tahun;
String hari;
float suhu;  // Variabel untuk menyimpan suhu

void setup () {
  Serial.begin(9600);
  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    Serial.flush();
    while (1) delay(10);
  }
  
  //KALIBRASI 
  // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}

void loop () {
  DateTime now = rtc.now();
  jam     = now.hour();
  menit   = now.minute();
  detik   = now.second();
  tanggal = now.day();
  bulan   = now.month();
  tahun   = now.year();
  hari    = daysOfTheWeek[now.dayOfTheWeek()];
  suhu    = rtc.getTemperature();  // Membaca suhu dari DS3231
  
  Serial.println(String() + hari + ", " + tanggal + "-" + bulan + "-" + tahun);
  Serial.println(String() + jam + ":" + menit + ":" + detik);
  Serial.println("Suhu: " + String(suhu) + " °C");  // Menampilkan suhu
  Serial.println();
  delay(1000);
}

Agan tinggal upload aja, lalu cek di Serial Monitor. Dengan begitu, Agan bisa memastikan bahwa perangkat berfungsi dengan baik dan mencatat waktu dengan benar.


Catatan Penting WAJIB BACA

  1. koding ini rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); adalah koding untuk setting Waktu Otomatis sesuai dengan Komputer, kalo sudah upload sekali silakan kasih komentar //, lalu upload lagi kodingnya
  2. Jika ingin mengatur waktu secara manual, silakan gunakan kode rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));, lalu hapus komentarnya, sesuaikan waktunya sesuai kebutuhan, dan upload ke perangkat. Setelah itu, cek di Serial Monitor untuk memastikan bahwa pengaturan waktu telah berhasil diterapkan. Jika sudah, tambahkan kembali komentar pada baris tersebut, lalu upload ulang agar pengaturan waktu tidak terus berubah setiap kali perangkat restart.

Oke Sekian Postingan kali ini. Jika dari teman-teman ada yang ingin dinyakan silahkan isi di kotak komentar ya. Terimakasih

Saya lulusan Informatika dari Universitas Siber Asia. Saya adalah seorang penggiat Microcontroller, Coding, Robotics, Internet of Things, dan Artificial Intelligence.

3 thoughts on “Cara Mudah Program RTC DS3231 Jam Digital Dengan Arduino

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

You might also like