Bel Otomatis Sekolah Part 2
Aplikasi ini adalah pengembangan aplikasi dari bel sekolah otomatis part 1, akan tetapi dalam menghidupkan sistem masih secara manual setiap harinya, dan media penampil untuk memberikan informasi kepada pengguna hanya menggunakan satu buah 7-Segment. Dengan digunakanya RTC, dimungkinkan sistem yang di bangun mampu bekerja selama 24 jam. Dan tidak dipergunakan sistem waktu tunda, tetapi menggunakan sistem perbandingan nilai waktu antara waktu yang terus berjalan (hari dan Jam) dengan tabel jadual pelajaran sekolah yang diisikan/ditulis kedalam bel sekolah otomatis ini.
Dari Gambar 1 terlihat bahwa aplikasi bel sekolah otomatis tidak merubah dari sistem bel sekolah yang sudah ada, hanya menambahkan sebagai pelengkap switch saja. Apabila pada suatu saat bel sekolah otomatis ini tidak digunakan, sistem bel sekolah masih dapat digunakan secara manual dengan penekanan tombol dan tidak perlu merubah lagi sistem yang ada.


Gambar 1
Mikrokontroler AT89C51
AT89C51 adalah mikrokontroler keluaran Atmel dengan 4 Kbyte Flash PEROM (Programmable and Erasable Read Only Memory), AT89C51 merupakan memori dengan teknologi nonvolatile memory, isi memori tersebut dapat di isi ulang maupun dihapus berkali-kali. Memori ini biasa digunakan menyimpan instruksi (perintah) berstandar MCS-51 code.
Pada sistem bel sekolah otomatis, mikrokontroler digunakan untuk mengatur jalannya sistem, baik mengatur pergerakan relay, mengkondisikan keadaan Liquid Crystal Display (LCD), pengambilan dan pengiriman data waktu ke Real Time Clock.
Mengingat cara kerja mikrokontroler AT89C51 tergantung dari instruksi-instruksi program yang diisikan kedalam Flash PEROM dan untuk berkomunikasi dengan perangkat luar, mikrokontroler menggunakan antar muka paralel port, maka pada perancangan mikrokontroler dibagi menjadi dua bagian, yaitu secara Hardware dan Software.
Hardware
Perancangan mikrokontroler AT89C51 secara Hardware, komponen-komponen utama yang dibutuhkan untuk menjalankan instruksi program yang tersimpan di dalam Flash PEROM mikrokontroler dapat dilihat pada Gambar 3.3 dibawah ini :

Gambar Rangkaian Utama Mikrokontroler
Mikrokontroler AT89C51 dari ATMEL memiliki osilator on-chip, yang dapat digunakan sebagai sumber detak (clock) ke CPU, untuk menggunakannya, menghubungkan sebuah resonator kristal atau keramik diantara kaki-kaki XTAL1, XTL2 dan dihubungkan kapasitor ke ground. Pembangkit clock internal tersebut akan menentukan rentetan kondisi-kondisi (state) yang membentuk sebuah siklus mesin mikrkontroler. Satu siklus mesin paling lama dikerjakan dalam 12 periode osilator atau 1md, jika frekuensi kristal adalah 12 Mhz.
Reset dapat dilakukan secara manual maupun otomatis. Saat terjadi reset isi dari register akan berubah. Reset terjadi dengan adanya logika 1 selama minimal 2 cycle pada kaki RST. Setelah kondisi kaki RST kembali Low, Mikrokontroler akan mulai menjalankan program dari alamat 0000h. kondisi pada RAM internal tidak terjadi perubahan selama reset.

Gambar Rangkaian Reset
Gambar 3.4 merupakan rangkaian reset yang bekerja secara otomatis. Pada saat sumber daya diaktifkan, sesuai dengan sifat kapasitor pada saat itu akan terhubung singkat, arus mengalir dari Vcc langsung ke kaki RST sehingga kaki tersebut berlogika 1. kemudian kapasitor terisi hingga tegangan pada kapasitor (Vc) yaitu tegangan antara Vcc dengan titik antara kapasitor dan resistor mencapai Vcc, otomatis tegangan pada resistor berlogika 0. Setelah itu proses reset selesai.
Software
Untuk bisa menjalankan sistem bel sekolah otomatis, yang perlu diperhatikan bukan hanya perangkat hardware-nya saja, karena mikrokontroler tidak akan bekerja sesuai dengan yang diharapkan tanpa ada program di dalam mikrokontroler AT89C51.
Fungsi utama mikrokontroler AT89C51 adalah mengatur jalannya sistem, baik mengatur pergerakan relay, mengkondisikan keadaan Liquid Crystal Display (LCD), pengambilan serta pengiriman data waktu ke Real Time Clock.
Setelah mikrokontroler mengalami reset atau sumber daya diberikan, maka mikrokontroler akan mengkondisikan setiap komponen-komponen yang ada, seperti:
- Mengatur port parallel yang digunakan sebagai port masukan atau port keluaran.
- Mengaktifkan fasilitas timer/counter.
- Mengkondisikan relay bergerak atau tidak.
- Inisialisasi LCD dan RTC.
- Pengaturan pembangkit gelombang yang dimanfaatka sebagai alaram.
Pengkondisian setiap komponen tersebut diatur dengan menggunakan instruksi-instruksi program yang tersimpan di dalam Flash PEROM mikrokontroler AT89C51.
Real Time Clock (RTC)
Real Time Clock dengan menggunakan IC DS12C887 sekaligus Non volatile RAM sebesar 64 byte berfungsi sebagai kalender dan jam elektronik dimana perhitungan hari, tanggal, bulan, tahun, jam, menit, detik tersimpan di memori dengan alamat-alamat tertentu dan alarm yang dapat di program keaktifannya. Sistem perhitungan hari, tanggal, bulan, tahun, jam, menit dan detik pada RTC berjalan secara otomatis dan kontinyu walaupun power supply dimatikan. Pada pemakaiannya, RTC dihubungkan ke mikrokontroler dimana mikrokontroler tersebut melakukan setting mode RTC
RAM internal DS12C887 pada aplikasi ini digunakan untuk menyimpan daftar tabel Keaktifan bel sekolah berbunyi, sehingga data tabel yang telah dimasukkan tidak hilang pada saat sumberdaya listrik mati.

Kaki AS pada RTC (DS12C887) pada gambar 3.5 terhubung dengan kaki ALE pada mikrokontroler AT89C51, sehingga RTC ini menempati lokasi memori eksternal dari mikrokontroler. Karena RTC menempati memori eksternal, akses ke RTC dilakukan dengan melakukan penulisan atau pembacaan lokasi tersebut dengan menggunakan instruksi MOVX.
Pada kaki CS pada RTC terhubung dengan kaki P3.5 pada mikrokontroler, berfungsi sebagai pengunci (Latch) komunikasi bus data antara Mikrokontroler dengan RTC, karena pada aplikasi Switch Automatis Bel Sekolah menggunakan sistem jalur Bus data. Untuk kaki P3.6 dan P3.7 merupakan konfigurasi mikrokontroler untuk pengaksesan memori eksternal dari RTC, seperti halnya baca/tulis.
Untuk komunikasi data antara mikrokontroler dengan RTC, pada mikrokontroler digunakan sistem Multiplex Addressing (pengalamatan bergantian), yaitu me-multiplex data low byte address (ALE). Untuk mengeksekusi RTC dapat di lihat pada Gambar 3.4. Port 0 pada Mikrokontroler didedikasikan sebagai jalur bus data maupun alamat. Port 0 sebagai bus alamat/data yang di-multipleks, mengirimkan byte rendah dari pencacah program sebagai suatu alamat, kemudian berubah dalam kondisi mengambang selama menunggu datang byte kode dari RTC.
Kaki RST terdapat rangkaian reset yang sama persis dengan rangkaian reset pada mikrokontroler AT89C51, cara kerjanya juga serupa dengan RTC, yaitu bekerja secara otomatis.
Penguat yang terhubung pada kaki SQW adalah penguat gelombang kotak yang dihasilkan RTC, dimanfaatkan sebagai alaram pada Switch Automatis Bel Sekolah. Besarnya frekuensi yang dikeluarkan RTC tergantung dari pengaturan register A dan instruksi dari mikrokontroler. Mikrokontroler berperan sebagai pengatur SQW akan atau kapan diaktifkan.
Untuk sistem Switch Automatis Bel Sekolah, besarnya gelombang yang digunakan sebagai alaram sebesar 1,024 KHz. Pengatur pada register A dengan nilai 00001110B, dengan periode sebesar 976.5625 µs.
Liquid Crystal Display (LCD)
Pada bel sekolah otomatis ini digunakan untuk menampilkan hari, jam, menit, detik, tanggal, bulan, tahun dan menu untuk mengatur /memasukkan nilai tabel daftar bel sekolah berbunyi.
Antarmuka LCD 2×16 M1632 dengan menggunakan mode antarmuka 8 bit. Berikut beberapa hal yang perlu diperhatikan : LCD selalu berada pada kondisi tulis (Write), dengan menghubungkan kaki R/W ke Ground. Hal ini dimaksudkan agar LCD tersebut tidak pernah mengeluarkan data (kondisi baca).

Kaki RS pada LCD terhubung dengan P3.2, dimana kaki ini berfungsi sebagai register data atau register perintah ke LCD maupun dari LCD. Dimana register data adalah data yang akan ditampilkan dari mikrokontroler, sedangkan register perintah adalah perintah mikrokontroler untuk mengkondisikan LCD. Untuk kaki E pada LCD terhubung dengan P3.4 dari mikrokontroler, digunakan sebagai pemberi clock dari mikrokontroler ke LCD setiap kali pengiriman atau pembacaan data.
Potensio 10K yang tampak pada Gambar 3.7 berfungsi untuk mengatur tegangan pada kaki VLCD. Besarnya tegangan pada kaki tersebut akan mempengaruhi ketajaman yang tampak pada LCD. Pada kaki A terhubung dengan dioda IN4001 yang berfungsi untuk menjaga ada bias balik dari sumber daya, kaki A ini berfungsi sebagai Backlight pada penampil LCD, dan grounding dari Backlight terhubung pada kaki K. Backlight ini berfungsi sebagai pembangkit cahaya yang timbul dibelakang LCD, sehingga tampilan dari LCD tersebut akan semakin jelas.
Push Button
Push Button digunakan pada bel sekolah otomatis untuk memilih dan mengatur waktu, aktifnya alarm, dan relay.

Push button pada rangkaian dihubungkan ke Port 3 yaitu P3.0, P3.1 dan P3.2 dari mikrokontroler, karena Port ini dapat bersifat bidirectional. port (P3.0, P3.1 dan P3.2) dihubungkan dengan suatu saklar (push-on swith). Karena sifat dari mikrokontroler setelah mengalami reset atau mendapatkan catu daya setiap Port berlogika 1, maka jika saklar tidak ditekan maka logika pada port tersebut akan tetap berlogika 1. seandainya saklar tersebut ditekan, maka port tersebut akan dihubungkan dengan ground, sebagai hasilnya maka logika pada pena tersebut akan menjadi rendah (0). Logika rendah tersebut yang nantinya di deteksi oleh program untuk mengetahui suatu saklar telah ditekan atau tidak. sistem dapat dilihat pada halaman lampiran.










