[lwptoc numeration=”none” title=”Daftar Isi”] |
Module RTC DS3231 adalah salah satu jenis module yang dimana berfungsi sebagai RTC (Real Time Clock) atau pewaktuan digital. Dengan fungsinya sebagai pewaktu digital kita dapat membuat alarm jam digital menggunakan modul RTC.
[membership level=”0,1,2,4″]
Baca Juga : Pendeteksi api menggunakan sensor flame dengan tampilan lcd 16×2
Membuat Alarm Jam Digital Dengan Modul RTC
1. Pertama Alat / Bahan
- Arduino IDE Download
- Library: DS3231 Download
- Arduino UNO 1 Buah
- Modul RTC 1 Buah
- Buzzer 1 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
segera dapatkan komponen elektronik di atas silahkan temukan disini.
2. Kedua, Skema Rangkaian
Gambar Rangkaian Membuat Alarm Jam Digital Dengan Modul RTC
Keterangan:
- 5V – VCC Modul RTC
- GND – GND Modul RTC, GND Buzzer
- SDA – SDA Modul RTC
- SCL – SCL Modul RTC
- D2 – Pin Data Buzzer
[/membership]
3. Langkah Kerja
- Pertama, Siapkan alat dan bahan yang akan digunakan
- kedua, Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
- Ketiga, Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Kemudian, Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Selanjutnya, Ketikkan sketch program pada halaman Arduino IDE
- Setelah itu, Untuk dapat memahami cara kerja program modul RTC, pelajari materi berikut:
Dasar Program Modul RTC - Segera Lakukan proses uploading program
Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO
4. Sketch Program
/* Program Membuat Alarm Jam Digital Dengan Modul RTC dibuat oleh Indobot */ #include <DS3231.h> //mengincludekan library DS3231 DS3231 rtc(SDA, SCL); // inisialisasi penggunaan i2c Time t; //Variabel t tampat menyimpan waktu int set_jam = 00; //Set alarm jam int set_menit = 00; //Set alarm menit #define Buzzer 2 void setup() { Serial.begin(9600); //set komunikasi baut serial monitor pada 9600 rtc.begin(); //setting pertama download program rtc.setDate(30, 9, 2020); //mensetting tanggal rtc.setTime(23, 59, 50); //menset jam rtc.setDOW(3); //menset hari "Rabu" //setelah didownload awal selesai, download kedua dengan memberi tanda komen "//" pinMode(Buzzer, OUTPUT); } void loop() { Serial.print(rtc.getDOWStr()); //prosedur pembacaan hari Serial.print(" "); Serial.print(rtc.getDateStr()); //prosedur pembacaan tanggal Serial.print(" -- "); Serial.println(rtc.getTimeStr()); //prosedur pembacaan waktu t = rtc.getTime(); //Baca waktu int jam = t.hour; int menit = t.min; int detik = t.sec; if(set_jam == jam){ //Jika jam sama dengan alarm, maka if(set_menit == menit){ //Jika menit sama dengan alarm, maka if(detik < 10){ //Jika detik < 10, maka for(int i=0 ; i<3 ; i++){ Serial.println("Bangun Pagi!"); alarm(); //Nyalakan prosedur alarm } } } } delay (1000); //waktu tunda 1 detik per cycle } void alarm(){ //Prosedur alarm for(int j=0 ; j<4 ; j++){ digitalWrite(Buzzer, HIGH); //Nyalakan buzzer delay(50); //Selama 50 ms digitalWrite(Buzzer, LOW); //Matikan buzzer delay(50); //Selama 50 ms } delay(500); //Jeda 500ms }
Kesimpulan:
Program bekerja dengan memulai jam yang kita setting kemudian jam akan bergerak, jika jam menunjukan waktu sesuai alarm yang kita setting maka buzzer akan mulai berbunyi.
[/membership]
Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!