POTENSI MIKROKONTROLLER ATMEGA8535 DAN SENSOR ULTRASONIK SEBAGAI PENDETEKSI DINI BANJIR
TUGAS AKHIR
FITRIA RAHMAH PANE 112408001
PROGRAM STUDI D-3 FISIKA DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERNYATAAN
POTENSI MIKROKONTROLLER ATMEGA8535 DAN SENSOR ULTRASONIK SEBAGAI PENDETEKSI DINI BANJIR
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil karya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 26 Juni 2014
Fitria Rahmah Pane
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Allah SWT yang telah memberikan
karunia dan rahmatnya sehingga penulis dapat menyelesaikan Tugas Akhir ini
dengan baik. Didalam hal ini, berbagai masalah yang timbul dalam proses
penyelesaian Tugas Akhir ini dapat penulis lalui dengan bantuan moril maupun
material dari berbagai pihak. Untuk itu penulis menyampaikan ucapan terima
kasih kepada : Kedua orang tua tercinta, serta keluarga yang telah memberikan
bantuan dan dorongan secara moril dan material, Ibu Dr. Susilawati, M.Si selaku
Ketua Program Studi Fisika Instrumentasi, Bapak Dr. Perdinan Sinuaji M.Si
sebagai Sekretaris Departemen, Bapak Drs. Syahrul Humaidi, M.Sc selaku Dosen
pembimbing, dan rekan-rekan mahasiswa/I Fisika Instrumentasi yang telah
membantu dalam menyelesaikan Tugas Akhir ini.
Upaya yang dilakukan penulis dalam menyelesaikan Tugas Akhir ini,
walaupun telah dilakukan semaksimal mungkin, tetapi penulis menyadari masih
jauh untuk tingkat kesempurnaan di dalam penyusunan.
Oleh sebab itu dengan kerendahan hati penulis menerima kritik dan saran
yang sifatnya membangun untuk kesempurnaan Tugas Akhir ini.
Dengan segala keterbatasan yang ada, penulis berharap Tugas Akhir ini dapat
digunakan sebagai mana mestinya. Akhir kata semoga Tugas Akhir ini dapat
ABSTRAK
Berkembangnya ilmu pengetahuan dan teknologi sejalan dengan dibutuhkannya sumber daya manusia yang handal, mampu menciptakan suatu alat yang dapat mempermudah manusia dalam melakukan pekerjaan. Alat-alat tersebut ada yang bekerja secara otomatis atau semi permanen. Untuk keperluan monitoring alat pendeteksi banjir membutuhkan perangkat instrumentasi untuk mengukur besaran parameter suatu proses. Penanggulangan banjir haruslah dilakukan secara terintegrasi karena meluapnya sungai di suatu daerah bisa jadi disebabkan kiriman dari hulunya. Oleh karena itu diperlukan suatu alat yang mampu mendeteksi adanya bahaya banjir secara real time dan continuous.
PERSETUJUAN
Judul : POTENSI MIKROKONTROLLER
ATMEGA8535 DAN SENSOR ULTRASONIK
SEBAGAI PENDETEKSI DINI BANJIR
Kategori : TUGAS AKHIR
Nama : FITRIA RAHMAH PANE
No Induk Mahasiswa : 112408001
Program Studi : D3 FISIKA
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA
Diluluskan di
Medan, 26 Juni 2014
Diketahui / Disetujui oleh
Ketua Program Studi D3 Fisika Pembimbing
DAFTAR ISI
Halaman
Pernyataan i
Penghargaan ii
Abstrak iii
Persetujuan iv
Daftar isi v
Daftar Gambar vii
Daftar Tabel viii
BAB 1 : PENDAHULUAN Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Sistematika Penulisan 3 BAB 2 : LANDASAN TEORI 2.1 Perangkat Keras 6
2.2 Mikrokontroller ATMega8535 6
2.2.1 Arsitektur ATMega8535 7
2.2.4 Pin-Pin pada Mikrokontroller ATMega8535 15
2.3 Sensor Jarak Ultrasonik PING 18
2.3.1 Spesifikasi Sensor PING 19
2.3.2 Prinsip Kerja Sensor PING 19
2.4 Buzzer 21
2.5 Transistor 22 2.5.1 Transistor n p n 23 2.6 LCD (Liquid Crystal Display) 28
2.6.1 Klasifikasi LCD 30
2.7 Perangkat Lunak 31
2.7.1 CodeVisionAVR 31
BAB 3 : PERANCANGAN ALAT DAN PROGRAM 3.1 Diagram Blok & Rangkaian 36
3.1.1 Diagram Blok Rangkaian 36
3.2 Perancangan Rancangan Kendali 37
3.2.1 Sensor Ultrasonik 37
3.2.2 Mikrokontroller 38
3.2.3 Penguat 40
3.2.4 Display / LCD 40
3.2.5 Buzzer 41
3.2.6 Flow Chart 42
BAB 4 : PENGUJIAN PROGRAM DAN PENGUKURAN RANGKAIAN
4.1 Pengujian Program 50
4.2 Pengukuran Rangkaian 52
BAB 5 : KESIMPULAN DAN SARAN
5.1 Kesimpulan 57
5.2 Saran 58
Daftar Pustaka
DAFTAR GAMBAR
Gambar 2.1 Konfigurasi Pin Mikrokontroller AT89S51 ... 15
Gambar 2.2 Sensor Jarak Ultrasonik PING ... 18
Gambar 2.3 Prinsip Kerja Sensor PING ... 21
Gambar 2.4 Bentuk Buzzer ... 22
Gambar 2.5 LCD (Liquid Crystal Display) ... 28
Gambar 2.6 Blok Diagram LCD ... 29
Gambar 3.1 Diagram Blok Rangkaian ... 36
Gambar 3.2 Rangkaian Skematik Sensor Ultrasonik PING ... 38
Gambar 3.3 Rangkaian Mikrokontroller ATMega8535 ... 39
Gambar 3.4 Rangkaian LCD ... 40
Gambar 3.5 Rangkaian Buzzer ... 42
Gambar 3.6 Flow Chart Pendeteksi Banjir ... 43
DAFTAR TABEL
Tabel 2.1 Fungsi Khusus Port B ... 16
Tabel 2.2 Fungsi Khusus Port C ... 17
Tabel 2.3 Fungsi Khusus Port D ... 17
Tabel 2.4 Pin dan Fungsi LCD ... 30
Tabel 4.1 Hasil Pengukuran Tegangan PIN Mikrokontroller ... 70
ABSTRAK
Berkembangnya ilmu pengetahuan dan teknologi sejalan dengan dibutuhkannya sumber daya manusia yang handal, mampu menciptakan suatu alat yang dapat mempermudah manusia dalam melakukan pekerjaan. Alat-alat tersebut ada yang bekerja secara otomatis atau semi permanen. Untuk keperluan monitoring alat pendeteksi banjir membutuhkan perangkat instrumentasi untuk mengukur besaran parameter suatu proses. Penanggulangan banjir haruslah dilakukan secara terintegrasi karena meluapnya sungai di suatu daerah bisa jadi disebabkan kiriman dari hulunya. Oleh karena itu diperlukan suatu alat yang mampu mendeteksi adanya bahaya banjir secara real time dan continuous.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Berkembangnya ilmu pengetahuan dan teknologi sejalan dengan
dibutuhkannya sumber daya manusia yang handal, mampu menciptakan suatu alat
yang dapat mempermudah manusia dalam melakukan pekerjaan. Alat-alat
tersebut ada yang bekerja secara otomatis atau semi permanen. Untuk keperluan
monitoring alat pendeteksi banjir membutuhkan perangkat instrumentasi untuk
mengukur besaran parameter suatu proses. Penanggulangan banjir hanyalah
dilakukan secara terintegrasi karena meluapnya sungai/daerah tempat tinggal di
suatu daerah bisa jadi disebabkan kiriman dari hulunya.
Penentuan rangkaian pendeteksi banjir yang tepat harns mengacu pada
kondisi sungai tempat sensor tersebut akan dipasang. Hal ini berkaitan dengan
kelebihan dan kekurangan masing-masing metode pendeteksian sensor yang
digunakan. Untuk itu beberapa rangkaian pendeteksi banjir dapat digunakan dan
dipadu dengan mikrokontroller sebagai pengaturnya.
Berkembangnya ilmu pengetahuan dan teknologi sejalan dengan
dibutuhkannya sumber daya manusia yang handal, mampu menciptakan suatu alat
yang dapat mempermudah manusia dalam melakukan pekerjaan. Alat-alat
tersebut ada yang bekerja secara otomatis atau semi permanen. Untuk keperluan
monitoring alat pendeteksi banjir membutuhkan perangkat instrumentasi untuk
mengukur besaran parameter suatu proses. Penanggulangan banjir harnslah
disebabkan kiriman dari hulunya. Oleh karena itu diperlukan suatu alat yang
mampu mendeteksi adanya bahaya banjir secara real time dan continuous.
Mengingat akan pentingnya pemantauan terhadap ketinggian air
sungai/daerah tempat tinggal, penulis mencoba merancang dan membuat sistem
pemantauan ketinggian air secara elektronik yang dapat digunakan untuk
memantau perubahan ketinggian air. Dengan memanfaatkan sensor ultrasonic
sebagai detektor guna mendeteksi jarak. Sensor ini bekerja berdasarkan prinsip
pantulan gelombang suara, dimana sensor memancarkan gelombang suara yang
kemudian menangkapnya kembali dengan perbedaan waktu dan mikrokontroller
ATMega8535 sebagai mikrokontrollernya.
Oleh karena itu diperlukan suatu alat yang mampu mendeteksi adanya bahaya
banjir secara real time dan continuous. Penentuan rangkaian pendeteksi banjir
yang tepat harus mengacu pada kondisi sungai tempat sensor tersebut akan
dipasang. Hal ini berkaitan dengan kelebihan dan kekurangan masing-masing
metode pendeteksian sensor yang digunakan. Untuk itu beberapa rangkaian
pendeteksi banjir dapat digunakan dan dipadu dengan mikrokontroller sebagai
pengaturnya.
1.2 Rumusan Masalah
Berdasarkan uraian di atas, dapat dirumuskan beberapa masalah yang dibahas
dalam tugas akhir ini , yaitu:
1. Bagaimana mendeteksi air berdasarkan ketinggian menggunakan sensor
ultrasonik.
3. Bagaimana membuat perangkat lunak untuk mengendalikan sensor dan buzzer
pada rangkaian pendeteksi banjir.
1.3Batasan Masalah
Mengingat keterbatasan kemampuan penulis dan waktu pelaksanaan
pembuatan tugas akhir, maka dibuat batasan masalah sebagai berikut :
1. Rancangan menggunakan sebuah mikrokontroller ATMega8535 sebagai
pengendali sistem.
2. Rancangan menggunakan sensor ultrasonic type SR 04 sebagai pendeteksi
ketinggian air.
3. Pemrograman IC mikrokontroller menggunakan bahasa pemrograman C++
yaitu CVAVR versi 2.0.3.
1.4 Tujuan Penelitian
1. Merancang alat untuk mendeteksi ketinggian air akibat banjir.
2. Merancang rangkaian pengendali alat detektor banjir menggunakan
mikrokontroller AVR ATMega 8535.
3. Membuat program untuk membaca ketinggian air dengan sensor ultrasonic
dan membunyikan alarm peringatan.
1.5Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat
sistematika pembahasan bagaimana sebenarnya prinsip kerja sistem pendeteksi
BAB I. PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan
masalah, batasan masalah, tujuan penelitian, serta sistematika
penulisan.
BAB II. LANDASAN TEORI
Landasan teori, dalam bab ini dijelaskan tentang teori pendukung
yang digunakan untuk pembahasan dan cara kerja dari rangkaian
Teori pendukung itu antara lain tentang Sensor Ultrasonik (PING),
mikrokontroller ATMega8535 (hardware), bahasa program yang
digunakan. Serta karekteristik dari komponen-komponen
pendukung.
BAB III. PERANCANGAN ALAT DAN PROGRAM
Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram
blok dari rangkaian, skematik dari masing-masing rangkaian.
BAB IV. PENGUJIAN PROGRAM DAN PENGUKURAN RANGKAIAN
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem
kerja alat, penjelasan mengenai program-program yang digunakan
untuk mengaktifkan rangkaian, dan diagram alir dari program yang
akan diisikan ke mikrokontroller ATMega8535.
BAB V. KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan
diberikan agar rangkaian ini dapat dibuat lebih efisien dan
dikembangkan perakitannya pada suatu metode lain yang
BAB 2
LANDASAN TEORI
2.1Perangkat Keras
Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu perangkat
keras (hardware) yang dapat mengolah data, menghitung, mengingat dan mengambil pilihan. Mikrokontroler merupakan salah satu jawabannya. Vendor
dari mikrokontroler ini ada beberapa macam, diantaranya yang paling terkenal
adalah ATMega8535. Selain menggunakan mikrokontroler juga digunakan sensor
ultrasonik sebagai pendeteksi jarak obyek dengan cara memancarkan gelombang
ultrasonik dengan frekuensi 40 KHz dan kemudian mendeteksi pantulannya.
Selain itu juga terdapat beberapa perangkat seperti : Mikrokontroler ATMega
8535, Transistor, Buzzer, LCD dan CVAVR.
2.2 Mikrokontroller ATMega 8535
ATMega8535 memiliki fitur yang cukup lengkap, mulai dari kapasitas
memori program dan memori data yang cukup besar, interupsi, timer/counter,
PWM, USART, TWI, analog comparator, EEPROM internal dan juga ADC
internal semuanya ada dalam ATMega8535. Sehingga dengan fitur yang cukup
lengkap ini memungkinkan kita untuk dapat merancang suatu sistem yang
sederhana sampai dengan sistem yang relatif kompleks hanya dengan
menggunakan satu IC saja, yaitu dengan IC ATMega8535.
ATMega8535 merupakan salah satu mikrokontroler 8 bit buatan Atmel untuk
keluarga AVR. Pada tahun 1997 Atmel mengembangkan AVR (Alf and Vegard’s
(Reduced Instruction Set Computing). Beberapa fitur yang dimiliki Mikrokontroler ATmega8535 adalah berbasis RISC dengan kecepatan maksimal
16 MHz, memiliki memori Flash 8K Bytes, 512 Bytes EEPROM (Electrically
Erasable Programmable Read Only Memory), dan 512 Bytes Internal SRAM. Mikrokontroler ATmega8535 memiliki 2 8-bit Timer/Counter, RTC (Real Time
Counter), 4 PWM chanel, 8-chanel 10-bit ADC, 1 programable serial USART, master/slave SPI serial interface, dan memiliki 32 programmable I/O. Sedangkan
untuk power, ATmega 8535 dapat dicatu menggunakan tegangan 2.7 – 5.5V
(untuk ATmega8535L) dan 4.5 – 5.5V (untuk ATmega8535) dengan frekuensi
clock maksimum adalah 16MHz.
ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis
arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat
ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan
penggunaan daya rendah. Mikrokontroler Atmega8535 memiliki beberapa fitur
atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk
berbagai keperluan.
2.2.1 Arsitektur ATMega8535
Mikrokontroler ATMega8535 memiliki arsitektur Harvard, yaitu memisahkan
memori untuk kode program dan memori untuk data sehingga dapat
memaksimalkan unjuk kerja dan paralelisme. Instruksi-instruksi dalam memori
program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi
Konsep inilah yang memungkinkan instruksi-instruksi dapat dieksekusi dalam
setiap satu siklus clock. 32 x 8-bit register serba guna digunakan untuk
mendukung operasi pada Arithmetic Logic Unit (ALU) yang dapat dilakukan
dalam satu siklus. 6 dari register serba guna ini dapat digunakan sebagai 3 buah
register pointer 16-bit pada mode pengalamatan tak langsung untuk mengambil
data pada ruang memori data. Ketiga register pointer 16-bit ini disebut dengan
register X (gabungan R26 dan R27), register Y (gabungan R28 dan R29), dan
register Z (gabungan R30 dan R31). Hampir semua instruksi AVR memiliki
format 16-bit (word). Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serba guna diatas, terdapat register lain yang terpetakan
dengan teknik memory mapped I/O selebar 64 Byte. Beberapa register ini
digunakan untuk fungsi khusus antara lain sebagai register kontrol Timer/Counter,
Interupsi, ADC, USART, SPI, EEPROM dan fungsi I/O lainnya. Register-register
ini menempati memori pada alamat 0x20h – 0x5Fh.
2.2.2 Organisasi Memori
Mikrokontroler ATMega8535 memiliki 3 jenis memori yaitu memori
program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri
dan terpisah.
a. Memori Program
ATMega8535 memiliki kapasitas memori program sebesar 8 Kbyte yang
terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki
lebar data 16 bit. Sehingga organisasi memori program seperti ini sering
bagian program boot dan bagian program aplikasi. Jika kita tidak menggunakan fitur Boot Loader Flash maka semua kapasitas memori program diatas dapat digunakan untuk program aplikasi. Tetapi jika yang digunakan fitur Boat Loader
Flash maka pembagian ukuran kedua bagian ini ditentukan oleh BOOTSZ fuse.
b. Memori Data
ATMega8535 memiliki kapasitas memori data sebesar 608 Byte yang
terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM. 32
byte alamat terendah digunakan untuk register serba guna yaitu R0 – R31. 64 byte
berikutnya digunakan untuk register I/O yang digunakan untuk mengatur fasilitas
seperti timer/counter, interupsi, ADC, USART, SPI, EEPROM dan port I/O
seperti Port A, Port B, Port C dan Port D. Selanjutnya 512 Byte diatasnya
digunakan untuk memori data SRAM.
c. Memori EEPROM
ATMega8535 memiliki memori EEPROM sebesar 512 Byte yang terpisah
dari memori program maupun memori data. Memori EEPROM ini hanya dapat
diakses dengan menggunakan register-register I/O yaitu register EEPROM
Address (EEARH-EEARL), register EEPROM Data (EEDR) dan register
EEPROM Control (EECR). Untuk mengakses memori EEPROM ini diperlakukan
seperti mengakses data eksternal sehingga waktu eksekusinya relatif lebih lama
bila dibandingkan dengan mengakses data dari SRAM.
Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
Pada dasarnya yang membedakan masing – masing kelas adalah memori,
mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu
AVR produk Atmel, yaitu ATMega 8535. Selain mudah didapatkan dan lebih
murah ATMega 8535 juga memiliki fasilitas yang lengkap. Untuk tipe AVR ada 3
jenis yaitu AT Tiny, AVR klasik, AT Mega. Perbedaannya hanya pada fasilitas
dan I/O yang tersedia serta fasilitas lain seperti ADC,EEPROM dan lain
sebagainya. Salah satu contohnya adalah AT Mega 8535. Memiliki teknologi
RISC dengan kecepatan maksimal 16 MHz membuat ATMega 8535 lebih cepat
bila dibandingkan dengan varian MCS 51. Dengan fasilitas yang lengkap tersebut
menjadikan ATMega 8535 sebagai mikrokontroler yang powerfull.
Fitur-fitur yang dimiliki oleh mikrokontroler Atmega 8535 adalah sebagai
berikut:
1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D.
2. ADC internal sebanyak 8 saluran.
3. Dua buah Timer/Counter dengan kemampuan pembandingan.
4. CPU yang terdiri atas 32 buah register.
5. SRAM sebesar 512 byte.
6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
7. Port antarmuka SPI
8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
9. Antarmuka komparator analog.
10. Port USART untuk komunikasi serial.
11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16
MHz.
2.2.3 Konstruksi ATMega8535
Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori
program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri
dan terpisah.
a. Memori program
ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang
terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki
lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian
program boot dan bagian program aplikasi. b. Memori data
ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi
menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM. ATmega8535
memiliki 32 byte register serba guna, 64 byte register I/O yang dapat diakses
sebagai bagian dari memori RAM (menggunakan instuksi LD atau ST) atau dapat
juga diakses sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte
digunakan untuk memori data SRAM.
c. Memori EEPROM
ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah
dari memori program maupun memori data. Memori EEPROM ini hanya dapat
diakses dengan menggunakan register-register I/O yaitu register EEPROM
Address, register EEPROM Data, dan register EEPROM Control. Untuk
mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal,
sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan
Interupsi
ATMega8535 menyediakan 21 macam sumber interupsi yang masing-masing
memiliki alamat program vector interupsi. Setiap interupsi yang aktif akan
dilayani segera setelah terjadi permintaan interupsi, tetapi jika dalam waktu
bersamaan terjadi lebih dari satu interupsi maka prioritas yang akan diselesaikan
lebih dulu adalah interupsi yang memiliki nomor urut lebih kecil. Sebagai contoh
jika interupsi timer0 overflow dan timer1 overflow terjadi bersamaan maka prioritasnya interupsi timer 1 lebih dulu yang akan diselesaikan karena interupsi
timer 1 memiliki nomor urut diatas timer 0.
Port I/O
Semua port keluarga AVR bersifat bi-directional (dua arah) pada saat
berfungsi sebagai port I/O digital. Bahkan setiap pin dapat dikonfigurasikan baik
sebagai input maupun output secara individu tanpa mempengaruhi pin-pin yang
lain. Hal ini dapat dilakukan dengan perintah SBI dan CBI. Pengaturan port I/O
baik sebagai input maupun output otomatis akan diikuti dengan pengaturan pull-up resistor internal. Meskipun demikian pengaturan pull-up resistor bias saja
dinon-aktifkan melalui bit PUD pada register SFIOR. Jika bit PUD diset ‘1’ maka
berarti konfigurasi pull-up port I/O non-aktif.
Tiga alamat memori I/O dialokasikan untuk mengatur konfigurasi setiap port
I/O yaitu :
- Data Register (PORTx)
Timer / Counter
ATMega8535 memiliki 3 modul timer yang terdiri dari 2 buah timer / counter
8-bit dan 1 buah timer / counter 16-bit. Ketiga modul timer / counter ini dapat
diatur dalam mode yang berbeda secara individu dan tidak saling mempengaruhi
satu sama lain. Selain itu semua timer / counter juga dapat difungsikan sebagai
sumber interupsi. Masing-masing timer / counter ini memiliki register tertentu
yang digunakan untuk mengatur mode dan cara kerjanya tetapi ada 2 register yang
digunakan secara bersama-sama yaitu register TIMSK dan register TIFR.
USART
Universal Synchronous and Asynchronous Serial Receiver and Transmitter
(USART) juga merupakan salah satu mode komunikasi serial yang dimiliki oleh
ATMega8535. USART merupakan komunikasi yang memiliki fleksibilitas tinggi,
yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler
maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara synchronous maupun
asynchronous sehingga dengan demikian USART pasti kompatibel dengan
UART. Pada ATMega8535, 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
ATmega8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran
ADC internal dengan fidelitas 10 bit. Dalammode operasinya, ADC ATmega8535
dapat dikonfigurasi, baik secara single ended input maupun differential input.
Selain itu, ADC ATmega8535 memiliki konfigurasi pewaktuan, tegangan
referensi, mode operasi, dan kemampuan filter derau yang amat fleksibel,
sehingga dengan mudah disesuaikan dengan kebutuhan ADC itu sendiri.
ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah timer/counter
8 bit dan 1 buah timer/counter 16 bit. Ketiga modul timer/counter ini dapat diatur
dalam mode yang berbeda secara individu dan tidak saling mempengaruhi satu
sama lain. Selain itu, semua timer/counter juga dapat difungsikan sebagai sumber
interupsi. Masing-masing timer/counter ini memiliki register tertentu yang
digunakan untuk mengatur mode dan cara kerjanya.
Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi
serial syncrhronous kecepatan tinggi yang dimiliki oleh ATmega8535. Universal
Syncrhronous and Asyncrhronous Serial Receiver and Transmitter (USART) juga
merupakan salah satu mode komunikasi serial yang dimiliki oleh ATmega8535.
USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat
digunakan untuk melakukan transfer data baik antar mikrokontroler maupun
dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara syncrhronous maupun
asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan
UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun
asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock
Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber
clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang
digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode
asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk
mode syncrhronous harus 3 pin yaitu TXD, RXD dan XCK.
2.2.4 Pin-pin pada Mikrokontroler ATmega8535
Gambar 2.1. Konfigurasi pin ATmega8535 (Data Sheet AVR)
Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline
Package) dapat dilihat pada gambar 2.1. Dari gambar di atas dapat dijelaskan
fungsi dari masing-masing pin Atmega8535 sebagai berikut:
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.
3. Port A (PortA0...PortA7) merupakan pin input/output dua arah dan pin
masukan ADC.
4. Port B (PortB0...PortB7) merupakan pin input/output dua arah dan pin fungsi
khusus, seperti dapat dilihat pada tabel di bawah ini.
Pin Fungsi Khusus
PB7 SCK (SPI Bus Serial Clock)
PB6 MISO (SPI Bus Master Input/ Slave Output)
PB5 MOSI (SPI Bus Master Output/ Slave Input)
PB4 SS (SPI Slave Select Input)
PB3 AIN1 (Analog Comparator Negative Input) OC0
(Timer/Counter0 Output Compare Match Output)
PB2 AIN0 (Analog Comparator Positive Input) INT2 (External
Interrupt 2 Input)
PB1 T1 (Timer/ Counter1 External Counter Input)
PB0 T0 T1 (Timer/Counter External Counter Input) XCK
(USART External Clock Input/Output)
Tabel 2.1 Fungsi Khusus Port B
5. Port C (PortC0...PortC7) merupakan pin input/output dua arah dan pin fungsi
khusus, seperti dapat dilihat pada tabel dibawah ini.
Pin Fungsi khusus
PC7 TOSC2 ( Timer Oscillator Pin2)
PC6 TOSC1 ( Timer Oscillator Pin1)
PC4 Input/Output
PC3 Input/Output
PC2 Input/Output
PC1 SDA (Two-wire Serial Buas Data Input/Output Line)
PC0 SCL (Two-wire Serial Buas Clock Line)
Tabel 2.2. Fungsi Khusus Port C
6. Port D (PortD0...PortD7) merupakan pin input/output dua arah dan pin fungsi
khusus, seperti yang terlihat pada tabel dibawah ini.
Pin Fungsi khusus
PD7 OC2 (Timer/Counter Output Compare Match Output)
PD6 ICP (Timer/Counter1 Input Capture Pin)
PD5 OC1A (Timer/Counter1 Output Compare A MatchOutput)
PD4 OC1B (Timer/Counter1 Output Compare B MatchOutput)
PD3 INT1 (External Interrupt 1 Input)
PD2 INT0 (External Interrupt 0 Input)
PD1 TXD (USART Output Pin)
PD0 RXD (USART Input Pin)
Tabel 2.3 Fungsi Khusus Port D
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
2.3 Sensor Jarak Ultrasonik PING
Sensor jarak ultrasonik ping adalah sensor 40 khz produksi parallax yang
banyak digunakan untuk aplikasi atau kontes robot cerdas. Kelebihan sensor ini
adalah hanya membutuhkan 1 sinyal ( SIG ) selain jalur 5 v dan ground. Berikut
adalah contoh gambar sensor PING:
Gambar 2.2 Sensor jarak ultrasonik ping
Sensor ini dapat mengukur jarak antara 2 cm sampai 300 cm (blank area
yaitu sensor tidak dapat mengukur jarak jika jarak benda < 2cm). Keluaran dari
sensor ini berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya
bervariasi dari 115 uS sampai 18,5 mS. Sensor ultrasonic ping parallax terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara
2.3.1 Spesifikasi sensor PING
a.Kisaran pengukuran 3cm-3m.
b.Input trigger –positive TTL pulse, 2uS min., 5uS tipikal.
c.Echo hold off 750uS dari fall of trigger pulse.
d.Delay before next measurement 200uS.
e.Burst indicator LED menampilkan aktifitas sensor.
2.3.2 Prinsip Kerja Sensor PING
Berikut adalah prinsip kerja sensor ultrasonic ping parallax.
1. Pin yang digunakan sebagai jalur data sensor dijadikan output.
2. Mikrokontroler memberikan pulsa trigger (pulsa high dengan tOUT selama 2
µs sampai 5 µs).
3. Kemudian setelah memberikan trigger, pin tersebut dijadikan input.
4. Sensor memancarkan gelombang ultrasonic sebesar 40KHz selama 200 µs
(tBURST).
5. Gelombang ultrasonic ini akan merambat diudara dengan kecepatan 344.424
m/detik atau 1 cm setiap 29.034 µs.
6. Gelombang tersebut akan mengenai objek kemudian terpantul kembali ke
sensor.
7. Selama menunggu pantulan, sensor akan menghasilkan sebuah pulsa (high)
8. Pulsa ini akan berhenti (low) ketika gelombang suara pantulan terdeteksi oleh
sensor.
9. Lebar pulsa tersebutlah yang yang dipresentasikan sebagai jarak antara sensor
10. Lebar pulsa high (tIN) akan sesuai dengan lama waktu tempuh gelombang
ultrasonik untuk 2x jarak ukur dengan obyek yang kemudian dapat
merepresentasikan jarak antara sensor ping dengan objek.
11. Sinyal yang diterima oleh rangkaian receiver dikirimkan ke rangkaian
mikrokontroler untuk selanjutnya diolah untuk menghitung jarak terhadap benda.
12. Benda di sini adalah benda yang bersifat memantul, bukan benda yang
bersifat meredam sinyal.
Pada dasanya, Sensor PING terdiri dari sebuah chip pembangkit sinyal
40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker
ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik
berfungsi untuk mendeteksi pantulan suaranya. Sensor PING mendeteksi jarak
obyek dengan cara memancarkan gelombang ultrasonik (40 kHz) selama tBURST
(200 μs) kemudian mendeteksi pantulannya. Sensor PING memancarkan
gelombang ultrasonik sesuai dengan kontrol dari mikrokontroler pengendali
Gelom
detik, men
pulsa outp
setelah ge
SIG. Leba
ultrasonik
2.4 Buzze
Buzze getaran li tegangan buzzer ham yang terp sehingga mbang ultra ngenai oby
put high pa
elombang pa
ar pulsa Hig
k untuk 2x ja
er
er adalah se
istrik menja
antara 5 vo
mpir sama
pasang pada
[image:32.595.150.488.87.333.2]menjadi el
Gambar 2.
asonik ini
yek dan me
ada pin SIG
antulan terd
gh (tIN) ak
arak ukur de
ebuah komp adi getaran olt sampai dengan lou a diafragma lektromagne
.3 Prinsip k
melalui ud
emantul kem
G setelah me
deteksi PIN
kan sesuai d
engan obye
ponen elektr
suara. Bu
dengan 12
ud speaker,
a dan kem
et, kumpar
erja sensor
dara dengan
mbali ke se
emancarkan
NG akan me
dengan lama
ek.
ronika yang
zzer akan
volt DC. P
jadi buzzer
mudian kum
ran tadi ak PING
n kecepatan
ensor. PING
n gelomban
embuat outp
a waktu tem
g berfungsi u
menyala jik
Pada dasarn
r juga terdir
mparan terse
kan tertarik
n 344 mete
G mengelu
ng ultrasonik
put low pad mpuh gelom
untuk meng
ka mendap
nya prinsip
ri dari kum
ebut dialiri
dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan
diafragma secara bolak-balik sehingga membuat udara bergetar yang akan
menghasilkan suara. Di dalam tugas akhir ini, buzzer digunakan sebagai indikator
[image:33.595.246.397.223.346.2]bahwa telah terjadi suatu kesalahan pada sebuah alat (alarm).
Gambar 2.4 Bentuk Buzzer
2.5 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 arus inputnya (BJT) atau tegangan inputnya (FET),
memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber
listriknya. Transistor through-hole (dibandingkan dengan pita ukur sentimeter)
Pada umumnya, transistor memiliki 3 terminal. Tegangan atau arus yang dipasang
di satu terminalnya mengatur arus yang lebih besar yang melalui 2 terminal
lainnya.
Transistor merupakan alat dengan tiga terminal. Setelah bahan semikonduktor
pembuatannya banyak, pada dasarnya transistor merupakan tiga lapis gabungan
kedua jenis bahan tadi, yaitu n p n atau p n p. Transistor adalah komponen yang
sangat penting dalam dunia elektronik modern. Dalam rangkaian analog,
transistor digunakan dalam amplifier (penguat). Rangkaian analog melingkupi
pengeras suara, sumber listrik stabil, dan penguat sinyal radio. Dalam
rangkaian-rangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi.
Beberapa transistor juga dapat dirangkai sedemikian rupa sehingga berfungsi
sebagai logic gate, memori, dan komponen-komponen lainnya.
2.5.1 Transistor n p n
Kolektor dan emitter merupakan bahan n dan lapisan diantara mereka merupakan jenis p. Pada mulanya diperkirakan bahwa transistor seharusnya
bekerja dalam salah satu arah, ialah dengan saling menghubungkan ujung-ujung
kolektor dan emitter karena mereka terbuat dari jenis bahan yang sama. Namun,
hal ini tidaklah mungkin karena mereka tidak berukuran sama. Kolektor
berukuran lebih besar dan kebanyakan dihubungkan secara langsung kekotaknya
untuk penyerapan panas. Ketika transistor digunakan hampir semua panas yang
terbentuk berada pada sambungan basis-kolektor yang harus mampu
menghilangkan panas ini. Sambungan basis emitter hanya mampu menahan
tegangan yang rendah.
Operasi dalam arah balik dapat dijalankan tetapi tidak efisien, sehingga tidak
sesuai dengan metode hubungan praktis karena sangat sering merusakkan alat.
Pada umumnya transistor dianggap sebagai suatu alat yang beroperasi karena
emitter, suatu suplai positif pada kolektor akan menyebabkan arus mengalir diantara kolektor dan emitter. Dua hal yang harus diperhatikan pada arus kolektor
ini ialah :
1. Untuk arus basis nol, arus kolektor turun sampai pada tingkat arus
kebocoran, yaitu kurang dari 1µA dalam kondisi normal (untuk transistor silikon).
2. Untuk arus basis tertentu, arus kolektor yang mengalir akan jauh lebih
besar daripada arus basis itu.
Salah satu fungsi Transistor yang paling banyak digunakan di dunia
Elektronika Analog adalah sebagai penguat yaitu penguat arus,penguar tegangan,
dan penguat daya. Fungsi komponen semikonduktor ini dapat kita temukan pada
rangkaian Pree-Amp Mic, Pree-Amp Head, Mixer, Echo, Tone Control, Amplifier
dan lain-lain.
Cara kerja transistor apabila pada terminal transistor tidak diberi tegangan
bias dari luar, maka semua arus akan nol atau tidak ada arus yang mengalir.
Sebagaimana terjadi pada persambungan dioda, maka pada persambungan emiter
dan basis (JE) serta pada persambungan basis dan kolektor (JC) terdapat daerah
pengosongan. Tegangan penghalang (barrier potensial) pada masing- masing
persambungan
Dari banyak tipe-tipe transistor modern, pada awalnya ada dua tipe dasar
transistor, bipolar junction transistor (BJT atau transistor bipolar) dan field-effect
transistor (FET), yang masing-masing bekerja secara berbeda. Transistor bipolar
dinamakan demikian karena kanal konduksi utamanya menggunakan dua polaritas
arus listrik utama harus melewati satu daerah/lapisan pembatas dinamakan
depletion zone, dan ketebalan lapisan ini dapat diatur dengan kecepatan tinggi
dengan tujuan untuk mengatur aliran arus utama tersebut. FET (juga dinamakan
transistor unipolar) hanya menggunakan satu jenis pembawa muatan (elektron
atau hole, tergantung dari tipe FET). Dalam FET, arus listrik utama mengalir
dalam satu kanal konduksi sempit dengan depletion zone di kedua sisinya
(dibandingkan dengan transistor bipolar dimana daerah Basis memotong arah arus
listrik utama). Dan ketebalan dari daerah perbatasan ini dapat dirubah dengan
perubahan tegangan yang diberikan, untuk mengubah ketebalan kanal konduksi
tersebut.
Transistor adalah komponen elektronika multitermal, biasanya memiliki 3
terminal. Secara harfiah, kata ‘Transistor’ berarti ‘ Transfer resistor’, yaitu suatu
komponen yang nilai resistansi antara terminalnya dapat diatur. Secara umum
transistor terbagi dalam 3 jenis :
1. Transistor Bipolar
2. Transistor Unipolar
3. Transistor Unijunction
Transistor bipolar bekerja dengan 2 macam carrier, sedangkan unipolar satu
Dari susunan bahan semikonduktor yang digunakan, transistor dapat
dibedakan menjadi dua buah tipe yaitu transistor tipe PNP dan transistor tipe
NPN. Pada prinsipnya transistor sama dengan dua buah dioda yang disusun saling
bertolak belakang, seperti yang terlihat pada gambar dibawah ini :
Struktur PNP Struktur NPN
Transistor di desain dari pemanfaatan sifat diode, arus menghantar dari diode
dapat dikontrol oleh electron yang ditambahkan pada pertemuan PN diode.
Dengan penambahan elekdiode pengontrol ini, maka diode semi-konduktor dapat
dianggap dua buah diode yang mempunyai electrode bersama pada pertemuan.
Transistor dapat bekerja apabila diberi tegangan, tujuan pemberian tegangan pada
transistor adalah agar transistor tersebut dapat mencapai suatu kondisi penghantar
atau menyumbat. Baik transistor NPN maupun PNP tegangan antara emitor dan
basis adalah forward bias, sedangkan antara basis dengan kolektor adalah reverse
bias.
Berdasarkan cara pemasangan ground dan pengambilan output, penguat
transistor dibagi menjadi tiga bagian yaitu:
1. Common Base Penguat Common Base digunakan sebagai penguat tegangan.
Pada rangkaian ini Emitor merupakan input dan Collector adalah output
sedangkan Basis di-ground-kan/ ditanahkan. Sifat-sifat Penguat Common Base:
Cocok sebagai Pre-Amp karena mempunyai impedansi input tinggi yang
dapat menguatkan sinyal kecil
Dapat dipakai sebagai penguat frekuensi tinggi
Dapat dipakai sebagai buffer
2. Penguat Common Emitor Penguat Common Emitor digunakan sebagai
penguat tegangan. Pada rangkaian ini Emitor di-ground-kan/ ditanahkan, Input
adalah Basis, dan output adalah Collector. Sifat-sifat Penguat Common Emitor:
Signal output berbeda phasa 180 derajat
Memungkinkan adanya osilasi akibat feedback, untuk mencegahnya sering
dipasang feedback negatif.
Sering dipakai sebagai penguat audio (frekuensi rendah)
Stabilitas penguatan rendah karena tergantung stabilitas suhu dan bias
transistor
3. Penguat Common Collector
Penguat Common Collector digunakan sebagai penguat arus. Rangkaian ini
hampir sama dengan Common Emitor tetapi outputnya diambil dari Emitor. Input
dihubungkan ke Basis dan output dihubungkan ke Emitor. Rangkaian ini disebut
juga dengan Emitor Follower (Pengikut Emitor) karena tegangan output hapir
sama dengan tegangan input.
Sifat-sifat Penguat Common Collector:
Signal output dan sigal input satu phasa (tidak terbalik seperti Common
Emitor)
Penguatan tegangan kurang dari 1 (satu)
Impedansi input tinggi dan impedansi output rendah sehingga cocok
digunakan sebagai buffer
2.6 LCD (Liquid Crystal Display)
[image:39.595.137.485.178.336.2]
Gambar 2.5 LCD (Liquid Crystal Display)
Display LCD sebuah liquid crystal atau perangkat elektronik yang dapat
digunakan untuk menampilkan angka atau teks. Ada dua jenis utama layar LCD
yang dapat menampilkan numerik (digunakan dalam jam tangan, kalkulator dll)
dan menampilkan teks alfanumerik (sering digunakan pada mesin fotokopi dan
telepon genggam). Dalam menampilkan numerik ini kristal yang dibentuk
menjadi bar, dan dalam menampilkan alfanumerik kristal hanya diatur kedalam
pola titik. Setiap kristal memiliki sambungan listrik individu sehingga dapat
dikontrol secara independen. Ketika kristal off' (yakni tidak ada arus yang melalui
kristal) cahaya kristal terlihat sama dengan bahan latar belakangnya, sehingga
kristal tidak dapat terlihat. Namun ketika arus listrik melewati kristal, itu akan
merubah bentuk dan menyerap lebih banyak cahaya. Hal ini membuat kristal
terlihat lebih gelap dari penglihatan mata manusia sehingga bentuk titik atau bar
perbedaan antara layar LCD dan layar LED. Sebuah LED display (sering
digunakan dalam radio jam) terdiri dari sejumlah LED yang benar-benar
mengeluarkan cahaya (dan dapat dilihat dalam gelap). Sebuah layar LCD hanya
mencerminkan cahaya, sehingga tidak dapat dilihat dalam gelap. LMB 162A
adalah modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris dengan
setiap karakternya dibentuk oleh 8 baris pixel dan 5 kolom pixel (1 baris terakhir
adalah kursor). Memori LCD terdiri dari 9.920 bir CGROM, 64 byte CGRAM
dan 80x8 bit DDRAM yang diatur pengalamatannya oleh Address Counter dan
akses datanya (pembacaan maupun penulisan datanya) dilakukan melalui register
data. Pada LMB162A terdapat register data dan register perintah. Proses akses
data ke atau dari register data akan mengakses ke CGRAM, DDRAM atau
CGROM bergantung pada kondisi Address Counter, sedangkan proses akses data
ke atau dari Register perintah akan mengakses Instruction Decoder (dekoder
instruksi) yang akan menentukan perintah–perintah yang akan dilakukan oleh
LCD. Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan
menggunakan mikrokontroller. LCD dapat berfungsi untuk menampilkan suatu
nilai hasil sensor, menampilkan teks, atau menampilkan menu pada aplikasi
[image:40.595.159.458.586.714.2]mikrokontroller.
2.6.1 Klasifikasi LCD
a. 16 karakter x 2 baris
b. 5x7 titik Matrix karakter + kursor
c. HD44780 Equivalent LCD kontroller/driver Built-In
d. 4-bit atau 8-bit MPU Interface
e. Tipe standar
f. Bekerja hampir dengan semua Mikrokontroler.
Berikut table dan fungsi dari LCD :
Pin Nama Fungsi
1 VSS Ground voltage
2 VCC +5V
3 VEE Contrast voltage
4 RS Register Select
0 = Instruction register
1 = Data register
5 R/W Read/write, to choose write or read mode
0 = Write mode
1 = Read mode
6 E Enable
0 = Start to lacht data to LCD character
1 = Disable
7 BPL Back Plane Light
8 GND Ground voltage
Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN
dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda
sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka
melalui program EN harus dibuat logika low “0” dan set pada dua jalur kontrol
yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika
“1” dan tunggu untuk sejumlah waktu tertentu ( sesuai dengan datasheet dari LCD
tersebut ) dan berikutnya set EN ke logika low “0” lagi.
Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan
dianggap sebagai sebuah perintah atau instruksi khusus ( seperti clear screen,
posisi kursor, dll ). Ketika RS berlogika high “1”, data yang dikirim adalah data
text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk
menampilkan huruf “T” pada layar LCD maka RS harus diset logika high “1”.
Jalur RW adalah jalur kontrol Read/Write. Ketika RW berlogika low (0), maka
informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika
high ”1”, maka program akan melakukan pembacaan memori dari LCD.
Sedangkan pada aplikasi umum pin RW selalu diberi logika low ”0”. Pada
akhirnya, bus data terdiri dari 4 atau 8 jalur ( bergantung pada mode operasi yang
dipilih oleh user). Pada kasus bus data 8 bit, jalur diacukan sebagai DB0 s/d DB7
2.7 Perangkat Lunak 2.7.1 CodeVisionAVR
CodeVisionAVR merupakan sebuah software yang digunakan untuk
memprogram mikrokontroler sekarang ini telah umum. Mulai dari penggunaan
untuk kontrol sederhana sampai kontrol yang cukup kompleks, mikrokontroler
dilakukan menggunakan compiler yang selanjutnya didownload ke dalam
mikrokontroler menggunakan downloader. Salah satu compiler program yang umum digunakan sekarang ini adalah CodeVision AVR yang menggunakan
bahasa pemrograman C.
CodeVision AVR mempunyai suatu keunggulan dari compiler lain, yaitu
adanya codewizard, fasilitas ini memudahkan kita dalam inisialisasi
mikrokontroler yang akan kita gunakan, codevision telah menyediakan
konfigurasi yang bisa diatur pada masing-masing chip mikrokontroler yang akan
kita gunakan, sehingga kita tidak perlu melihat datasheet untuk sekedar mengonfigurasi mikrokontroler.
CodeVisionAVR merupakan sebuah cross-compiler C, Integrated
Development Environtment (IDE), dan Automatic Program Generator yang
didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat
dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP.
Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C,
sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur
untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada
sistem embedded. File object COFF hasil kompilasi dapat digunakan untuk
keperluan debugging pada tingkatan C, dengan pengamatan variabel,
menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal
berupa software AVR Chip In-System Programmer yang memungkinkan Anda
untuk melakukan transfer program kedalam chip mikrokontroler setelah sukses
Software In-System Programmer didesain untuk bekerja dengan Atmel
STK500/AVRISP/AVRProg, Kanda Systems STK200+/300, Dontronics DT006,
Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics
ATCPU/Mega2000 programmers/development boards. Untuk keperluan
debugging sistem embedded, yang menggunakan komunikasi serial, IDE
mempunyai fasilitas internal berupa sebuah Terminal.
Selain library standar C, CodeVisionAVR juga mempunyai library tertentu untuk:
• Modul LCD alphanumeric
• Bus I2C dari Philips
• Sensor Suhu LM75 dari National Semiconductor
• Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan DS1307 dari
Maxim/Dallas Semiconductor
• Protokol 1-Wire dari Maxim/Dallas Semiconductor
• Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas
Semiconductor
• Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor
• EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor
• SPI
• Power Management
• Delay
• Konversi ke Kode Gray
CodeVisionAVR juga mempunyai Automatic Program Generator bernama
CodeWizardAVR, yang mengujinkan Anda untuk menulis, dalam hitungan menit,
• Set-up akses memori eksternal
• Identifikasi sumber reset untuk chip
• Inisialisasi port input/output
• Inisialisasi interupsi eksternal
• Inisialisasi Timer/Counter
• Inisialisasi Watchdog-Timer
• Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang
digerakkan oleh interupsi
• Inisialisasi Pembanding Analog
• Inisialisasi ADC
• Inisialisasi Antarmuka SPI
• Inisialisasi Antarmuka Two-Wire
• Inisialisasi Antarmuka CAN
• Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 dan
Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307
• Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20
• Inisialisasi modul LCD
CodeVisionAVR merupakan hak cipta dari Pavel Haiduc, HP InfoTech s.r.l.
Adapun kelebihan-kelebihan yang dimiliki oleh CodeVisionAVR antara lain :
1. Menggunakan IDE (Integrated Development Environment).
2. Fasilitas yang disediakan lengkap (mengedit program, mengkompile
program, mendownload program) serta tampilannya terlihat menarik dan
mudah dimengerti. Kita dapat mengatur settingan editor sedemikian rupa
3. Mampu membangkitkan kode program secara otomatis dengan
menggunakan fasilitas CodeVisionAVR.
4. Memiliki fasilitas untuk mendownload program langsung dari
CodeVisionAVR dengan menggunakan hardware khusus seperti Atmel
STK500, Kanda System STK200+ / 300 dan beberapa hardware lain yang
telah didefinisikan oleh CodeVisionAVR.
5. Memiliki fasilitas debugger sehingga dapat menggunakan software
compiler lain untuk mengecek kode assembler nya, contohnya
AVRStudio.
6. Memiliki terminal komunikasi serial yang terintegrasi dalam
CodeVisionAVR sehingga dapat digunakan untuk membantu pengecekan
program yang telah dibuat khususnya yang menggunakan fasilitas
BAB 3
PERANCANGAN ALAT DAN PROGRAM
3.1 Rangkaian Perangkat Keras (Hardware)
3.1.1 Diagram Blok Rangkaian
Diagram blok merupakan diagram kotak (blok diagram) system yang
dirancang yaitu deteksi dini banjir dengan alarm. Rancangan berupa suatu proses
deteksi input dan mengeluarkan output tertentu. Dalam hal ini adalah ketinggian
air pada saat terjadi luapan akibat banjir. Dengan menggunakan sensor jarak
ultrasonic dapat diukur ketinggian air yang masuk dalam suatu wadah yang dibuat
dengan tabung plastik.
Bagian proses terdiri dari sebuah kontroler yang bekerja membaca
ketinggian air melalui sensor ultrasonic pada keadaan tertentu yaitu ketinggian air
tertentu kontroler harus memberikan isyarat melalui output suara yaitu buzzer
Gambar 3.1 Diagram Blok Rangkaian
3.2 Perancangan Rangkaian Kendali
Rancangan rangkaian kendali adalah suatu rangkaian elektronik berbasis
mikrokontroller. Rancangan terdiri dari beberapa bagian utama antara lain yaitu:
Sensor Ultrasonik, Mikrokontroller, Penguat, Display / LCD, Buzzer dan Flow
3.2.1 Sensor Ultrasonik
Pada rancangan ini menggunakan sensor jarak sensor jarak yaitu sensor
ultrasonic. Tipe sensor ultrasonic yaitu SR 04. Cara kerja sensor pada rangkaian
adalah sebagai berikut: Sensor akan memancarkan sebuah gelombang ultrasonic
dengan frekuensi 40 kHz kemudian sensor akan mendeteksi pantulan gelombang
ultrasonic tersebut jika mengenai suatu objek pemantul. Antara dipancarkan
gelombang ultrasonic dengan diterimanya kembali gelombang tersebut terdapat
selisih waktu dan dengan mengetahui kecepatan suara kecepatan suara diudara
maka dapat dihitung jarak objek dengan sensor. Dengan persamaan:
s = V × ………. 1
Dimana: s = jarak objek dengan sensor
v = kecepatan suara (340 m/s)
Gambar 3.2 Rangkaian Skematik Sensor Ultrasonik PING
3.2.2 Mikrokontroller
Mikrokontroller adalah bagian rangkaian yang berfungsi mengendalikan
sistem secara keseluruhan yaitu membaca input dari sensor, mengkalkulasikan
jarak dan memutuskan jika harus mengeluarkan suatu output peringatan atau
isyarat. Mikrokontroller yang digunakan dalam rancangan adalah AVR
ATmega8535. Mikrokontroller tersebut diprogram dengan bahasa C yaitu CV
sedangkan output mikrokontroller diprogram pada port B yaitu PB.0. Kristal pada
pin 12 dan 13 berfungsi sebagai masukan pulsa clock, sedangkan resistor pada pin
9 berfungsi sebagai riset awal saat mikrokontroller diaktifkan. Mikrokontroller
akan membaca sensor dengan cara mendeteksi waktu pancar gelombang
ultrasonic dan diterimanya kembali gelombang tersebut yaitu dengan mendeteksi
pulsa atau logika yang diberikan oleh sensor saat diterimanya gelombang
ultrasonic pantulan. Mikrokontroller mengeluarkan output dengan cara
Gambar 3.3 Rangkaian Mikrokontroller ATMega8535
3.2.3 Penguat
Yang dimaksud dengan penguat dalam rangkaian ini adalah rangkaian
penguat arus yaitu rangkaian yang berfungsi menguatkan arus agar dapat
dan sebuah resistor. Transistor dikonfigurasikan sebagai penguat common emitor
dan bekerja pada daerah on-off dengan memberikan logika 1 pada basis akan
menyebabkan transistor jenuh karena mendapat bias positif sehingga arus akan
terputus. Tipe transistor dalam rangkaian adalah BD139 yaitu transistor NPN
(Negatif Positif Negatif) dengan arus 1 ampere.
3.2.4 Display / LCD
Gambar 3.4 Rangkaian LCD
Display LCD sebuah liquid crystal atau perangkat elektronik yang berfungsi
untuk menampilkan angka atau teks. Dalam menampilkan numerik ini kristal yang
dibentuk menjadi bar, dan dalam menampilkan alfanumerik kristal hanya diatur
kedalam pola titik. Setiap kristal memiliki sambungan listrik individu sehingga
dapat dikontrol secara independen. Ketika kristal off (yakni tidak ada arus yang
melalui kristal) cahaya kristal terlihat sama dengan bahan latar belakangnya,
akan merubah bentuk dan menyerap lebih banyak cahaya. Hal ini membuat kristal
terlihat lebih gelap dari penglihatan mata manusia sehingga bentuk titik atau bar
dapat dilihat dari perbedaan latar belakang.
Modul display LCD sudah dilengkapi dengan sebuah kontroler yang memiliki
dua register 8 bit yaitu instruction register (IR) dan data register (DR). IR
menyimpan kode instruksi, seperti display clear, cursor shift dan informasi
address untuk display data RAM (DDRAM) dan character generator (CGRAM).
3.2.5 Buzzer
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk
mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja
buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan
yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus
sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau
keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan
dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan
diafragma secara bolak-balik sehingga membuat udara bergetar yang akan
menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah
selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).
Dalam rancangan ini digunakan buzzer tipe piezo elektrik dengan
frekuensi ± 1000 Hz. Dengan memberikan arus pada buzzer menyebabkan getaran
Gambar 3.5 Rangkaian Buzzer
3.2.6 Flow Chart
Flowchart ( Bagan Alir ) merupakan suatu bagan yang menggambarkan arus
logika dari data yang akan diproses dari awal sampai akhir. Tujuan utama dari
penggunaan Flowchart adalah untuk menggambarkan suatu tahapan penyelesaian
masalah secara sederhana, terurut, rapi dan jelas dengan menggunakan
simbol-simbol yang standar. Tahap masalah yang disajikan harus jelas, sederhana, efektif
S ta rt
In is id a s i L C D Is i N ila i A w a l P o rt
P e m b e ria n S in y a l P ic u (T rig g a r) P a d a S e n s o r
B a c a N ila i P u ls a P a n tu la n D a ri S e n s o r U ltra s o n ik
P u ls a A d a A ta u P a n tu la n ?
K a lk u la s i J a ra k O b je k
T a m p ilk a n P a d a L C D J a ra k Y a n g T e ru k u r
A k tifk a n B u z z e r S e s u a i J a ra k Y a n g T e ru k u r
Gambar 3.6 Flow Chart Pendeteksi Banjir
Diagram diatas adalah diagram alir sistem yaitu proses kerja dari awal
hingga selesai. Diagram tersebut menggambarkan 1 siklus dari start hingga stop
yang merupakan proses yang dilakukan oleh mikrokontroller mulai dengan start
mikrokontroller akan menginisialisasi port dan mengisi nilai awal dari semua port
kemudian mulai memicu sensor untuk bekerja mendeteksi jarak atau ketinggian
jika mikrokontroller membaca pulsa akibat diterima kembali gelombang
ultrasonic maka tahap selanjutnya adalah mengkalkulasi ketinggian air kemudian
membandingkan ketinggian yang terdeteksi dengan suatu acuan dalam hal ini 10
cm ketinggian air jika bacaan sensor melebihi batas tersebut mikrokontroller akan
Gambar 3.7 Rancangan Rangkaian Deteksi Banjir Berbasis ATmega8535
Berikut Ini Adalah Program Utuh Deteksi Banjir
#include <alcd.h>
#include <mega8535.h>
#include <delay.h>
#include <stdio.h>
#define SIG_in PINC.1
#define trigger PINC.0
unsigned int US;
unsigned int Constant;
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x0F;
PORTC=0x02;
PORTD=0xFF;
DDRD=0x00;
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf(" SISTEM ALARM");
lcd_gotoxy(0,1);
lcd_putsf(" DETEKSI BANJIR");
delay_ms(2000);
Constant = 27;
lcd_clear();
while (1)
{
PORTC.0 = 1;
delay_us(20);
PORTC.0 = 0;
TCNT1=0;
while (PINC.1 == 0){};
TCCR1B=0x02;
while ((PINC.1 == 1) && !(TIFR & 0x80)); TCCR1B=0x00;
US = TCNT1;
if ( US >= 1000) {US = (US/Constant)*10;}
if ( US < 2000){
lcd_gotoxy(0,0);lcd_putsf("TINGGI: CM");
US = 198 - US;
if (US < 0){US = 0;}
if ( US > 50 ) {PORTB.0 = 1;}else{PORTB.0 = 0;}
lcd_gotoxy(8,0);
lcd_putchar(US/1000 %10 + 0x30);
lcd_putchar(US/100 %10 + 0x30);
lcd_putchar(US/10 %10 + 0x30);
lcd_putsf(".");
lcd_putchar(US %10 + 0x30);
delay_ms(100);
PORTB.1 = 0;
delay_ms(500);
PORTB.1 = 1;}
}
Keterangan yang ada pada CV AVR:
1. USART untuk komunikasi data serial.
2. Analog Computer untuk pembanding sinyal analog.
3. ADC untuk mengubah analog menjadi digital.
4. SP1, I2C, 1 Wire, TW1 (I2C) untuk mengkomunikasi data serial.
5. Alphanumeric LCD untuk pengaturan port LCD.
6. Chip untuk pemilihan IC mikrokontroller.
7. External IRQ untuk pengaturan interupsi eksternal.
8. Timer untuk pengaturan waktu atau delay.
9. Bit-Banged untuk penggunaan periveral tertentu. Misalnya sensor project
BAB 4
PENGUJIAN PROGRAM DAN PENGUKURAN RANGKAIAN
4.1 Pengujian Program
#include <alcd.h>
#include <mega8535.h>
#include <delay.h>
#include <stdio.h>
#define SIG_in PINC.1
#define trigger PINC.0
unsigned int US;
unsigned int Constant;
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
PORTC=0x02;
DDRC=0x01;
PORTD=0xFF;
DDRD=0x00;
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf(" SISTEM ALARM");
lcd_gotoxy(0,1);
lcd_putsf(" DETEKSI BANJIR");
delay_ms(2000);
Constant = 27;
lcd_clear();
while (1)
{
PORTC.0 = 1;
delay_us(20);
PORTC.0 = 0;
while (PINC.1 == 0){};
TCCR1B=0x02; while ((PINC.1 == 1) &&
!(TIFR & 0x80)); TCCR1B=0x00;
US = TCNT1;
if ( US < 1000 ) {US = (US*10)/Constant;}
if ( US >= 1000) {US = (US/Constant)*10;}
if ( US < 2000){
lcd_gotoxy(0,0);lcd_putsf("TINGGI: CM");
US = 198 - US;
if (US < 0){US = 0;}
if ( US > 50 ) {PORTB.0 = 1;}else{PORTB.0 = 0;}
lcd_gotoxy(8,0);
lcd_putchar(US/1000 %10 + 0x30);
lcd_putchar(US/100 %10 + 0x30);
lcd_putchar(US/10 %10 + 0x30);
lcd_putsf(".");
lcd_putchar(US %10 + 0x30);
delay_ms(100);
PORTB.1 = 0;
delay_ms(500);
PORTB.1 = 1;}
}
}
Berikut adalah proses pengujian program yang dibuat dengan bahasa C,
dimana program diuji langsung pada alat atau rangkaian sistem. Sebelumnya
program diunduh kedalam IC mikrokontroller kemudian dijalankan. Hasil yang
diperoleh dari pengujian program adalah bahwa sensor memberikan input pada
mikrokontroller sehingga mikrokontroller akan merespon pada jarak tertentu yaitu
mengeluarkan output buzzer. Dalam hal ini, jarak sensor dengan objek untuk
memberikan output buzzer adalah lebih kecil dari 17 cm. Dengan asumsi bahwa
alat ukur ketinggian air telah mencapai 3 cm yaitu tinggi sensor dikurangi selisih
antara jarak sensor dengan ketinggian air yaitu 20 cm – 17 cm = 3 cm. Dari uji
coba tersebut dapat disimpulkan bahwa rancangan program telah berjalan dengan
baik yaitu memberikan output yang diinginkan sesuai dengan kondisi input.
4.2 Pengukuran Rangkaian
Pengukuran Rangkaian
Pin Tegangan PIN
1 0
2 4,9
3 0
4 0
5 1,48
6 1,46
7 1,46
8 1,46
9 4,96
10 4,97
11 0
12 0,78
13 0,95
14 4,94
15 4,94
17 4,94
18 4,94
19 4,94
20 4,94
21 4,93
22 0,01
23 0,60
24 0,57
25 0,58
26 1,58
27 0,63
28 0,58
29 1,56
30 4,97
31 0
32 4,97
34 1,61
35 1,57
36 1,60
37 0,09
38 1,58
39 1,60
[image:69.595.133.370.81.353.2]40 1,59
Tabel 4.1 Hasil Pengukuran Tegangan PIN Mikrokontroller
2. Hasil Pengukuran Tegangan Catu Daya
12,43
3. Hasil Pengukuran Tegangan Regulator
4,97
4. Hasil Pengukuran Pulsa Keluaran Sensor PING
Jarak (cm) Lebar Pulsa Tegangan Pulsa Gambar
16 0,96 ms 4,8 v Gambar 1
14 0,78 ms 4,8 v Gambar 2
10 0,48 ms 4,8 v Gambar 4
[image:70.595.122.521.84.163.2]8 0,4 ms 4,8 v Gambar 5
Tabel 4.2 Hasil Pengukuran Pulsa Keluaran Sensor PING
Analisa Perhitungan :
Jarak Kecepatan suara x waktu
S V. t
S
m
s x , s
S1 = 0,163 m = 16,3 cm
S V. t
S
m
s x , s
S V . t
S
m
s x , s
S3 = 0,108 m = 10,8 cm
S V . t
S
m
s x , s
S4 = 0,081 m = 8,1 cm
S
m
s x , s
S5 = 0,068 m = 6,8 cm
Perhitungan % Error :
% error , x %
= 1,8%
% error , x %
= 5,7%
% error , x %
= 10%
% error , x %
% error , x %
BAB 5
KESIMPULAN DAN SARAN
5.1Kesimpulan
Melalui data hasil pengukuran dan pengujian, dapat diambil beberapa
kesimpulan yaitu:
1. Pada pengujian sensor, persentase error dapat disebutkan oleh perubahan
kecepatan suara yang diakibatkan oleh suhu udara maupun tekanan udara
sehingga hasil pengukuran dapat menyimpang.
2. Penyebab kesalahan sensor juga dapat diakibatkan oleh bentuk objek yang
memantulkan suara, karena cara kerja sensor adalah mendeteksi pantulan
ultrasonik dari objek sehingga jika bentuk permukaan objek pemantul
sangat mempengaruhi hasil pengukuran.
3. Rancangan mendeteksi banjir berdasarkan deteksi ketinggian air hujan.
Dalam rancangan ini ditentukan jika ketinggian air melebihi 3 cm maka
ada indikasi akan terjadi banjir. Parameter ini tidak mutlak dan dapat
berbeda, tergantung pada lokasi yang akan dideteksi.
4. Mikrokontroller ATMega8535 berpotensi untuk mendeteksi banjir
berdasarkan kenaikan tinggi air dengan pemrograman sederhana
5.2 Saran
1. Rancangan dapat dikembangkan menjadi sistem deteksi dini banjir akibat
luapan air sungai maupun bendungan, yaitu dengan mengembangkan sistem
dengan sensor khusus.
2. Rancangan dapat dilengkapi dengan sistem pemantau online yang dapat
DAFTAR PUSTAKA
Bejo, Agus. 2008. C&AVR . Edisi Pertama. Yogyakarta: Graha Ilmu
Woollard, Barry. 2003. Elektronika Praktis. Cetakan Kelima. Jakarta: Pradnya
Paramita
Malvino, Albert Paul. 2004. Prinsip-Prinsip Elektronika. Edisi Pertama. Jakarta:
Salemba Teknika
www.repository.usu.ac.id diakses Tanggal 16 April, 2014
www.skp.unair.ac.id diakses Tanggal 16 April, 2014
http://www.library.upnvj.ac.id/pdf/2s1teknikinformasi/205511002/bab2.pdf
diakses Tanggal 22 Juni, 2014
http://elib.unikom.ac.id/files/disk1/528/jbptunikompp-gdl-andriyanan-26373-4-unikom_a-i.pdf