BERBASIS MIKROKONTROLER ATMEGA 16
Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh:
ERIC SANDY FORTUNA WATA PALUNGKUN NIM : 045114049
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2009
In partial fulfilment of the requirements for the degree of Sarjana Teknik Electrical Engineering Study Program
Electrical Engineering Departement
Science and Technology Faculty Sanata Dharma University
by: ERIC SANDY FORTUNA WATA PALUNGKUN
NIM : 045114049
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2009
tikungan bernama
KEGAGALAN
, ada bundaran bernama
KEBINGUNGAN
, ada tanjakan bernama
KESULITAN
. Lampu
merah bernama
MUSUH
, lampu kuning bernama
COBAAN
, kamu
akan mengalami ban kempes dan pecah, itulah hidup. Tetapi jika
kamu membawa ban serep bernama
IMAN
, mesin bernama
PENGHARAPAN
, asuransi bernama
KASIH
, pengemudi bernama
YESUS
maka sampailah kamu ke tempat yang disebut
BAHAGIA
dan
SUKSES
.
Tugas Akhir ini kupersembahkan untuk:
1. Tuhan Yesus Kristusatas pertolongannya di dalam hidupku.
2. (Alm) PapidanMamiyang tercinta.
3. Emil, Indah,danJeni tersayang.
4. Almamaterku Teknik Elektro Universitas Sanata Dharma
Yogyakarta.
karena bisa menandakan awal dan berakhirnya suatu kegiatan. Penandaan waktu dapat berupa jam dan alarm untuk mengatur kegiatan belajar mengajar di sekolah supaya berjalan dengan lancar.
Alat ini terdiri dari sebuah rangkaian master dengan penampil LCD dan 2 buah rangkaian slave dengan penampil seven segment yang masing-masing mempunyai jam dan alarm. Rangkaian master dan slave tersebut dikendalikan oleh mikrokontroler ATMEGA 16. Pengaturan jam dan alarm diatur pada rangkaian master. Informasi waktu yang berupa jam, menit, detik, hari, tanggal, bulan, dan tahun diperoleh dari IC RTC (Real Time Clock) DS1307 yang terdapat pada rangkaian master. Terdapat 3 mode alarm pada sistem ini yaitu mode off, mode interval, dan mode jam-jam tertentu. Proses mentransmisikan data dari rangkaian master ke rangkaian slave menggunakan komunikasi serial RS-485.
Dari hasil pengujian, dapat disimpulkan bahwa alat ini dapat bekerja dengan baik menggunakan kabel UTP (Unshielded Twisted Pair) sepanjang 10 meter. Hal ini dapat dibuktikan dengan melihat data waktu RTC yang ditampilkan dengan baik pada tiap-tiap tampilan rangkaian dan juga buzer akan berbunyi jika data waktu RTC sudah sama dengan data alarm yang tersimpan.
Kata kunci: Jam dan alarm, mikrokontroler ATMEGA 16, RTC, RS-485.
the begin and the end of the activity. Signaling time could be like clock and alarm which is manage all of study activity become smooth.
This tool contains of one master circuit with LCD display and two slave circuit with seven segment display that have clock and alarm itself. Those master and slave series are controlled by ATMEGA 16 microcontroller. Manage of clock and alarm are controlled in master circuit. Information of time could be like hour, minute, second, day, date, month and year were given by IC RTC (Real Time Clock) DS1307 that were contain in master circuit. There were three alarm mode in this system. There were off mode, interval mode and specific-hours mode. The process of transmission data from master circuit to slave circuit are using by serial communication RS-485.
The result of experiment could be concluded that tool had a good work with UTP (Unshielded Twisted Pair) cabel about 10 meter long. It could be proved in RTC time data which are good view on series projection and buzzer could be sound on if RTC time data as same as alarm data that already saved.
Key word: Clock and alarm, ATMEGA 16 microcontroller, RTC, RS-485.
Syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala rahmat dan
karunia-Nya sehingga tugas akhir dengan judul “Jam dan Alarm Sekolah Berbasis
Mikrokontroler ATMEGA 16” ini dapat diselesaikan dengan baik.
Selama menulis Tugas Akhir ini, penulis menyadari bahwa ada begitu
banyak pihak yang telah memberikan bantuan dengan caranya masing-masing,
sehingga Tugas Akhir ini bisa diselesaikan. Oleh karena itu penulis ingin
mengucapkan terima kasih kepada:
1. (Almarhum) Ayah yang sudah tenang di sorga dan Ibu tercinta. Terima
kasih atas segala doa, semangat, kesabaran dan dukungan baik secara
moral ataupun materi.
2. Ketiga saudaraku Emil W.P, Indah W.P, dan Jeni W.P atas segala
dukungan dan pengertiannya.
3. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku dekan Fakultas Sains dan
Teknologi.
4. Bapak Martanto, S.T., M.T. selaku dosen pembimbing I yang telah banyak
meluangkan waktu untuk memberikan bimbingan, semangat, pengetahuan,
diskusi, arahan, kritik dan saran dalam menyelesaikan Tugas Akhir.
5. Bapak B. Djoko Untoro Suwarno, S.Si., M.T. selaku dosen pembimbing II
yang dengan senang hati memberikan pengarahan, bimbingan dan segenap
perhatiannya.
Jimmy.
8. Arnold yang telah meluangkan waktu dalam memberikan bimbingan,
pengetahuan, diskusi, arahan, kritik dan saran dalam menyelesaikan Tugas
Akhir.
9. Seluruh teman teknik elektro angkatan 2004 atas segala dukungan dan
bantuan.
10.Berbagai pihak yang tidak bisa penulis sebutkan satu-persatu atas bantuan,
dukungan, bimbingan, kritik dan saran.
Dengan rendah hati penulis menyadari bahwa Tugas Akhir ini masih jauh
dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas
akhir ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat
bagi semua pihak. Terima kasih.
Yogyakarta, Juli 2009
Penulis
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERNYATAAN KEASLIAN KARYA ... v
HALAMAN PERSEMBAHAN DAN MOTTO ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
INTISARI ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xvii
DAFTAR TABEL ... xxii
BAB I PENDAHULUAN ... 1
1.1. Judul ... 1
1.2. Latar Belakang ... 1
1.3. Batasan Masalah ... 2
1.4. Rumusan Masalah ... 3
1.5. Tujuan dan Manfaat... 3
1.5.1. Tujuan ... 3
1.5.2. Manfaat ... 4
2.1. Tombol ... 6
2.1.1. Tombol NO SPST Momentary Contact ... 7
2.1.2. Tombol NO DPST Momentary Contact ... 7
2.2. Mikrokontroler ATMEGA 16 ... 8
2.2.1. Fitur-fitur yang dimiliki oleh ATMEGA 16 ... 8
2.2.2. EEPROM ... 10
2.2.3. Two-Wire Serial Interface (TWI) ... 10
2.2.4. Reset... 11
2.2.5. USART ... 11
2.3. RealTime Clock DS1307 ... 15
2.3.1. Address Map dari RTC ... 16
2.3.2. I2C Data Bus ... 17
2.4. LCD (Liquid Crystal Display) ... 22
2.5. Standar Komunikasi Serial ... 24
2.5.1. Pengaturan Impedansi Terminal ... 25
2.5.2. Pemberian Prasikap Pada Jaringan RS-485 ... 27
2.5.3. Pengaman Jaringan RS-485 Terhadap Beda Potential Listrik ... 29
2.6. Transistor ... 31
2.7. Seven Segment ... 34
2.8. Buzzer ... 35
3.2.1. Rangkaian Master ... 39
3.2.1.1. Rangkaian Tombol Matriks Keypad 4 x 4 ... 39
3.2.1.2. Rangkaian Mikrokontroler Master ... 41
3.2.1.3. Rangkaian Osilator ... 42
3.2.1.4. Rangkaian Reset ... 43
3.2.1.5. Rangkaian RTC ... 44
3.2.1.6. Rangkaian Display ... 44
3.2.1.7. Rangkaian Alarm ... 45
3.2.2. Rangkaian Slave ... 46
3.2.2.1 Rangkaian Mikrokontroler Slave ... 46
3.2.2.2. Rangkaian Osilator dan Rangkaian Reset ... 48
3.2.2.3. Rangkaian Display Seven Segment... 48
3.2.2.4. Rangkaian Alarm... 49
3.2.3. Komunikasi Serial ... 50
3.2.3.1. IC Komunikasi Serial RS-485 ... 51
3.2.3.2. Konfigurasi Jaringan ... 52
3.2.3.3. Komponen Penyesuai Impedansi ... 53
3.2.3.4. Pemberian Prasikap pada Jaringan ... 53
3.2.3.5. Pengamanan Beda Potensial Untuk Jaringan ... 56
3.3. Perancangan Perangkat Lunak ... 57
3.3.1.3. Sub Rutin Atur Alarm ... 59
3.3.1.4. Sub Rutin Pemilihan Mode Alarm untuk Master ... 60
3.3.1.5. Sub Rutin Pemilihan Mode Alarm untuk Slave ... 61
3.3.2. Diagram Alir Utama pada Rangkaian Slave ... 62
BAB IV HASIL DAN PEMBAHASAN... 64
4.1. Hasil Akhir Perancangan ... 64
4.2. Pengamatan Sistem ... 66
4.2.1. Cara Menjalankan Jam dan Alarm Sekolah ... 66
4.2.2. Pengujian Pembacaan dan Pengaturan RTC DS1307... 68
4.2.3. Pengaturan Alarm ... 69
4.2.4. Tampilan-Tampilan pada Slave ... 73
4.2.5. Pengujian RS-485 ... 77
4.2.6. Transmisi Data Serial ... 79
4.2.7. Format Data ... 80
4.2.8. Pengujian Menggunakan Terminal Codevison AVR ... 83
4.2.9. Pengujian Alarm ... 92
4.3. Catu Daya ... 94
BAB V KESIMPULAN DAN SARAN ... 95
5.1. Kesimpulan ... 95
5.2. Saran ... 95
Gambar 2.2. Konfigurasi DPST ... 8
Gambar 2.3. Konfigurasi pin ATMEGA 16 ... 9
Gambar 2.4. Interkoneksi TWI ... 10
Gambar 2.5. Rangkaian reset ... 11
Gambar 2.6. Register UBBRH dan UBBRL ... 13
Gambar 2.7. Register UCSRC ... 13
Gambar 2.8. Konfigurasi pin DS1307 ... 16
Gambar 2.9. Timing diagram mengirim data melalui I2C ... 18
Gambar 2.10. Write mode data ke RTC ... 21
Gambar 2.11. Read mode data dari RTC ... 22
Gambar 2.12. Bentuk LCD 16 x 2 ... 22
Gambar 2.13. Bagian LCD ... 22
Gambar 2.14. Sinyal dari pemancar (driver) dan penerima (receiver ) ... 25
Gambar 2.15. Rangkaian parallel termination dan Rangkaian AC-Coupled termination... 27
Gambar 2.16. Transceiver dengan resitor prasikap ... 27
Gambar 2.17. Pemisahan ground dengan isolasi optic... 29
Gambar 2.18. Penyambungan ground data dan ground lokal dengan koneksi resistor ... 30
Gambar 2.19. Sistem proteksi shunting device menggunakan dioda zener .... 30
Gambar 2.22. Karakteristik transistor ... 33
Gambar 2.23. Seven segment common anoda ... 34
Gambar 2.24. Seven segment common katoda ... 35
Gambar 2.25. Rangkaian penggerak buzzer ... 35
Gambar 3.1. Diagram blok sistem ... 37
Gambar 3.2. Rangkaian matriks keypad 4 x 4 ... 40
Gambar 3.3. Konfigurasi rangkaian master... 42
Gambar 3.4. Rangkaian osilator ... 43
Gambar 3.5. Rangkaian reset ... 44
Gambar 3.6. Rangkaian alarm ... 46
Gambar 3.7. Konfigurasi rangkaian slave ... 47
Gambar 3.8. Rangkaian display seven segment ... 48
Gambar 3.9. Rangkaian alarm pada rangkaian slave ... 50
Gambar 3.10. IC SN75176 ... 51
Gambar 3.11. Rangkaian sistem komunikasi RS-485 ... 52
Gambar 3.12. Rangkaian RS-485 dengan konfigurasi multidrop 2 kabel ... 52
Gambar 3.13. Komponen penyesuai impedansi ... 53
Gambar 3.14 Rangkaian prasikap untuk jaringan ... 56
Gambar 3.15. Rangkaian pengaman dengan metode shunting device ... 56
Gambar 3.16. Diagram alir utama pada rangkaian master ... 58
Gambar 3.20. Diagram alir pemilihan mode alarm untuk master ... 61
Gambar 3.21. Diagram alir pemilihan mode alarm untuk slave ... 62
Gambar 3.22. Diagram alir utama pada rangkaian slave ... 63
Gambar 4.1. Bentuk fisik jam dan alarm sekolah ... 64
Gambar 4.2. Bentuk fisik rangkaian master ... 65
Gambar 4.3. Bentuk fisik rangkaian slave ... 66
Gambar 4.4. Tampilan awal pada master ... 68
Gambar 4.5. Tampilan awal pada slave ... 68
Gambar 4.6. Tampilan untuk pengaturan waktu ... 69
Gambar 4.7. Tampilan ruang 2 atau 3 offline ... 70
Gambar 4.8. Tampilan pengaturan alarm mode off ... 71
Gambar 4.9. Tampilan pengaturan alarm mode interval ... 71
Gambar 4.10. Tampilan pengaturan mode jam-jam tertentu ... 73
Gambar 4.11. Tampilan untuk melihat tanggal ... 73
Gambar 4.12. Tampilan untuk melihat hari ... 74
Gambar 4.13. Tampilan mode off pada slave ... 74
Gambar 4.14. Tampilan mode interval pada slave ... 75
Gambar 4.15. Tampilan mode jam-jam tertentu pada slave ... 76
Gambar 4.16. Hasil pengamatan sinyal data waktu RTC . ... 80
Gambar 4.17. Data waktu RTC yang dikirim oleh master... 84
Gambar 4.20. Data alarm mode off yang dikirim ke slave 1 ... 85
Gambar 4.21. Data waktu RTC yang diterima oleh slave 2 ... 85
Gambar 4.22. Data alarm mode off yang diterima oleh slave 1 ... 86
Gambar 4.23. Data alarm mode off yang diterima oleh slave 2 ... 86
Gambar 4.24. Data jam mulai mode interval yang dikirim ke slave 1 ... 87
Gambar 4.25. Data jam akhir mode interval yang dikirim ke slave 1 ... 87
Gambar 4.26. Data interval mode interval yang dikirim ke slave 1 ... 87
Gambar 4.27 Data jam mulai mode interval yang diterima oleh slave 1 ... 88
Gambar 4.28. Data jam akhir mode interval yang diterima oleh slave 1 ... 88
Gambar 4.29. Data interval mode interval yang diterima oleh slave 1 ... 88
Gambar 4.30. Data jam mulai mode interval yang dikirim ke slave 2 ... 89
Gambar 4.31. Data jam akhir mode interval yang dikirim ke slave 2 ... 89
Gambar 4.32. Data interval mode interval yang dikirim ke slave 2 ... 89
Gambar 4.33. Data jam mulai mode interval yang diterima oleh slave 2 ... 89
Gambar 4.34. Data jam akhir mode interval yang diterima oleh slave 2 ... 90
Gambar 4.35. Data interval mode interval yang diterima oleh slave 2 ... 90
Gambar 4.36. Data alarm 1 mode jam-jam tertentu yang dikirim ke slave 1 ... 91
Gambar 4.37. Data alarm 1 mode jam-jam tertentu yang dikirim ke slave 2 ... 91
yang diterima oleh slave 2... 91
Tabel 2.2 Konfigurasi RTC DS1307 ... 16 Tabel 2.3 Alamat peta RTC DS1307 ... 17 Tabel 2.4. Pin LCD ... 23
Tabel 3.1. Kombinasi baris dan kolom matriks keypad 4 x 4 ... 41
Tabel 3.2. Daftar heksa dari tampilan angka pada seven segment ... 49
Tabel 4.1. Data alarm mode off pada hari senin ruang 1 ... 71
Tabel 4.2. Data alarm mode interval pada hari senin ruang 1 ... 72
Tabel 4.3. Data alarm mode jam-jam tertentu pada hari senin ruang 1 ... 72
Tabel 4.4 Data alarm mode off yang diterima oleh ruang 2 atau 3 ... 75
Tabel 4.5. Data alarm mode interval yang diterima oleh ruang 2 atau 3 ... 76
Tabel 4.6. Data alarm mode jam-jam tertentu pada ruang 2 atau 3 ... 77
Tabel 4.7. Data alarm yang dikirim ke slave 1 (ruang 2) ... 78
Tabel 4.8. Data alarm yang diterima oleh slave 1 (ruang 2) ... 78
Tabel 4.9. [Lanjutan] Data alarm yang diterima oleh slave 1 (ruang 2) ... 79
Tabel 4.10. Format data waktu RTC yang dikirim ... 81
Tabel 4.11. Format data alarm mode off yang dikirim ... 81
Tabel 4.12. Format data alarm mode interval yang dikirim ... 82
Tabel 4.13. Format data alarm mode jam-jam tertentu yang dikirim ... 83
Tabel 4.14. Data alarm mode campuran pada master (ruang 1) ... 92
Tabel 4.15. [lanjutan] Data alarm mode campuran pada master (ruang 1) ... 93
Tabel 4.16. Data alarm mode campuran pada slave 1 (ruang 2) ... 93
1.1
Judul
Jam dan Alarm Sekolah Berbasis Mikrokontroler ATMEGA 16.
1.2
Latar Belakang
Jam merupakan tolak ukur waktu yang menjadi patokan kegiatan manusia
dalam melakukan kegiatan sehari-hari. Penandaan waktu dalam kehidupan
modern saat ini sangatlah penting, dengan penandaan waktu ini bisa menandakan
awal dan berakhirnya suatu kegiatan. Biasanya awal dan berakhirnya suatu
kegiatan ditandai dengan suatu bunyi bel/alarm, misalnya dalam kegiatan belajar
mengajar di sekolah. Saat ini sekolah masih menggunakan jam analog di setiap
ruangan dan bel/alarm yang digunakan tidak bisa diatur untuk masing-masing
ruangan tetapi diatur untuk satu sekolah secara keseluruhan. Bel/alarm sekolah
tersebut dibunyikan secara manual oleh seorang operator dengan cara menekan
tombol bel/alarm tersebut. Hal ini sangat tidak praktis dikarenakan apabila
operator tidak bisa menekan tombol bel/alarm tersebut maka kegiatan belajar
mengajar di sekolah akan terganggu. Dan apabila bel/alarm yang berbunyi tidak
tepat waktu juga akan mengganggu kegiatan belajar mengajar di sekolah.
Untuk mengatasi permasalahan-permasalahan tersebut maka diharapkan
ada suatu alat yang dapat mengatur bunyi bel/alarm secara otomatis dengan
pengendalian yang mudah, serta tampilan jam yang mudah dibaca. Alat itu dapat
diimplementasikan menggunakan mikrokontroler. Oleh karena itu, pada
kesempatan penyusunan Tugas Akhir ini, penulis akan membuat sebuah jam dan
bel/alarm sekolah berbasis mikrokontroler, yang mudah dan sederhana dalam
pengendaliannya. Jam ini dirancang supaya tampilan jamnya dapat dibaca dengan
mudah karena jam ini menampilkan jam berupa angka-angka secara presisi. Jam
akan tetap berjalan walaupun alat ini tidak mendapat sumber tegangan sehingga
tidak diperlukan pengaturan ulang ketika alat ini mendapat sumber tegangan lagi.
Alarm yang digunakan akan ditempatkan pada masing-masing ruangan. Pengaturan alarm ini dapat dibuat berbeda untuk setiap ruangan sehingga alarm
dapat diatur sesuai dengan jadwal pelajaran masing-masing kelas. Pengaturan
alarm tidak perlu dilakukan setiap hari karena data pengaturan alarm tersebut akan disimpan di mikrokontroler dan tidak akan hilang walaupun alat ini tidak
mendapat sumber tegangan. Jam dan bel/alarm ini dibuat agar kegiatan belajar
mengajar di sekolah dapat berjalan dengan tepat waktu.
1.3
Batasan Masalah
Dalam perancangan pembuatan Tugas Akhir ini penulis membuat batasan
masalah yaitu:
1. Menggunakan mikrokontroler ATMEGA 16 sebagai pengendalinya.
2. Menggunakan real time clock DS1307.
4. Tampilan jam pada mikrokontroler master menggunakan LCD 16 x 2
sedangkan pada mikrokontroler slave menggunakan common anodaseven
segment.
5. Pengaturan tampilan jam dan bel/alarm menggunakan tombol push button.
6. Menggunakan RS485 sebagai komunikasi antar mikrokontroler.
7. Mempunyai 3 mode alarm yaitu mode off, mode interval, dan mode
jam-jam tertentu.
1.4
Rumusan Masalah
Dari permasalahan yang diuraikan diatas dapat diambil beberapa rumusan
masalah yaitu :
1. Bagaimana mengakses data waktu dari real time clock ?
2. Bagaimana mengaktifkan alarm pada jam-jam tertentu dan pada interval
jam tertentu ?
3. Bagaimana membuat komunikasi serial antar mikrokontroler ?
4. Bagaimana membuat rangkaian antarmuka mikrokontroler, tombol-tombol
masukan, seven segment, dan real time clock ?
1.5
Tujuan dan Manfaat
1.5.1 Tujuan
Tujuan yang hendak dicapai pada Tugas Akhir ini adalah membuat suatu
1.5.2 Manfaat
Adapun manfaat yang akan dicapai dari alat ini adalah :
1. Tersedianya alat untuk referensi sebagai cara membuat jam digital.
2. Memberikan kepada pembaca bagaimana membuat suatu jam digital dan
bel/alarm. Alat ini bisa mengatur suatu alarm berbunyi menjadi otomatis
sesuai dengan program yang telah diisikan pada alat ini.
3. Selain dari situ juga diharapkan, proyek Tugas Akhir ini menambah sarana
bagi sekolah.
1.6
Metodologi Penelitian
Metodologi yang dilakukan dalam penyusunan Tugas Akhir ini adalah:
1. Observasi, pengumpulan dan pengambilan data-data melalui pembacaan
buku-buku penunjang dari Tugas Akhir dan melalui informasi-informasi
yang didapat dari internet serta dosen pembimbing Tugas Akhir.
2. Perancangan, penyediaan seluruh komponen yang dibutuhkan dilanjutkan
perakitan dan pembuatan alat.
3. Pengujian alat, dilakukan pengujian per bagian sistem dan sistem secara
keseluruhan untuk mengetahui cara kerja dari alat dilanjutkan
pengumpulan data-data dan menyusunnya sebagai hasil akhir dalam Tugas
Akhir.
4. Kesimpulan, mengambil kesimpulan dari hasil yang didapat lewat
1.7
Sistematika Penulisan
Sistematika penulisan dibagi menjadi beberapa bab, yaitu:
BAB I : PENDAHULUAN
Berisi latar belakang masalah, batasan masalah, tujuan dan
manfaat, metode penulisan, dan sistematika penulisan.
BAB II : DASAR TEORI
Berisi dasar teori yang meliputi real time clock DS1307,
mikrokontroler ATMEGA 16, seven segment, transistor,
RS485, tombol, LCD (Liquid Crystal Display).
BAB III : PERANCANGAN ALAT
Berisi blok diagram perancangan, perancangan alat secara
hardware dan secara software. BAB IV : PENGUJIAN ALAT
Berisi hasil pengujian alat per bagian, pengujian sistem secara
keseluruhan, dan pembahasan.
BAB V : KESIMPULAN
Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem
komputer. Banyak contoh atau jenis dari mikrokontroler yang ada sekarang ini
dan salah satunya adalah mikrokontroler ATMEGA 16. Misalnya yang digunakan
pada suatu sistem pengaman mobil yang pintar. Mikrokontroler tersebut berperan
sebagai otak atau pusat dari seluruh proses yang ingin dilakukan. Dengan adanya
mikrokontroler maka prosesnya semakin lebih mudah. Salah satu aplikasi lain dari
mikrokontroler ATMEGA 16 dapat dilihat pada perancangan yang akan dibuat ini
yaitu “JAM DAN ALARM SEKOLAH BERBASIS MIKROKONTROLER ATMEGA 16” yang digunakan dalam proses kegiatan belajar mengajar di sekolah. Dalam perancangan dan pembuatan jam dan alarm ini, tentunya harus
terlebih dahulu mengetahui prinsip kerja dasar dan piranti atau komponen yang
akan digunakan.
2.1
Tombol
Tombol merupakan suatu komponen yang berfungsi untuk
menghubungkan dan memutuskan arus. Tombol tersusun dari titik sambungan
yang terbuat dari bahan yang tahan terhadap busur api (arc) yang disebabkan saat
arus diputus dan saat arus terhubung. Ada dua jenis tombol yaitu tombol NO
SPST (Normally Open Single Pole, Single Throw) momentary contact dan tombol
NO DPST (Normally open double pole, single throw )momentary contact .
2.1.1 Tombol NO SPST Momentary Contact
Tombol NO SPST momentary contact adalah salah satu jenis saklar yang
dalam keadaan normal berkondisi OFF (Normally Open), berupa satu kutub
(berasal dari satu sumber) dan menghantarkan arus hanya ke satu beban.
Penghantaran arus dan tegangan (kondisi ON) dari suatu sumber terjadi jika
tombol ditekan, dan pemutusan arus dan tegangan (kondisi OFF) terjadi saat
tombol dilepas atau ketika tidak ditekan, sehingga dinamakan momentary contact
[1]. Konfigurasi NO SPST ditunjukan pada Gambar 2.1.
Gambar 2.1. Konfigurasi SPST [1].
2.1.2 Tombol NO DPST Momentary Contact
Tombol NO DPST (Normally open double pole, single throw) momentary
contact adalah salah satu jenis saklar yang dalam keadaan normal berkondisi OFF (Normally Open) terdiri dari sepasang kontak yang dioperasikan secara bersamaan
dengan sekali penekanan. Penghantaran arus dan tegangan (kondisi ON) dari
suatu sumber terjadi jika saklar ditekan dan akan terputus (kondisi OFF) jika
Gambar 2.2. Konfigurasi DPST [1].
2.2
Mikrokontroler ATMEGA 16
2.2.1 Fitur – fitur yang dimiliki oleh ATMEGA 16
1. 131 macam instruksi, yang hampir semuanya dieksekusi dalam satu siklus
clock.
2. 32 x 8 bit register serba guna.
3. Kecepatan mencapai 16 MIPS dengan 16 MHz.
4. 16 KByte Flash Memori, yang memiliki fasilitas in-sistem Programming.
5. 512 Byte internal EEPROM dan 512 Byte SRAM.
6. Programming Lock, fasilitas untuk mengamankan kode program.
7. 2 buah timer / counter 8-bit dan 1 buah timer/counter 16-bit.
8. 4 channel output PWM, 8 channel ADC 10-bit dan serial USART.
9. Master / Slave SPI serial interface dan serial TWI atau 12C dan ON-Chip
Gambar 2.3. Konfigurasi pin ATMEGA 16 [2].
Pada Gambar 2.3 menunjukkan konfigurasi pin ATMEGA 16, sehingga
pin tersebut dapat di deskripsikan sebagai berikut [2]:
1) PORTA (PORTA ), merupakan pin IO dua arah dan berfungsi khusus
sebagai pin masukan ADC. 7
0−
2) PORTB (PORTB ), merupakan pin IO dua arah dan fungsi khusus
sebagai pin timer/counter, komparator analog dan SPI. 7
0−
3) PORTC (PORTC0−7), merupakan pin IO dua arah dan fungsi khusus.
4) PORTD (PORTD0−7), merupakan pin IO dua arah dan fungsi khusus.
5) RESET (pin 9) adalah pin untuk me-reset mikrokontroler.
6) XTAL1 dan XTAL2 pin untuk exsternal clock.
7) VCC (pin 10) dan GND (pin 11).
9) AREF adalah pin masukan untuk tegangan referensi eksternal ADC.
2.2.2 EEPROM
Mikrokontroler ATMEGA 16 memiliki EEPROM sebesar 512 byte yang
dapat ditulisi sebanyak 100000 kali. Memori EEPROM ini hanya dapat diakses
dengan menggunakan register-register I/O yaitu register EEPROM. Untuk
mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal
sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan
mengakses data dari SRAM [2].
2.2.3 Two-Wire Serial Interface (TWI)
Mikrokontroler ATMEGA 16 memiliki fitur komunikasi serial alternatif
yang lain yaitu Two-Wire Serial Interface (TWI). Komunikasi ini termasuk dalam
jenis synchronous karena memiliki satu sumber clock yang digunakan secara
bersama – sama untuk semua peripheral. Komunikasi TWI hanya membutuhkan 2
jalur transmisi yaitu satu jalur untuk clock (SCL) dan satu jalur untuk data (SDA).
Dengan komunikasi TWI ini kita dapat menghubungkan peripheral-peripheral
eksternal sampai dengan 128 buah hanya dengan menggunakan 2 jalur transmisi seperti terlihat pada Gambar 2.4.
2.2.4 Reset
Gambar 2.5 menunjukkan konfigurasi tombol reset. Reset akan aktif bila pin
RST diberikan logika high selama 2 µs.
R1
10K
VCC (pin 10) RST (pin 9)
10uF RESET
1 2
Gambar 2.5. Rangkaian reset [2].
Pada Gambar 2.5 apabila saklar tidak ditekan, pin reset pada
mikrokontroler akan mendapatkan logika rendah ‘0’. Sedangkan saat saklar
ditekan pin akan mendapatkan logika tinggi ‘1’ dan akan me-reset mikrokontoler.
Resistor dan kapasitor digunakan untuk memperoleh waktu pengosongan
kapasitor. Lamanya waktu yang dibutuhkan untuk me-reset adalah dua siklus
mesin dan memenuhi Persamaan 2.1.
T = R x C ………..………...…..(2.1)
2.2.5 USART
Universal Synchronous and Asynchronous Serial Receiver and
Transmitter (USART) juga merupakan salah satu mode komunikasi serial yang
memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data
baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC
USART memungkinkan transmisi data baik secara synchronous maupun
asynchronous sehingga dengan demikian USART pasti kompatibel dengan UART. Pada mikrokontroler ATMEGA 16, secara umum pengaturan mode
komunikasi baik synchronous maupun asynchronous adalah sama. Perbedaannya
hanyalah terletak pada sumber clock saja. Jika pada mode asynchronous masing –
masing peripheral memiliki sumber clock sendiri maka pada mode synchronous
hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan
demikian secara hardware untuk mode asynchronous hanya membutuhkan 2 pin
yaitu TXD dan RXD sedangkan untuk mode synchronous harus 3 pin yaitu TXD,
RXD dan XCK.
Untuk mengatur mode dan prosedur komunikasi USART dilakukan
melalui register USCRA, UCSRB, UCSRC, UBRRH, UBRRL dan UDR. Secara
khusus untuk mengatur USART baudrate menggunakan register
UBRRL-UBRRH.
UBRRL dan UBRRH atau sering disebut sebagai UBRR merupakan
register yang digunakan untuk mengatur kecepatan/baudrate transmisi data pada komunikasi USART. UBRR sebetulnya berupa register 16-bit tetapi untuk upper
bytenya yaitu register UBRRH digunakan bersama-sama dengan register UCSRC
pada gambar 2.7 [2]. Sehingga untuk mengaksesnya diperlukan pemilihan register
Gambar 2.6.Register UBBRH dan UBBRL [2].
Gambar 2.7.Register UCSRC [2].
1. Bit 15 - URSEL: Register Select.
Jika bit URSEL, bernilai ’1’ berarti mengakses register UCSRC dan jika
bit URSEL benilai ’0’ berarti mengakses register UBRRH.
2. Bit 14:12 - Tidak digunakan.
3. Bit 11:0 - UBRR11:0 USART Baud Rate Register
UBRR11:0 adalah register dengan lebar 12-bit yang digunakan untuk
menentukan baudrate komunikasi USART. Pengaturan baudrate dan
penentuan nilai register UBBR dapat dihitung dengan menggunakan
Tabel 2.1. Perhitungan UBRR dan Baud Rate [2]
Keterangan:
BAUD : Baudrate (bps)
Fosc : Frekuensi Osilator (Frekuensi kristal)
UBRR : Nilai register UBRR (UBRRH-UBRRL)
Pada perhitungan baudrate sering dilakukan pendekatan terhadap hasil
perhitungan rumus. Sebagai hasil pendekatan akan menyebabkan terjadinya error,
dengan error yang muncul akibatnya pendekatan ini dapat dirumuskan sebagai
berikut [2]:
100 1⎟×
⎠ ⎞ ⎜
⎝
⎛ −
=
BaudRate BaudRate
Error ClosestMatch
%..………...…..(
2.2)
Keterangan
Error : Presentase error yang dihasilkan
BaudRate : BaudRate hasil perhitungan
2.3
Real Time Clock
DS1307
Real Time Clock adalah daya rendah, penuh BCD jam / kalender plus 56
byte dari nonvolatile SRAM. Alamat dan data yang dikirim melalui serial 2-wire
bi-directional bus. Jam/kalender ini menyediakan detik, menit, jam, hari, tanggal,
bulan, dan tahun informasi. Akhir bulan tanggal secara otomatis akan disesuaikan
untuk bulan dengan kurang dari 31 hari, termasuk koreksi untuk tahun kabisat.
Jam dapat beroperasi di 24 jam atau 12 jam dengan format AM/PM sebagai
indikatornya. DS1307 memiliki daya built-in rasa sirkuit yang mendeteksi
gangguan listrik dan secara otomatis beralih ke baterai pasokan [3].
Berikut ini merupakan features Real Time Clock DS1307 :
1. Real time clock menghitung detik, menit, jam, hari, tanggal, bulan, dengan
kompensasi tahun kabisat berlaku sampai dengan 2100.
2. Memiliki 56 byte nonvolatile RAM untuk penyimpanan data.
3. Memiliki 2-wire serial interface.
4. Programmable squarewave sinyal output.
5. Otomatis daya gagal mendeteksi dan beralih circuitry.
6. Dipakai kurang dari 500 na dalam baterai cadangan.
7. Modus berjalan dengan osilator.
8. Opsional industri suhu berkisar -40°C sampai 85°C.
9. Tersedia dalam 8-pin DIP atau SOIC.
Gambar 2.8. Konfigurasi pin DS1307 [3].
Tabel 2.2. Konfigurasi RTC DS1307 [3].
Nama Pin Keterangan
X1, X2 32,768 kHz crystal sambungan
VBAT 3 volt battery input
GND Ground
SDA Serial Data
SCL Serial Jam
SQW / OUT Square gelombang / Output Driver
VCC Dasar Power Supply
2.3.1 Address Map dari RTC
Alamat peta untuk RTC dan RAM register DS1307 dapat dilihat pada
Tabel 2.3. Register jam terletak di lokasi alamat 00h sampai 07h sedangkan
Tabel 2.3. Alamat peta RTC DS1307 [3].
2.3.2 I2C Data Bus
I2C adalah protokol transfer data serial. Device atau komponen yang mengirim data disebut transmitter, sedangkan device yang menerimanya disebut
receiver. Device yang mengendalikan operasi transfer data disebut master, sedangkan device lainnya yang dikendalikan oleh master disebut slave. Master
device harus menghasilkan serial clock melalui pin SCL, mengendalikan akses ke BUS serial dan menghasilkan sinyal kendali START dan STOP. DS1307 adalah
real time clock yang berperan sebagai slave pada komunikasi serial ini, sedangkan
master-nya dalah sebuah prosesor. Gambar 2.9 adalah timing diagram mengirim data melalui I2C.
• Data kirim hanya dapat dimulai ketika saluran tidak sibuk, ditandai dengan
kondisi HIGH yang cukup lama pada pin SCL maupun SDA.
• Selama kirim data, ketika pin SCL HIGH, pin SDA harus dalam keadaan
stabil, LOW atau HIGH tergantung informasi yang ingin dikirim.
kondisi SDA pada saat SCL HIGH akan dianggap sebagai sinyal kendali
START (HIGH ke LOW) atau STOP (LOW ke HIGH).
Gambar 2.9.Timing diagram mengirim data melalui I2C [3].
Berikut ini adalah beberapa jenis kondisi pada BUS [3]:
Bus not busy:Pada saat bus tidak sibuk, SCL dan SDA dalam keadaan HIGH.
Start data transfer: Ditandai dengan perubahan kondisi SDA dari HIGH ke LOW ketika SCL HIGH.
Stop data transfer:Ditandai dengan perubahan kondisi SDA dari LOW ke HIGH
ketika SCL HIGH.
Data valid: Data yang dikirim bit demi bit dianggap valid jika setelah START,
kondisi SDA tidak berubah selama SCL HIGH, baik SDA HIGH maupun SDA
LOW tergantung dari bit yang ingin dikirim. Setiap siklus HIGH SCL baru menandakan pengiriman bit baru. Duty cycle untul SCL tidak harus 50%, tetapi
frekuensi kemunculannya hanya ada 2 macam, yaitu mode standar 100kHz dan
fast mode atau mode cepat 400kHz. Setelah SCL mengirimkan sinyal HIGH yang
sebagai acknowledge dari receiver ke transmitter. DS1307 hanya bisa melakukan
transfer pada mode standar 100 kHz.
Acknowledge:Setiap receiver wajib mengirimkan sinyal acknowledge atau sinyal balasan setiap selesai pengiriman 1-byte atau 8-bit data. Master harus memberikan
ekstra clock pada SCL, yaitu clock kesembilan untuk memberikan kesempatan
receiver mengirimkan sinyal acknowledge ke transmitter berupa keadaan LOW
pada SDA selama SCL HIGH. Meskipun master berperan sebagai receiver, ia
tetap sebagai penentu sinyal STOP. Pada bit-akhir penerimaan byte terakhir,
master tidak mengirimkan sinyal acknowledge, SDA dibiarkan HIGH oleh
receiver dalam hal ini master, kemudian master mengubah SDA dari LOW menjadi HIGH yang berarti sinyal STOP.
Tergantung kondisi bit R/W, 2 jenis transfer dimungkinkan, yaitu :
1. Data transfer from a master transmitter to a slave receiver. Byte pertama yang dikirimkan oleh master adalah alamat slave, setelah itu master
mengirimkan sejumlah byte data. Slave atau receiver mengirimkan sinyal
acknowledge setiap kali menerima 1-byte data. Pada tiap byte, bit pertama yang dikirim adalah MSB.
2. Data transfer from a slave transmitter to a master receiver. Meskipun
master berperan sebagai receiver, byte pertama dikirmkan oleh master
berupa address slave. Setelah itu slave mengirimkan bit acknowledge,
dilanjutkan dengan pengiriman sejumlah byte dari slave ke master. Master
byte terakhir. Pada akhir byte, master mengirimkan sinyal ‘not
acknowledge’, setelah itu master mengirimkan sinyal STOP.
IC RTC DS1307 beroperasi dalam 2 mode, yaitu :
1. Slave Receiver Mode (Write Mode):
Setelah sinyal START, master mengirimkan byte pertama yang terdiri dari
7-bit address IC DS1307, yaitu 1101000 dan 1-bit R/W, yaitu LOW,
karena ini adalah operasi WRITE. Hardware pada DS1307 akan membaca
address yang dikirmkan oleh master tersebut, kemudian slave, dalam hal ini DS1307, akan mengirimkan bit acknowledge pada SDA. Setelah itu
master akan mengirimkan address tempat data pertama akan diakses,
address ini berbeda dengan 7-bit address IC tadi, ini adalah address isi IC DS1307, bukan address IC DS1307. Address ini akan disimpan dalam
register pointer oleh DS1307 yang juga mengirim sinyal acknowledge ke
master. Setelah itu, master dapat mengirimkan sejumlah byte ke slave, di mana setiap byte dibalas dengan acknowledge oleh slave. Setiap menerima
byte baru, isi register pointer ditambah satu, sehingga register ini menunjuk ke alamat berikutnya dari lokasi data pada DS1307. Setelah
menerima acknowledge terakhir, master akan mengirim sinyal STOP
Gambar 2.10.Write mode data ke RTC [3].
2. Slave Transmitter Mode (Read Mode):
Sama seperti mode write, setelah master memberikan sinyal START, ia
mengirimkan byte pertama yang terdiri dari 7-bit adalam IC DS1307, yaitu
1101000, diikuti 1-bit R/W, yaitu HIGH. Setelah menerima byte pertama
ini, slave, dalam hal ini DS1307 akan mengirimkan bit acknowledge pada
SDA. Setelah itu slave mulai mengirimkan sejumlah byte ke master.
Setiap byte pengiriman dibalas dengan 1-bit acknowledge oleh master.
Byte pertama yang dikirimkan oleh slave atau DS1307 adalah data yang
alamatnya ditunjuk oleh register pointer pada DS1307. Setiap kali
pengiriman byte ke master, secara otomatis isi register pointer ditambah
satu. DS1307 akan terus menerus mengirimkan byte ke master, sampai
Gambar 2.11.Read mode data dari RTC [6].
2.4
LCD (
Liquid Crystal Display
)
LCD (Liquid Crystal Display) adalah suatu penampil dari bahan cairan
kristal yang pengoperasiannya menggunakan sistem dot matriks. Pada
perancangan alat ini digunakan penampil LCD 2 x 16 karakter seperti terlihat
pada Gambar 2.12, yang artinya LCD ini memiliki 2 baris dan 16 kolom karakter.
Sehingga jumlah total karakter yang dapat ditampilkan sekaligus adalah sebanyak
32 karakter. Masing-masing karakter tersebut terbentuk dari susunan titik yang
berukuran 8 baris dan 5 kolom dot.
Tabel 2.4. Pin LCD [4].
Nomor Pin Simbol Nomor Pin Simbol 1 VEE (0V) 9 DB2 2 VCC (5V) 10 DB3 3 GND (0V) 11 DB4
4 RS 12 DB5
5 R/W 13 DB6
6 E 14 DB7
7 DB0 15 A
8 DB1 16 K
LCD yang digunakan pada perancangan ini adalah LCD Module M1632
produk dari SEIKO. Pada LCD ini terdiri dari 8 jalur data, 3 jalur kendali dan
fasilitas pengaturan kontras serta backlight [4]. LCD ini dapat dikendalikan
dengan mikrokontroler atau mikroposesor. Deskripsi pin [4]:
1. DB0 s/d DB7, merupakan jalur data yang dipakai untuk menyalurkan kode
ASCII maupun perintah pengatur kerja LCD tersebut.
2. RS (register select), merupakan pin yang dipakai untuk membedakan jenis
data yang dikirim ke LCD. Jika RS berlogika ‘0’, maka data yang dikirim
adalah perintah untuk mengatur kerja LCD tersebut. Jika RS berlogika ‘1’,
maka data yang dikirim adalah kode ASCII yang ditampilkan.
3. R/W (read/write), merupakan pin yang digunakan untuk mengaktifkan
pengiriman dan pengambilan data ke dan dari LCD. Jika R/W berlogika
‘0’, maka akan diadakan pengiriman data ke LCD. Jika R/W berlogika
‘1’, maka akan diadakan pengambilan data dari LCD.
4. E (enable), merupakan sinyal sinkronisasi. Saat E berubah dari logika ‘1’
ke ‘0’, maka data di DB0 s/d DB7 akan diterima atau diambil dari port
5. VCC dan GND, Sebagai terminal power supply (+5V).
2.5
Standar Komunikasi Serial
Pada sistem pengiriman data secara serial ada dua cara dasar untuk
pengiriman data. Cara pertama menggunakan penghantar tidak seimbang
(unbalanced line) dimana hanya sebuah penghantar yang digunakan untuk
mengirimkan data isyarat digital dengan diatur secara relatif terhadap penghantar
common signal eart return. Pada sistem ini nilai amplitudo sinyal tergantung pada beda potensial antara penghantar sinyal terhadap ground. Cara kedua, yang
dikenal dengan operasi diferensial atau seimbang (balanced line) menggunakan
dua penghantar untuk masing-masing arah pengiriman. Tegangan positif
diumpankan oleh terminal ke satu penghantar untuk menunjukkan logika 0,
sementara tegangan negatif untuk menunjukkan logika 1. Pada sistem ini kedua
penghantarnya selalu berfluktuasi sehingga selalu tercipta beda potensial pada
kedua penghantar. Hal inilah yang menyebabkan keunggulan sistem pengiriman
data secara seimbang, yaitu sinyalnya masih dapat terdeteksi pada jarak yang
cukup jauh. Selain itu, sistem pengiriman data secara seimbang ini lebih tahan
terhadap noise karena noise hanya memiliki satu nilai. Sistem pengiriman data
serial secara seimbang ini biasanya menggunakan sistem standar 422 dan
RS-485.
Sistem pengiriman data secara serial dengan standar komunikasi serial
RS-485 dikembangkan sejak tahun 1983 dan mampu mentransmisikan data yang
suatu jaringan telepon tunggal (party line) atau pada jaringan multidrop (jaringan
yang menggunakan topologi bus). Ada sebanyak 32 pasang pemancar
(driver)/penerima (receiver) yang dapat disatukan pada jaringan multidrop. Pada
sisi pemancar (driver), akan menghasilkan tegangan sebesar 2 sampai 6 Volt yang
saling berbeda polaritasnya pada terminal A-B dengan acuan titik tengah ground
[5]. Pada penerima (receiver) mampu menerima data dengan nilai amplitudo
sinyal minimal +200mV sampai –200mV hingga +6 V sampai –6 V (sinyal
maksimal) yang masih dapat diterima antara terminal A-B seperti ditunjukkan
pada Gambar 2.14.
Gambar 2.14. Sinyal dari pemancar (driver) dan penerima (receiver ) [5].
2.5.1 Pengaturan Impedansi Terminal
Pengaturan impedansi terminal dimaksudkan agar sinyal dapat terserap
secara penuh oleh penerima dan tidak berbalik ke saluran transmisi kembali.
Pengaturan impedansi terminal ini beracuan pada panjang kabel pengahantar dan
kecepatan laju data yang digunakan sistem. Pengaturan impedansi terminal dapat
Sebagai contoh sebuah sistem yang menggunakan kabel dengan panjang 600
meter, maka delay propagasi saluran dapat dihitung dengan mengalikan panjang
kabel dengan kecepatan laju propagasi yang biasanya sebesar 66% sampai 75 %
dari kecepatan cahaya (= 3 x108 m/s). Dengan panjang kabel 600 meter maka perjalanan bolak-balik data 1200 meter dengan laju propagasi 0,66 kecepatan
cahaya, sehingga delay propagasi sebesar 6,06µs. Bila perjalanan data sebanyak
tiga kali bolak-balik, pemantulan akan melemah maka sinyal akan stabil pada
18,18µs. Padahal lebar satu bit data untuk 9600 baud adalah 104µs sehingga pada
kasus ini pengaturan impedansi terminal dapat diabaikan [5]. Ada dua macam
pengaturan impedansi terminal, yaitu:
1. Dengan parallel termination.
Yaitu dengan menambahkan resistor yang dipasang paralel antara terminal
A dan B (Gambar 2.15 (a)) sebagai penyesuai impedansi. Nilai resistor ini
pada umumnya sebesar 100 Ω. Nilai ini didapatkan dari nilai impedansi
intrinsik kabel penghantar transmisi. Pemasangan resistor terminasi harus
diletakkan pada ujung jalur data, dan tidak boleh ada lebih dua terminasi
yang ditempatkan pada sistem, karena dapat menambah pembebanan DC
pada sistem tersebut.
2. Dengan AC-couple termination
Yaitu dengan menambahkan sebuah kapasitor kecil secara seri dengan
resistor penyesuai impedansi yang dipasang paralel pada terminal A dan B
Gambar 2.15(b). Cara ini berfungsi untuk menghilangkan efek
Gambar 2.15. (a) Rangkaian parallel termination dan (b) Rangkaian AC-Coupled termination [5].
2.5.2 Pemberian Prasikap Pada Jaringan RS-485
Ketika suatu jaringan berada dalam keadaan idle (menunggu), semua
driver RS-485 menjadi penerima. Pada keadaan ini tidak ada driver yang aktif pada jaringan dan semua dalam keadaan tristate. Tanpa ada yang mengendalikan
jaringan, maka sistem dalam keadaan tidak menentu. Untuk memelihara status
idle dalam keadaan jaringan kosong maka perlu dipasangkan resistor yang dirangkai pullup dengan saluran data B terhadap VCC (umumnya bernilai +5
Volt) dan resistor pulldown pada saluran data A terhadap ground [5]. Gambar
2.16 memperlihatkan rangkaian transceiver dengan resistor prasikap.
Untuk memperoleh nilai resistor prasikap adalah sebagai berikut :
a.Masing-masing nilai impedansi untuk driver RS-485 adalah 12KΩ dan
dirangkai secara paralel, maka jumlah beban (Rbeban) adalah
n
beban R R R R
R 1 ... 1 1 1 1 3 2 1 + + + +
= ……...…………(2. 3)
dengan : n maksimal = 32
b.Jumlah beban dirangkai paralel dengan 2 resistor penyesuai impedansi,
maka jumlah beban total (Rtotal) adalah
pi beban
total R R
R
2 1
1 = +
………...………….(2. 4)
c.Nilai amplitudo sinyal minimal adalah 200mV, maka arus ( I ) yang
dihasilkan total R I 3 10 200× −
= ……….………..(2. 5)
d.Untuk menciptakan arus prasikap sebesar I dengan tegangan catu 5V,
maka resistor ( R ) yang dibutuhkan sebesar
I
R= 5………....………...(2. 6)
e.Resistor prasikap yang dipasangkan pada dua sisi yaitu antara VCC
dengan line B dan line A dengan ground maka nilai resistansi prasikap
(Rprasikap) adalah
2 R
2.5.3 Pengaman Jaringan RS-485 Terhadap Beda Potensial Listrik
Pada sistem komunikasi dengan standar RS-485 yang menggunakan dasar
sistem perbedaan potensial sinyal dengan besar nilai perbedaan sinyal maksimal 6
Volt maka dengan jauhnya jarak antar sistem memungkinkan besar nilai
amplitudo sinyal dapat berbeda karena setiap sistem menggunakan acuan ground
lokal yang berbeda. Untuk itu perlu kiranya dibedakan antara ground sinyal
dengan referensi sinyal komunikasi, sedangkan ground sinyal adalah grounding
lokal yang dapat juga mempunyai beda potensial terhadap ground referensi.
Untuk menanggulangi perbedaan ground yang dapat berakibat berbedanya
amplitudo sinyal maka dapat ditempuh dua cara pencegahan :
1) Dengan memisahkan antara ground data dengan ground local / casing /
ground power. Caranya dengan menggunakan koneksi optik (dapat berupa
optocoupler atau komponen optik yang lain). Gambar 2.17
memperlihatkan pemisahan ground dengan isolasi optik.
Gambar 2.17. Pemisahan ground dengan isolasi optic [5].
2) Menyambungkan ground data dan ground local / ground power dengan
dengan nilai resistansi kecil. Gambar 2.18 memperlihatkan gambar
penyambungan ground data dan ground lokal dengan koneksi resistor.
Gambar 2.18. Penyambungan ground data dan ground lokal dengan koneksi resistor [5].
Ada pula pengamanan yang lain yaitu dengan metode shunting device.
Metode ini memiliki dua cara yanmg memiliki kelebihan masing-masing :
1. Cara pertama yaitu dengan memasangkan dioda zener bolak-balik secara
shunt terhadap ground ataupun terhadap masing-masing penghantar
jaringan. Kelebihan cara ini yaitu dapat memberi proteksi terhadap yang
tinggi tetapi kelemahannya memiliki batas ambang tegangan yang tinggi
dan tingkat pengamanannya lambat. Gambar 2.19 memperlihatkan gambar
sistem proteksi shunting device menggunakan dioda zener.
2. Cara kedua dengan memasangkan dioda zener bolak-balik secara shunt dan
merangkaiakan fuse secara seri. Gambar 2.20 memperlihatkan sistem
proteksi shunting device dengan menggunakan dioda zener dan fuse seri.
Gambar 2.20. Sistem proteksi shunting device dengan menggunakan dioda zener dan fuse seri [5] .
2.6
Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat,
sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan,
modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam
kran listrik, dimana berdasarkan masukan arusnya (BJT) atau masukan
tegangannya (FET), memungkinkan pengaliran listrik yang sangat akurat dari
sirkuit sumber listriknya. Pada umumnya, transistor memiliki 3 terminal.
Tegangan atau arus yang dipasang di satu terminalnya mengatur arus yang lebih
besar yang melalui 2 terminal lainnya.
Salah satu fungsi aplikasi dari transistor adalah sebagai saklar (switching).
Transistor berfungsi sebagai saklar maka dapat dioperasikan pada dua daerah titik
kerja, dengan tujuan menghasilkan dua kondisi ON dan OFF, yaitu daerah jenuh
berada dalam keadaan saklar ON. Hal ini disebabkan tahanan dan tegangan antara
kolektor dan emiter mendekati nol, sehingga kutub kolektor dan emiter akan
terhubung singkat (short circuit) yaitu sebesar tegangan transistor yang dipakai.
Pada daerah tersumbat (cut off), transistor berada dalam keadaan OFF. Hal
ini terjadi karena besar resistansi antara kolektor dan emitor mendekati tak
terhingga sehingga membentuk suatu rangkaian terbuka (open circuit), dengan
demikian VCE mendekati VCC, ini terjadi karena adanya arus bocor dari kolektor
ke emiter dan tegangan saturasi transistor [6].
Arus dalam rangkaian mengalir melalui kaki kolektor dan emitor seperti
Gambar 2.21. Arus konvensional mengalir melalui terminal positif sumber
mengelilingi rangkaian dan kembali ke terminal negatif. Arus mengalir lewat
transistor menurut tanda panah dari kaki emitor pada simbol diagram rangkaian.
Sewaktu transistor berfungsi sebagai saklar, transistor akan mengalirkan
atau menghentikan aliran arus. Peristiwa ini dapat diperjelas dengan menaruh
sebuah lampu pada bagian kolektor untuk memperlihatkan adanya arus listrik
yang mengalir. Hal ini terlihat pada Gambar 2.22.
b c
e
A r u s
Arus
b c
e OFF Tidak ada
arus basis Arus basis
b c
e ON
Gambar 2.22. Karakteristik transistor [6].
Pada daerah tersumbat (cut off), transistor berada dalam keadaan OFF. Hal
ini terjadi karena besar resistansi antara kolektor dan emitor mendekati tak
terhingga sehingga membentuk suatu rangkaian terbuka (open circuit), dengan
demikian VCE mendekati VCC, ini terjadi karena adanya arus bocor dari kolektor
ke emiter dan tegangan saturasi transistor.
Arus yang mengalir ke kaki basis dari transistor diatur oleh tegangan
diantara kaki basis dan terminal negatif. Sewaktu tidak ada arus atau arus yang
mengalir terlalu kecil dalam kaki basis, transistor akan cut off sehingga transistor
tidak bisa bekerja dan arus yang mengalir dari kolektor ke emiter sangat kecil.
Bila tegangan yang diberikan lebih besar dari tegangan barier dioda yang ada
pada transistor tersebut yaitu 0,6 volt dan diberikan antara basis dan terminal
ground, maka arus akan mengalir melalui basis transistor dan transistor akan jenuh sehingga transistor dapat bekerja (ON) seperti halnya sebuah saklar
elektronik. Untuk mengetahui besarnya tegangan dan arus yang mengalir pada
transistor dapat dicari berdasarkan datasheet karakter transistor dengan
β IC
IB= ... (2.8)
IB VBE VB
RB= − ... (2.9)
IC VCE Vcc
RC= − ... (2.10)
VE VB
VBE = − ... (2.11)
VE VC
VCE = − ... (2.12)
2.7
Seven Segment
Merupakan susunan LED yang tersusun rapih sehingga membentuk angka
delapan. Ada dua jenis seven segment yaitu :
1. Common Anoda
Memiliki common berupa sumber tegangan 5 V yang dihubungkan ke
anoda atau input dari dioda. LED akan menyala dengan memberi logika nol (low) pada Driver. Gambar 2.23 menunjukkan seven segment jenis
common anoda.
C F D G H 5V VCC A B A B C D E F G H J2 Sev en Segment
1 2 3 7 9 10 4 5 6 B A AN D C D E F G H E 5V VCC
2. Common Katoda
Memiliki common berupa ground yang dihubungkan ke katoda dari dioda.
LED akan menyala dengan memberi logika satu (high) pada Driver.
Gambar 2.24 menunjukkan seven segment jenis common katoda.
H B C D A E F A B C D E F G H J2 Sev en Segment
1 2 3 7 9 10 4 5 6 B A KT D C D E F G H G
Gambar 2.24. Seven segment common katoda.
2.8
Buzzer
Buzzer digunakan sebagai penghasil bunyi. Frekuensi bunyi buzzer ini
dapat diatur sesuai yang diinginkan dengan cara mengatur seperti program pada
mikrokontroler. Rangkaian penggerak buzzer diperlukan agar buzzer dapat
berbunyi, seperti pada Gambar 2.25.
Nilai Re dan Rb ditentukan dengan perhitungan :
R
e=
Ie
Vbz
Vec
Vcc
−
−
...2.3)
I
c=
xIcMax2 1
... (2.4)
I
b=
hfe Ic
... (2.5)
R
b=
Ib Vb
=
Ib V VRe − eb
Perancangan jam digital dan bel/alarm sekolah otomatis berbasis
mikrokontroler ini terdiri atas penyusunan diagram blok, perancangan perangkat
keras dan perancangan perangkat lunak.
3.1
Diagram Blok Perancangan
Diagram blok sistem yang akan dirancang dapat dilihat pada gambar 3.1.
Ruangan 1 (Pengendali / Master)
Real Time Clock
Tombol Mikrokontroler
ATMEGA 16
Gambar 3.1. Diagram blok sistem. Ruangan 3 (Slave 2) Ruangan 2 (Slave 1)
Master
Keypad Matriks DS1307
4 x 4
Rangkaian
Alarm
Rangkaian Display
LCD 16x2
Mikrokontroler ATMEGA 16
Slave 2
Mikrokontroler ATMEGA 16
Slave 1
Rangkaian
Alarm
Rangkaian
Alarm
Rangkaian
Display 7
segment
RS485
RS485 RS485
Rangkaian
Display 7
segment
Alat yang dirancang akan diterapkan untuk tiga buah ruangan.
Masing-masing ruangan mempunyai jam digital dan alarm. Jam dan alarm tersebut
dikendalikan oleh sebuah rangkaian master. Pengaturan jam dan alarm dilakukan
melalui sebuah keypad. Alarm bisa dibuat berbeda untuk setiap ruangan.
Pengiriman data antar mikrokontroler menggunakan komunikasi serial standar
RS-485.
Berdasarkan Gambar 3.1 sistem terdiri dari sebuah rangkaian master
(pengendali) yang berada di ruangan 1 dan rangkaian slave yang berada di
ruangan 2 dan 3. Rangkaian master merupakan rangkaian utama untuk melakukan
pengaturan jam dan alarm. Proses pengaturan jam dan alarm ini diprogram
menggunakan keypad matriks 4 x 4. Data waktu yang sudah diatur akan disimpan
pada RTC. RTC diaktifkan dengan memberi program dari mikrokontroler master.
Setelah RTC aktif maka mikrokontroler master akan membaca data waktu di
RTC. Data yang sudah dibaca akan dikirimkan juga ke tiap-tiap mikrokontroler
slave. Data waktu pada ruangan 1 akan ditampilkan di LCD 16 x 2 sedangkan
pada ruangan 2 dan 3 akan ditampilkan di seven segment. Pengaturan alarm untuk
setiap ruangan bisa dibuat berbeda. Data alarm untuk ruangan 1 akan disimpan di
EEPROM mikrokontroler master sedangkan data alarm untuk ruangan 2 dan 3
akan dikirim ke mikrokontroler slave 2 dan 3 dan disimpan pada masing-masing
EEPROM.
Setelah jam dan alarm diatur maka setiap mikrokontoler akan
membandingkan data waktu dengan data alarm yang tersimpan di masing-masing
melalui transistor (driver alarm). Apabila transistor pada keadaan ON maka alarm
akan berbunyi.
3.2
Perancangan Perangkat Keras
Perancangan perangkat keras untuk alat ini terbagi menjadi tiga yaitu
rangkaian master, rangkaian slave dan komunikasi serial RS-485.
3.2.1 Rangkaian Master
Pada rangkaian master ini, terdapat 5 macam rangkaian yaitu :
1. Rangkaian Tombol Matriks Keypad 4 x 4.
2. Rangkaian Mikrokontroler Master.
3. Rangkaian Real Time Clock.
4. Rangkaian Display LCD.
5. Rangkaian Alarm.
3.2.1.1 Rangkaian Tombol Matriks Keypad 3x4
Rangkaian masukan tombol pengaturan jam dan alarm menggunakan
konfigurasi matriks keypad yang bertujuan untuk menghemat jumlah port yang
digunakan pada mikrokontroler. Konfigurasi yang digunakan adalah matriks
keypad 4 x 4 yang artinya terdiri dari 4 kolom dan 4 baris. Apabila tidak
menggunakan konfigurasi matriks keypad 4 x 4 maka dibutuhkan 16 port
sedangkan dengan matriks keypad 4 x 4 hanya menggunakan 8 port. Matriks
keypad ini tersusun dari 16 tombol yang mewakili angka-angka 0-9, CANCEL,
ENTER, UP, DOWN, MENU, COR.
Antarmuka matriks keypad ini dihubungkan dengan port A, untuk
sebagai keluaran. Sedangkan barisnya terhubung dengan jalur PA.3, PA.2,
PA.1, dan PA.0 yang berfungsi sebagai masukan mikrokontroler. Konfigurasi
rangkaian matriks keypad dapat dilihat pada Gambar 3.2.
Pengecekan pada matriks keypad adalah dengan sistem pengecekan
secara berurutan (scanning) yaitu pengecekan baris dan kolom secara
bergantian. Untuk mengecek salah satu tombol yang ditekan, maka terlebih
dahulu tiap kolom diberi logika ‘0’, kemudian dilakukan pengecekan tiap baris.
Apabila salah satu baris bernilai ‘0’ hal ini menandakan ada tombol yang
sedang ditekan. Sebagai contoh apabila tombol ‘1’ ditekan maka kolom 1
(PA.7) dan baris 1 (PA.3) akan berkondisi ‘0’, demikian pula untuk penekanan
tombol-tombol lainnya. Kombinasi baris dan kolom matriks keypad yang
digunakan dapat dilihat pada Tabel 3.1.
Tabel 3.1. Kombinasi baris dan kolom matriks keypad 3 x 4.
Tombol PA.7 PA.6 PA.5 PA.4 PA.3 PA.2 PA.1 PA.0
1 0 1 1 1 0 1 1 1
2 1 0 1 1 0 1 1 1
3 1 1 0 1 0 1 1 1
COR 1 1 1 0 0 1 1 1
4 0 1 1 1 1 0 1 1
5 1 0 1 1 1 0 1 1
6 1 1 0 1 1 0 1 1
MENU 1 1 1 0 1 0 1 1
7 0 1 1 1 1 1 0 1
8 1 0 1 1 1 1 0 1
9 1 1 0 1 1 1 0 1
UP 1 1 1 0 1 1 0 1
CANCEL 0 1 1 1 1 1 1 0
0 1 0 1 1 1 1 1 0
ENTER 1 1 0 1 1 1 1 0
DOWN 1 1 1 0 1 1 1 0
3.2.1.2 Rangkaian Mikrokontroler Master
Pada rangkaian master ini, mikrokontroler yang digunakan adalah
mikrokontroler ATMEGA 16 yang berfungsi untuk membaca register-register
waktu ke LCD, membunyikan alarm, mengecek tombol, mengatur perubahan
waktu yang ada di RTC. Pengiriman data ke mikrokontroler slave
menggunakan komunikasi serial standar RS-485 karena pengiriman datanya
lebih tahan terhadap noise dan mampu mentransmisikan data yang cukup jauh
yaitu 1,2 km.. Konfigurasi rangkaian mikrokontroler master dapat dilihat pada
Gambar 3.3.
CONECTOR KE LCD KEYPAD
4x4
KOMUNIKASI
RTC
Gambar 3.3. Konfigurasi rangkaian master.
3.2.1.3 Rangkaian Osilator
Osilator on-chip digunakan sebagai sumber detak (clock) untuk
mikrokontroler. Penentuan osilator yang digunakan dapat berpengaruh dalam
serial. Rangkaian osilator ini terdiri dari dua kapasitor dan sebuah kristal
seperti yang ditunjukkan pada Gambar 3.4. Dalam perancangan ini resonator
kristal yang digunakan adalah kristal 4 MHz yang dapat memberikan instruksi
cycle time (waktu 1 siklus) sebesar 1 µs. Satu siklus mesin mikrokontroler ini
dikerjakan dalam 4 periode osilator. Sesuai dengan yang ada di data sheet, jika
dipakai kristal 4 MHz maka kapasitor yang digunakan sebesar 22 pF [2].
Gambar 3.4. Rangkaian osilator.
3.2.1.4 Rangkaian Reset
Reset seperti yang ditujukkan pada Gambar 3.5 digunakan untuk
mengembalikan keseluruhan sistem (program) ke awal. Reset terjadi dengan
adanya logika 1 selama minimal 2 cycle (2µ detik) pada kaki reset (pin 9)
berdasarkan data sheet [2]. Waktu pengosongan dipilih sebesar 100 ms dengan
asumsi waktu reset telah lebih dari 2 µs, sesuai dengan Persamaan 2.1. Bila
nilai hambatannya (R) dipilih 10 kΩ, maka nilai C adalah:
100 .10-3 = 10.000 x C
Gambar 3.5. Rangkaian reset.
3.2.1.5 Rangkaian RTC
RTC yang digunakan adalah RTC DS1307. Pin 5 RTC dihubungkan
dengan pin C.1 yang digunakan sebagai serial data, sedangkan pin 6 RTC
dihubungkan dengan pin C.0 yang digunakan sebagai serial clock. Menurut
data sheet, kristal yang dipakai adalah kristal 32,768 kHz. RTC ini juga
memakai baterai eksternal sebesar 3 volt yang berguna untuk menghitung
waktu yang tersimpan dalam RTC walupun RTC tidak mendapat supply Vcc.
Gambar rangkaian antarmuka RTC DS1307 dengan mikrokontroler dapat
dilihat pada Gambar 3.3.
3.2.1.6 Rangkaian Display
Penampil yang digunakan adalah LCD dengan tipe dot matrik 16x2
keluaran seico, sehingga LCD ini memiliki 2 baris dengan kemampuan
menampilkan 16 karakter tiap baris..
Gambar rangkaian antarmukaantara LCD dan mikrokontroler master
dapat dilihat pada Gambar 3.3. Jalur data DB4 s/d DB7 dari LCD dihubungkan
dengan pin B.4 s/d pin B.7 dan untuk sinyal kontrol sebagai pulsa trigger (E)
dihubungkan dengan pin B.1 sedangkan pin R/W LCD dihubungkan dengan
pin B.0
3.2.1.7 Rangkaian Alarm
Rangkaian alarm ini menggunakan transistor A733 sebagai
switching guna mengaktifkan buzzer. Rangkaian buzzer aktif low. Frekuensi
bunyi buzzer ini dapat diatur sesuai yang diinginkan dengan cara mengatur
seperti program pada mikrokontroler. Rangkaian buzzer dapat ditampilkan
pada Gambar 3.6.
Ditentukan besarnya Vec adalah setengah dari Vcc yaitu sebesar 2,5 Volt
dengan arus penguatan dc (hfe ) adalah 90 serta arus maksimal Ic = 150 mA.
Dengan menggunakan persamaan 2.13, 214, 2.15, 2.16 nilai Re dan Rb adalah :
Ic = ½ Icmax
Ic = 1/2 .150mA = 75 mA
A hfe
Ic
Ib 833,33µ 90 10 75 3 = × = = −
Karena Ib sangat kecil, maka Ie ≈ Ic.
Ω = × − = −
= − 33,3
10 75 5 , 2 5 Re 3 Ie Vec Vcc
Vbc = Vec – Veb = 2,5 – 0,7 = 1,8V
Ω = × − = −
= − 3840
10 3 , 833 8 , 1 5 6 Ib Vbc Vin Rb
Jadi nilai Re dipilih 33Ω (mendekati 33,3) dan nilai Rb dipilih 3900Ω
Logika yang digunakan untuk mengaktifkan buzzer yaitu dengan
memberikan logika “0” pada kaki basis transistor.
Gambar 3.6. Rangkaian alarm.
3.2.2 RANGKAIAN SLAVE
Pada rangkaian slave ini, terdapat 3 macam rangkaian yaitu :
1. Rangka