Bel di sekolah saat ini banyak menggunakan bel digital yang akan langsung berbunyi sesuai dengan jam yang ditentukan, namun adapula sekolah yang masih menggunakan bel manual. Kali ini kita akan mencoba membuat bel sekolah otomatis menggunakan modul RTC dan buzzer yang akan menyala sesuai waktu yang telah ditentukan.
[lwptoc numeration=”none” title=”Daftar Isi”]
1. Alat / Bahan
- Arduino IDE Download
- Library: LiquidCrystal_I2C Download
- Library: DS3231 Download
- Arduino UNO 1 Buah
- Modul RTC 1 Buah
- LCD 16×2 1 Buah
- I2C 1 Buah
- Buzzer 1 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan dsini.
Baca Juga : Dasar Program Modul RTC
2. Skema Rangkaian
Gambar Rangkaian Bel Sekolah Otomatis
Keterangan:
- 5V – VCC RTC, VCC I2C
- GND – GND RTC, GND I2C, GND Buzzer
- A4 – SDA RTC
- A5 – SCL RTC
- D2 – Pin Buzzer
- SDA – SDA I2C
- SCL – SCL I2C
- Pin LCD – Pin I2C
Baca Juga : Memprogram Module RTC1307 dengan Arduino Mudah
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, Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
Mencari Tahu Alamat I2C Pada Modul I2C - segera Lakukan proses uploading program
4. Sketch Program
/* Program Bel Sekolah Otomatis dibuat oleh Indobot */ #include <LiquidCrystal_I2C.h> //Library LCD I2C LiquidCrystal_I2C lcd(0x27,16,2); //Alamat I2C #include <DS3231.h> //library DS3231 DS3231 rtc(SDA, SCL); //inisialisasi penggunaan i2c Time t; //Variabel t tampat menyimpan waktu int set_jam = 07; //Set alarm jam int set_menit = 00; //Set alarm menit #define Buzzer 2 //Buzzer pada pin D2 bool buzz = false; void setup() { lcd.init (); //Mulai LCD lcd.setBacklight(HIGH); rtc.begin(); //Mulai RTC //setting pertama download program rtc.setDate(30, 9, 2020); //mensetting tanggal rtc.setTime(06, 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() { lcd.setCursor(0,0); lcd.print(rtc.getDateStr()); //prosedur pembacaan tanggal lcd.setCursor(0,1); lcd.print(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 < 5){ //Jika detik < 5, maka if(buzz){ digitalWrite(Buzzer, LOW); //Matikan buzzer } else{ digitalWrite(Buzzer, HIGH); //Nyalakan buzzer } buzz = !buzz; } } } delay (1000); //waktu tunda 1 detik per cycle digitalWrite(Buzzer, LOW); //Matikan buzzer }
Kesimpulan:
Hasil dari alat ini yaitu, ketika alat di aktifkan modul RTC akan menjalankan waktu sesuai yang telah di atur, waktu tersebut juga akan di tampilkan pada layar LCD. Kemudian jika waktu sudah menunjukan jam istirahat atau jam pulang sesuai dengan yang telah di tentukan bel akan mulai berbunyi.
Tanya Min, kalau bel di sekolah pakai bel yang sudah ada (bel AC) berarti buzernya diganti pakai relay ya? sektch arduino nya perlu dirubahkah? Terimakasih atas pencerahannya