CARA PROGRAM RTC DS3231 MENGGUNAKAN ARDUINO


CARA RTC DS3231 MENGGUNAKAN ARDUINO

RTC adalah kepanjangan dari Real Time Clock merupakan suatu chip yang bisa menyimpan waktu,waktu itu dapat berupa detik, menit, tanggal, bulan dan tahun. Misalnya kalau kita perhatikan komputer,saat di matikan dan saat nyalakn kembali waktunya tetap sesuai,karena RTC masih menyimpan data waktunya dan saat komputer di matikan RTC masih bekerja.Agar tetap dapat bekerja, sebuah RTC dilengkapi dengan baterai CMOS.

Pada kesempatan ini Tutorial yang akan kami jelaskan adalah Cara Program Arduino dengan RTC DS3231.Arduino berkomunikasi dengan RTC DS3231 secara I2C (Inter Integrated Circuit).

RTC DS3231 ARDUINO TOP
RTC DS3231 ARDUINO BUTTOM

Module/Part  yang di butuhkan :
  1. Arduino UNO
  2. Modul RTC DS3231
  3. kabel jumper secukupnya
  4. Library RTC DS3231

Library :
Download library RTC DS3231 di sini (http://adafruit.com/)

WIRING DIAGRAM

WIRING-RTC-DS3231-MENGGUNAKAN-ARDUINO



ALOKASI PIN ARDUINO

Arduino          RTC DS3231
-------------------------------------
Gnd                     GND
Vcc                     VCC
A4                       SDA
A5                      SCL
 
CONTOH PROGRAM

    
    /*******************************************************
    Program  : ARDUINO dengan RTC DS3231
    Chip     : Arduino Uno
    Sumber   : www.adafruit.com
    ********************************************************/
    #include <Wire.h>
    #include "RTClib.h"
    
    RTC_DS3231 rtc;
    
    char daysOfTheWeek[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"};
    
    void setup () {
    
      Serial.begin(9600);
    
      delay(3000); 
    
      if (! rtc.begin()) {
        Serial.println("Couldn't find RTC");
        while (1);
      }
    
      if (rtc.lostPower()) {
        Serial.println("RTC lost power, lets set the time!");
        rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));     // following line sets the RTC to the date & time this sketch was compiled
        
        // Set the current date, and time in the following format:
        // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));     // This line sets the RTC with an explicit date & time, for example to set
      }
    }
    
    void loop () {
        DateTime now = rtc.now();
    
        Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
        Serial.print(',');
    
        Serial.print(now.day(), DEC);
        Serial.print('/');
        Serial.print(now.month(), DEC);
        Serial.print('/');
        Serial.print(now.year(), DEC);
        Serial.print('\t');
    
        Serial.print(now.hour(), DEC);
        Serial.print(':');
        Serial.print(now.minute(), DEC);
        Serial.print(':');
        Serial.print(now.second(), DEC);
        Serial.println();
        
        Serial.println();
        delay(1000);
    }
    
    


    Output Serial Monitor


    Serial Monitor Arduino dengan RTC DS3231
    Data Sheet
     DS3231

    Subscribe to receive free email updates:

    18 Responses to "CARA PROGRAM RTC DS3231 MENGGUNAKAN ARDUINO"

    1. bang kok punya saya jam nya 165:165:85 ya, detik nya juga gak gerak gerak

      BalasHapus
      Balasan
      1. pastikan wiring nya ok, partnya ok dan programnya ok

        Hapus
      2. rtc nya rusak bang, terimakasih.

        Hapus
    2. Bang,kalau saya mau memakai nodemcu,jadi wiring nya gimana ya?

      BalasHapus
      Balasan
      1. SDA rtc di koneksi ke GPIO4 Nodemcu , sedangkan SCL rtc ke GPIO5 Nodemcu

        Hapus
    3. Bang "RTC1ib.h" pada atas kok berwarna merah pada waktu di upload?

      BalasHapus
      Balasan
      1. Komentar ini telah dihapus oleh pengarang.

        Hapus
      2. Padahal rtc udah msk di librari tapi ga muncul di arduino ya? Sarannya gmna?

        Hapus
      3. Pastikan aja sudah masuk, karena kalau dari pengalaman penulis saat test ok.

        Hapus
    4. bg kok punya saya Couldn't find RTC

      BalasHapus
    5. bg kok punya saya Couldn't find RTC

      BalasHapus
    6. salam om, apaka bisa kita gunakan rtc ds3231 ini utk membatasi pengambilan makanan, misal setiap kartu perharinya hanya bisa ambil 2makanan, kl coba utk ambil lagi maka tidak bisa pd hari itu, besok lg baru bisa. apaka rtc bisa di set spt itu oom??

      BalasHapus
      Balasan
      1. salam , secara algoritma program bisa, nanti tinggal di tambahkan pas validasi kartu.

        Hapus
    7. hallo om, saya sudah mencoba rtc dan pada saat saya mencabut microkontrolernya waktu tidak menyimpan pada keesokannya saya kasih daya ke rtcnya, kira kira kenapa ya

      BalasHapus
      Balasan
      1. Pastikan program dan module hardware ok, kalau pengalaman admin, biasanya batterynya yang ngga ok

        Hapus
    8. Bang saya sudah copy paste progam ya tapi kok eror
      Exit status 1
      Error compiling for board arduino uno
      Tolongin bang

      BalasHapus