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 :

Rangkaian RTC DS3231 dan Arduino

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.

Kategori: Arduino

Tinggalkan Balasan

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

Scroll Up
id_IDIndonesian
en_USEnglish id_IDIndonesian