JIka Anda membeli modul RTC DS3231/DS3232 yang baru, biasanya waktu yang tersimpan di memorinya (SRAM) adalah waktu default pabrikannya (waktu Amerika). Nah, jika Anda ingin mengatur waktu RTC dengan cara yang mudah dan cepat menggunakan Arduino, Anda dapat mengikuti tips berikut ini. Sebagai persiapan, buatlah prototipe rangkaian seperti pada artikel sebelumnya, 5 Menit Handling RTC DS3231/DS3232 dengan Arduino, dan pastikan library-library yang dibutuhkan sudah diunduh dan di-‘instal’ ke IDE Arduino. Mengenai library apa saja yang dibutuhkan bisa Anda baca di artikel tersebut.
Jika sudah siap, bukalah program contoh ‘SetSerial’ melalui menu File-Examples-DS3232RTC-SetSerial. Program/sketch ini diperuntukkan agar Anda bisa menyetting waktu di RTC DS3231/DS3232. Program ini sudah jadi sehingga Anda cukup mengunggahnya ke Arduino, dan tinggal menyetting waktu RTC melalui jendela Serial Monitor (menu Tools-Serial Monitor). Untuk cara mengunggah sketch bisa dibaca disini.
Jika sudah berhasil mengunggah sketch, Anda akan mendapati jam digital yang ditampilkan dalam jendela Serial Monitor. Jika ada karakter aneh yang muncul dalam jendela Serial Monitor Anda, kemungkinan karena baudrate jendela Serial Monitor belum disesuaikan dengan settingan baudrate di sketch Arduino yang berada di angka 115200 bps. Perhatikan pojok kanan bawah jendela Serial Monitor. Jika disana tertera angka selain 115200, Anda harus mengubahnya terlebih dahulu.
Untuk mengganti waktu RTC, caranya cukup mudah, yakni masukkan karakter sebagai berikut :
[alert-success] yy,m,d,h,m,s[/alert-success]
dengan ‘yy’ adalah tahun (diambil dua angka terakhir), contoh jika tahun 2015 cukup ditulis ‘15’, ‘m’ adalah bulan (jika dibawah 10 cukup satu karakter), dan berturut-turut untuk ‘d’, ’h’, ’m’ dan ‘s’ adalah hari, jam, menit dan detik. Jadi jika misalnya hari ini adalah jam 8:45:30 tanggal 21 Juli 2015, maka karakter yang Anda masukkan ke jendela Serial Monitor (kotak edit di sebelah tombol ‘Send’) adalah ‘15,7,21,8,45,30’. Kemudian tekan tombol ‘Send’ untuk memasukkan settingan waktu yang baru ke RTC DS3231/DS3232.
Jika sudah, maka seharusnya akan ada pemberitahuan bahwa waktu RTC sudah berhasil diganti.
Untuk memastikan perubahan waktu sudah berhasil dilakukan, silahkan matikan Arduino dan nyalakan lagi. Seharusnya waktu sudah berganti sekarang. Mudah bukan?
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
koq saya ada eror begini mas sapta :
undefined reference to ‘monthShortStr(unsigned char)’
kira2 kenapa ya???
kemungkinan library utk RTC -nya belum di-define, silahkan cek di sini http://saptaji.com/2015/07/19/5-menit-handling-rtc-ds3231ds3232-dengan-arduino/
mas, mau tanya kalau utuk RTC DS 1307 dengan RTC DS3231 itu perbedaannya dmn?
dan untuk membuat programnya sama atau beda?(untuk data type nya), diluar dari library nya, terima kasih
DS3231 lebih akurat drpd DS1307 karena memiliki internal oscillator. DS3231 juga punya kemampuan untuk mengkompensasi perubahan suhu, jadi berapapun suhu eksternal hasil real time clock-nya tetap akurat
mas, saya udah coba ubah setting waktunya tapi gaada perubahan. masalahnya apa ya kira-kira?
coba cek wiring/kabelnya
ijin tanya mas, maaf pemula nih,,
saat verify setserial ada error : exit status 1
‘setSyncProvider’ was not declared in this scope .
kira2 knapa y mas, tks
udah instal library Time.h, belum mas?
error ‘setSyncProvider’terjadi karena arduino IDE tidak mendeteksi library Time.h
mas, saya gagal. muncul tulisanvariable or field ‘print datetime’ declared void .
knapa itu mas?
udah instal library Time.h?
Mas kalo buat jam pake 4 digit 7segment TM1637 + RTC DS3231 gimana ya codingny,,,saya dah coba nyari” di mbah google ga nemu,,,
mas bisakah di program arduino nya pakai libbrary ds1307 tetapi di hardwerenya pakai ds 3231?
bisa mas
mas,, caranya kalau mau buat program untuk menunda lampu tidak otomatis bgmn ya?? kondisinya kalau ada objek masuk ruangan maka lampu menyala, tpi jika keluar ruangan tidak otomatis lampunya mati… sy disini menggunakan sensor PIR, aurdino atmega328, rtc.
berarti butuh dua PIR itu mas, untuk menentukan arah pergerakan objek. Kalo objek bergerak dari PIR 1 ke PIR 2 anggap aja masuk ruang tp kalo sebaliknya berarti keluar ruangan. Nah habis itu arduinonya tinggal main logika aja pake if
thank’s mad bro
mas, mau nanya kalo saya muncul pesan gagal kaya gini “RTC set failed!” itu kenapa ya?
rtc gagal diset waktunya, coba cek lg scriptnya atau koneksi kabelnya
Mas mau tanya, RTC nya udah ke set dengan waktu skrg, masalahnya setelah saya matikan microcontrollernya beberapa menit/jam terus saya hidupkan kembali waktu yang ke set jadi ngaco ataupun delay yang terlalu lama, itu gimana ya mas?
sebelumnya saya pake power langsung dari laptop, setelah saya ganti pake Powerbank jadi ga ngebaca tanggal lagi mas rtc nya, mhon pencerahannya
RTC punya mas baterainya soak, coba ganti yang baru
cukup baterainya diganti ya, bukan RTC-nya yg diganti?
Masalahku RTC power hidup terus tanpa pernah kumatikan, tetapi perbedaan menit dengan waktu sekarang semakin lama kok semakin besar. Misal di awal jamnya cocok dengan jam komputer, besok pagi sudah beda 1 jam itu kenapa?
kalo dilihat dari gejalanya, baterainya mulai habis. Mungkin bisa dicoba ganti baterai dulu
mas serial monitor saya kok kosong aja mas,,padahal upload sketch berhasil apa yang salah tu mas
udh ada Serial.begin(9600); ga mas di sketch-nya? cek pula baudrate serial monitornya
Mau tanya, untuk menyimpan jam dan menit dari rtc (rtc.getTimeStr) ke EEPROM bagaimana ya? dan butuh berapa byte? terima kasih
kalo simpan data (termasuk data RTC) ke EEPROM bisa baca artikel berikut: eeprom string arduino
permisi mas ajie, mau bertanya
apakah stepper motor 28byj-48 bisa diseting kapan bergeraknya dengan rtc3231? dan itu harus set time rtcnya dulu/enggak? terimakasih
Q: apakah stepper motor 28byj-48 bisa diseting kapan bergeraknya dengan rtc3231?
A: harusnya bisa mas, tergantung programnya
Q: itu harus set time rtcnya dulu/enggak?
A: bisa ya, bisa ngga. Ngga ada hubungannya dengan setting time RTC. Yg paling berperan untuk case ini adalah script-nya. Kalo masalah setting time RTC itu hubungannya dengan ketepatan waktu dengan waktu yang berlaku di tempat Anda
Mas mau tanya dong, aku bikin program pake RTC buat hidupkan motor DC sm servo. Nah pas setting awal nya bisa, tp waktu tak masukin ke program utama jadinya lompat 1detik tiap 1menit dan itu berpola contoh (7,17,26,36,45). Yg salah apanya ya? Aku udh coba hapus semua delay pada program utama to tetep lompat lompat. Mohon pencerahannya.
harus lihat programnya sih, baru bisa kasih saran. Tapi pada dasarnya bisa dilakukan troubleshooting untuk mengetahui dimana letak kesalahannya. Caranya bikin program kecil (subroutine) untuk menjalankan fungsi di atas. Kemudian panggil subrutin tersebut secara manual. Kalo udah yakin benar coba panggil secara otomatis pake script. Demikian semoga membantu
Maksud aku lompat 1detik tiap 10detik 😂
mas mau tanya… kalau waktu dan tanggalnya berubah dari setting awal ketika power eksternal dimatikan itu kenapa ya ?
baterai RTC habis mas
Mantap mas, sudah saya coba dan berhasil