By | 28/08/2018

Assalamualaikum….
Selamat pagi,siang,sore sobat Anak Kendali,ok kita akan melanjutkan artikel yang pertama saya mohon
untuk di maklumi….kali ini saya mau berbagi tutorial menyeting RTC DS3231 melalui Serial (ingat ini hanya untuk PEMULA saja klo udh MASTER,silahkan dihiraukan saja…?).

ok langsung saja lanjut TKP.
keyword : Cara Setting RTC,RTC ARDUINO,Tutorial RTC Arduino,Pemula Arduino

ok bahan-bahan seperti biasa :

  1. Arduino (UNO,NANO,MEGA)
  2. RTC DS3231
  3. LAP TOPP or PC jangan lupa
  4. Library bisa ambil disini  

Program :

#include <DS3231.h>

DS3231  rtc(SDA, SCL);
Time  t;

void setup() {
  Serial.begin(9600);
  rtc.begin();
  //rtc.setDOW(WEDNESDAY);     // hari
  //rtc.setTime(12, 0, 0);     // jam,menit,detik
  //rtc.setDate(1, 1, 2014);   // tanggal,bulan,tahun
}

void loop() {
  t = rtc.getTime();
  set_waktu();
  Serial.print(rtc.getDOWStr());
  Serial.print(” “);
  Serial.print(rtc.getDateStr());
  Serial.print(” — “);
  Serial.println(rtc.getTimeStr());
  delay (1000);
}

void set_waktu() {
  while (Serial.available() > 0) {
    String x = Serial.readString();
    char mm[2], hh[2], Dow[2], dd[2], MM[2], yy[4];
    int Tahun, Bulan, Tanggal, Hari, Jam, Menit;
    for (int i = 0; i < 4; i++) {
      yy[i] = x[i];
    }
    Tahun = atoi(yy);
    for (int i = 4, j = 0; i < 6; i++, j++) {
      MM[j] = x[i];
    }
    Bulan = atoi(MM);
    for (int i = 6, j = 0; i < 8; i++, j++) {
      dd[j] = x[i];
    }
    Tanggal = atoi(dd);
    for (int i = 8, j = 0; i < 10; i++, j++) {
      Dow[j] = x[i];
    }
    Hari = atoi(Dow);
    for (int i = 10, j = 0; i < 12; i++, j++) {
      hh[j] = x[i];
    }
    Jam = atoi(hh);
    for (int i = 12, j = 0; i < 14; i++, j++) {
      mm[j] = x[i];
    }
    Menit = atoi(mm);
    rtc.setDOW(Hari);
    rtc.setTime(Jam, Menit, 0);
    rtc.setDate(Tanggal, Bulan, Tahun);
    t = rtc.getTime();
    delay(1000);
  }
}

Nah sekian kodenya,untuk format penyetingannya adalah tahun+bulan+tanggal+hari+jam+menit contohnya : 20180828071230 jadi tanggal & jam tersebut adalah (28-08-2018 12:30)
note: tahun harus 4 digit,bulan 2 digit,tanggal 2 digit,hari 2 digit,jam 2 digit,menit 2 digit.
Wassalamualaikum.

2 Replies to “Arduino, Cara Mengatur Waktu RTC DS3231 Serial Arduino”

Leave a Reply

Your email address will not be published. Required fields are marked *