CARA PROGRAM 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).
Module/Part yang di butuhkan :
- Arduino UNO
- Modul RTC DS3231
- kabel jumper secukupnya
- Library RTC DS3231
Library :
Download library RTC DS3231 di sini (http://adafruit.com/)
WIRING DIAGRAM
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
DS3231
bang kok punya saya jam nya 165:165:85 ya, detik nya juga gak gerak gerak
BalasHapuspastikan wiring nya ok, partnya ok dan programnya ok
Hapusrtc nya rusak bang, terimakasih.
HapusBang,kalau saya mau memakai nodemcu,jadi wiring nya gimana ya?
BalasHapusSDA rtc di koneksi ke GPIO4 Nodemcu , sedangkan SCL rtc ke GPIO5 Nodemcu
HapusBang "RTC1ib.h" pada atas kok berwarna merah pada waktu di upload?
BalasHapusKomentar ini telah dihapus oleh pengarang.
HapusPadahal rtc udah msk di librari tapi ga muncul di arduino ya? Sarannya gmna?
HapusPastikan aja sudah masuk, karena kalau dari pengalaman penulis saat test ok.
Hapusbg kok punya saya Couldn't find RTC
BalasHapusbg kok punya saya Couldn't find RTC
BalasHapusPastikan wiringnya dan hardwarenya ok
Hapussalam 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??
BalasHapussalam , secara algoritma program bisa, nanti tinggal di tambahkan pas validasi kartu.
Hapushallo 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
BalasHapusPastikan program dan module hardware ok, kalau pengalaman admin, biasanya batterynya yang ngga ok
HapusBang saya sudah copy paste progam ya tapi kok eror
BalasHapusExit status 1
Error compiling for board arduino uno
Tolongin bang
Pastikan library sudah terinstall
HapusBang kalo jam 00.00.00 tanggal juga 01.01.2000 itu kenapa bang
BalasHapus