Tampilkan Jam Per Detik Arduino RTC
Ambil Data Jam Tampilkan Di Serial Monitor
Assalamu'alaikum. Pada artikel ini saya akan membagikan cara menampilkan waktu berdasarkan detik dari RTC menggunakan Arduino, sehingga jam akan berganti tiap detik.
Disini saya menggunakan library RTCLib dari Adafruit sedangkan untuk modul RTC saya gunakan adalah DS1307. Ini dapat berlaku untuk DS3231 dan lainnya.
Cara Kerja
Konsepnya sederhana. Kita perlu membuat dua variabel, dimana satu variabel untuk membaca waktu saat ini dan variabel kedua untuk menyimpan waktu sebelumnya.
Sehingga dengan waktu sekarang dan waktu sebelumnya dapat di bandingkan. Jika berbeda nilai keduanya, maka tampilkan data waktu.
Kode Program
Jika anda membutuhkan kode program, berikut kodenya:
#include "RTClib.h" RTC_DS1307 rtc; char namaHari[7][7] = { "Ahad", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Sabtu" }; char namaBulan[12][9] = { "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" }; int detikSekarang = 0; int detikSebelumnya = 0; void setup () { Serial.begin(9600); if (! rtc.begin()) { Serial.println("RTC tidak ditemukan"); Serial.flush(); while (1) delay(10); } if (! rtc.isrunning()) { Serial.println("RTC is NOT running, atur waktu manual"); } //Atur waktu sesuai dengan komputer //rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //Atur Waktu manual (Tahun, Bulan, Tanggal, Jam, Menit, Detik); //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); } void loop () { DateTime now = rtc.now(); detikSekarang = now.second(); if (detikSekarang != detikSebelumnya) { Serial.print("Sekarang Hari "); Serial.print(namaHari[now.dayOfTheWeek()-1]); Serial.print(" Tanggal "); Serial.print(now.day()); Serial.print(" "); Serial.print(namaBulan[now.month()]); Serial.print(" "); Serial.print(now.year()); Serial.print(" "); Serial.print("Pukul "); if (now.hour() < 10) { Serial.print("0"); } Serial.print(now.hour()); Serial.print(":"); if (now.minute() < 10) { Serial.print("0"); } Serial.print(now.minute()); Serial.print(":"); if (now.second() < 10) { Serial.print("0"); } Serial.print(now.second()); Serial.println(); detikSebelumnya = detikSekarang; } }
Silahkan anda upload kode diatas ke Arduino board anda, maka hasilnya akan sebagai berikut:
Semoga artikel ini bermanfaat.
Posting Komentar untuk "Tampilkan Jam Per Detik Arduino RTC"