RANCANG BANGUN ROBOT QUADROPOD PENDETEKSI
HALANGAN DENGAN MENGGUNAKAN LOGIKA FUZZY
TUGAS AKHIR
Oleh :
Nama : Brahmanto Utama Atmaja NIM : 07.41020.0026
Program : S1 (Strata Satu) Jurusan : Sistem Komputer
SEKOLAH TINGGI
MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER
SURABAYA
2012
STIKOM
vi
Banyak robot-robot yang telah dibuat oleh para ahli meniru bentuk anatomi makhluk hidup. Salah satu robot yang banyak digemari adalah robot berkaki. Pemanfaatan robot berkaki pada perindustrian adalah mampu melewati tempat-tempat yang tidak dimungkinkan menggunakan robot beroda, sebagai contoh kelebihan robot berkaki adalah menaiki dan menuruni anak tangga.
Untuk mendukung pengembangan dan penggunaan sistem kontrol yang lebih maju, maka penulis mengajukan pembuatan Robot Quadropod Pendeteksi Halangan Dengan Menggunakan Logika Fuzzy.
Logika fuzzy mempunyai sifat yang fleksibel, artinya mampu beradaptasi dengan perubahan-perubahan, dan ketidakpastian serta memiliki kelebihan dalam proses penalaran secara bahasa (linguistic reasoning) sehingga mudah dimengerti sekaligus menjadi alasan mengapa robot ini menggunakan logika fuzzy. Untuk mengatur kecepatan langkah kaki robot penggunaan logika fuzzy akan sangat membantu mencapai tujuannya yaitu mengatur pergerakan dan kecepatan empat kaki robot dengan bantuan dua buah motor servo disetiap kakinya serta data input berupa jarak halangan yang terdeteksi oleh sensor ultrasound.
Sebagai robot berkaki yang mempunyai sistem pergerakan 2 DOF pada kaki robot, robot ini dapat berjalan dengan baik serta mampu mendeteksi jarak halangan dengan menggunakan sensor ultrasound dan jarak halangan tersebut bisa ditampilkan dengan baik oleh LCD 2x16. Logika fuzzy mampu mengatur kecepatan langkah kaki robot sesuai dengan jarak halangan yang terdeteksi oleh sensor ultrasound, semakin dekat jarak halangan maka semakin pelan kecepatan langkah kaki robot, dan robot akan berhenti pada jarak ≤ 5cm.
Key words: Quadropod, Servo Motors, Fuzzy, Ultrasound Sensor.
STIKOM
ix DAFTAR ISI
Halaman
HALAMAN PENGESAHAN... v
ABSTRAKSI...vi
KATA PENGANTAR... vii
DAFTAR ISI...ix
DAFTAR TABEL... xiii
DAFTAR GAMBAR... xiv
DAFTAR LAMPIRAN... xvi
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah... 1
1.2 Rumusan Masalah... 2
1.3 Batasan Masalah... 3
1.4 Tujuan... 3
1.5 Kontribusi... 4
1.6 Sistematika Penulisan... 4
BAB II LANDASAN TEORI 2.1 Sensor Ultrasound PING)))TM...6
2.1.1 Prinsip kerja dan rangkaian sensor ultrasound ..……...7
2.1.2 Pemancar ultrasound (Transmitter)...9
2.1.3 Penerima ultrasound (Receiver)... 10
2.2 Sistem Fuzzy... 12
2.2.1 Himpunan Fuzzy... ..………... 14
2.2.2 Fungsi Keanggotaan... 16
STIKOM
x
2.2.3 Operator Dasar... 19
2.2.4 Penalaran Monoton...20
2.2.5 Fungsi Implikasi... 20
2.2.6 Metode Sugeno... 20
2.3 Microcontroller ATmega8535...21
2.3.1 Arsitektur ATMega8535L ..………... 23
2.3.2 Fitur ATMega8535L... 25
2.3.3 Konfigurasi Pin ATMega8535L... 25
2.6.4 Timer/Counter... 29
2.4 Mini-Servomotor... 33
2.5 LCD (Liquid Cell Display) 2 x 16... 35
BAB III METODE PENELITIAN 3.1 Perancangan Perangkat Keras...38
3.1.1 Rangkaian Microcontroller...………... 39
3.1.2 Rangkaian Sensor Parallax PING)))TM... 43
3.1.3 Konfigurasi Mini-motorservo... 44
3.1.4 Rangkaian dan Konfigurasi LCD... 45
3.2 Peletakan Komponen Elektronika...46
3.3 Perancangan perangkat lunak……... 48
3.1.1 Membaca Jarak Halangan dan Menampilkan ke LCD... 50
3.1.2 Diagram alir program fuzzy... 51
BAB IV PENGUJIAN SISTEM 4.1 Pengujian Minimum System.... 60
4.1.1 Tujuan... 60
STIKOM
xi
4.1.2 Alat yang digunakan... 60
4.1.3 Prosedur Pengujian... 60
4.1.4 Hasil Pengujian... 61
4.2 Pengujian LCD... 62
4.2.1 Tujuan... 62
4.2.2 Alat yang digunakan... 62
4.2.3 Prosedur Pengujian... 62
4.2.4 Hasil Pengujian... 63
4.3 Pengujian Sensor Ultrasound... 63
4.3.1 Tujuan... 63
4.3.2 Alat yang digunakan... 63
4.3.3 Prosedur Pengujian... 64
4.3.4 Hasil Pengujian... 64
4.4 Pengujian Motor Servo ... 66
4.4.1 Tujuan... 66
4.4.2 Alat yang Digunakan... 66
4.4.3 Prosedur Pengujian... 66
4.4.4 Hasil Pengujian... 67
4.5 Pengujian Logika Fuzzy... 68
4.5.1 Tujuan... 68
4.5.2 Alat yang digunakan... 68
4.5.3 Prosedur Pengujian... 69
4.5.4 Hasil Pengujian... 69
4.6 Pengujian Keseluruhan Sistem... 70
STIKOM
xii
4.6.1 Tujuan... 70
4.6.2 Alat yang digunakan... 70
4.6.3 Prosedur Pengujian... 70
4.6.4 Hasil Pengujian... 71
BAB V PENUTUP 5.1 Kesimpulan... 73
5.2 Saran... 74
DAFTAR PUSTAKA... 75
LAMPIRAN... 76
STIKOM
xiii
DAFTAR TABEL
Halaman
Tabel 2.1 Keterangan Port B ATMEGA8535... 26
Tabel 2.2 Keterangan Port D ATMEGA8535... 28
Tabel 2.3 Keterangan Port D ATMEGA8535... 28
Tabel 2.4 Konfigurasi Bit Clock Select………... 31
Tabel 2.5 Konfigurasi posisi servo………... 35
Tabel 2.6 Deskirpsi pin LCD ke port Microkontroller……... 36
Tabel 4.1 Hasil pengujian sensor ultrasound…………..... 65
Tabel 4.2 Hasil pengujian motor servo... 67
Tabel 4.3 Pengukuran dan perhitungan Fuzzy…... 69
STIKOM
xiv
Halaman
Gambar 2.1 Sensor Ultrasound PING)))™……... 7
Gambar 2.2 Prinsip kerja sensor ultrasound... 8
Gambar 2.3 Rangkaian Pemancar Gelombang Ultrasound... 9
Gambar 2.4 Rangkaian Penerima Gelombang Ultrasound...11
Gambar 2.5 Pemetaan Input Output………...13
Gambar 2.6 Kurva Segitiga…………...17
Gambar 2.7 Kurva Trapesium………...17
Gambar 2.8 Daerah ‘bahu’ pada variabel TEMPERATUR...18
Gambar 2.9 Arsitektur ATMega8535... 21
Gambar 2.10 Pin-pin ATMEGA8535...25
Gambar 2.11 Register TCCR0…….. …...30
Gambar 2.12 Register TCCR1B...…………... 31
Gambar 2.13 Register TCCR2...…... 31
Gambar 2.14 Register TIMSK ……... 32
Gambar 2.15 Register TIFR…... 32
Gambar 2.16 Mini – Servo…………...34
Gambar 2.17 LCD 2 x 16 ….…...36
Gambar 3.1 Blok diagram keseluruhan sistem... 38
Gambar 3.2 Rangkaian Mimimum sistem ATMega8535... 40
Gambar 3.3 Rangkaian Reset…………...... 41
Gambar 3.4 Rangkaian Oscillator …... 42
Gambar 3.5 Konfigurasi LCD pada Port C... 43
STIKOM
xv
Gambar 3.6 Rangkaian sensor ultrasound……….... 44
Gambar 3.7 Rangkaian motor servo... 45
Gambar 3.8 Rangkaian LCD 2 x 16... 46
Gambar 3.9 Penempatan sensor ultrasound... 47
Gambar 3.10 Penempatan motor servo... 47
Gambar 3.11 Penempatan LCD beserta minimum system...... 48
Gambar 3.12 Diagram alir program secara umum... 49
Gambar 3.13 Diagram alir pembacaan jarak halangan... 50
Gambar 3.14 Diagram alir proses fuzzifikasi... 52
Gambar 3.15 Diagram alir proses rule………... 53
Gambar 3.16 Diagram alir proses defuzzifikasi………... 54
Gambar 3.17 Diagram alir metode fuzzy……... 56
Gambar 3.18 Fungsi keanggotaan pada himpunan fuzzy pada sensor jarak... 58
Gambar 4.1 Tampilan Chip Signature... 61
Gambar 4.2 Tampilan Download Program...62
Gambar 4.3 Hasil pengujian LCD... 63
Gambar 4.4 Hasil pengujian servo dengan pwm 5………... 67
Gambar 4.5 Hasil pengujian servo dengan pwm 12... 68
Gambar 4.6 Tampilan LCD………... 71
Gambar 4.7 Posisi robot mulai keadaan off hingga jalan…... 72
STIKOM
xvi
DAFTAR LAMPIRAN
Halaman Lampiran 1 Listing Program Keseluruhan Mikrokontroler...76
STIKOM
1 BAB I
PENDAHULUAN 1.1 Latar Belakang Masalah
Pekembangan robot pada saat ini semakin canggih dan bervariasi mulai dari robot beroda hingga berkaki bahkan sampai menggunakan lengan-lengan robot untuk melakukan pekerjaan tertentu, sehingga banyak bidang yang telah mengaplikasikan ilmu pengetahuan dan teknologiini kedalam dunia nyata.
Perkembangan di atas mulai terlihat di Indonesia, hal ini tercermin dengan sering diadakannya lomba robot baik tingkat SMP, SMA, perguruan tinggi hingga tingkat Nasional. Bahkan secara khusus diadakan lomba robot berkaki, seperti Kontes Robot Cerdas Indonesia (KRCI) divisi berkaki.
Banyak robot-robot yang telah dibuat oleh para ahli meniru bentuk anatomi makhluk hidup. Salah satu robot yang banyak digemari adalah robot berkaki. Berbeda dengan robot yang menggunakan roda pada umumnya, robot berkaki memerlukan perhitungan yang lebih kompleks untuk melakukan pergerakan (Mahendrayuda, 2010). Pemanfaaatan robot berkaki pada perindustrian adalah mampu melewati tempat-tempat yang tidak dimungkinkan menggunakan robot beroda, sebagai contoh kelebihan robot berkaki adalah menaiki dan menuruni anak tangga.
Robot hexapod (Mahendrayuda, 2010), robot tersebut menggunakan dua buah motor servo sebagai penggerak, padahal untuk robot hexapod setidaknya dibutuhkan minimal enam buah motor servo, oleh karena itu pergerakan tiap kaki
STIKOM
robot tersebut tidak bisa bergerak sendiri - sendiri tetapi secara bersamaan serta robot tersebut memiliki kecepatan langkah kaki yang konstan.
Pemanfaatan logika fuzzy banyak diaplikasikan pada industri yaitu penggunaan logika fuzzy pada mesin cuci, perencanaan produksi dan lain sebagainya. Bahkan pada biogenetika memanfaatkan algoritma ini.
Untuk mendukung pengembangan dan penggunaan sistem kontrol yang lebih maju, maka penulis mengajukan pembuatan Robot Quadropod Pendeteksi Halangan Dengan Menggunakan Logika Fuzzy. Robot ini merupakan pengembangan dari jenis robot berkaki sebelumnya (Mahendrayuda, 2010). Logika fuzzy mempunyai sifat yang fleksibel, artinya mampu beradaptasi dengan perubahan-perubahan, dan ketidakpastian serta memiliki kelebihan dalam proses penalaran secara bahasa (linguistic reasoning) sehingga mudah dimengerti sekaligus menjadi alasan mengapa robot ini menggunakan logika fuzzy. Untuk mengatur kecepatan langkah kaki robot penggunaan logika fuzzy akan sangat membantu mencapai tujuannya yaitu mengatur pergerakan empat kaki robot dengan bantuan dua buah motor servo disetiap kakinya serta data input berupa jarak halangan yang terdeteksi oleh sensor ultrasound.
1.2 Rumusan Masalah
Berdasarkan permasalahan yang ada, maka diperoleh :
1. Bagaimana merancang pergerakan kaki robot berkaki empat agar dapat berjalan dengan baik.
STIKOM
3
2. Bagaimana merancang dan membuat sistem yang dapat mengatur kecepatan langkah kaki robot berdasarkan jarak halangan yang terdeteksi oleh sensor ultrasound.
1.3 Batasan Masalah
Dalam perancangan dan pembuatan alat ini, terdapat beberapa pembatasan masalah, antara lain:
1. Minimun system dari robot ini menggunakan microcontroller.
2. Sistem pergerakan kaki robot yang digunakan adalah 2 DOF (Degrees of freedom).
3. Robot ini menggunakan satu buah sensor ultrasound untuk mendeteksi jarak halangan.
4. Robot ini mampu mendeteksi halangan sejauh 3 meter , hal tersebut dikarenakan kinerja jangkuan sensor maximal sejauh 3 meter .
1.4 Tujuan
Dalam perancangan dan pembuatan aplikasi ini, terdapat beberapa tujuan penulis, antara lain:
1. Merancang pergerakan robot berkaki empat agar dapat berjalan dengan baik. 2. Merancang dan membuat sistem yang dapat digunakan untuk mengatur
kecepatan langkah empat kaki robot berdasarkan pada jarak halangan yang terdeteksi oleh sensor ultrasound.
STIKOM
1.5 Kontribusi
Robot berkaki empat atau robot quadropod merupakan jenis walking robot. Untuk menggerakan kaki-kaki robot quadropod dibutuhkan setidaknya empat buah motor servo dan mempunyai sistem pergerakan 1 DOF (Degrees of freedom).
Untuk membuat pergerakan kaki-kaki dan cara jalan robot menjadi lebih baik, dapat menambah jumlah penggunaan motor servo pada kaki-kaki robot. Maka dibuatlah robot quadropod dengan menggunakan delapan buah motor servo yang dipasangkan masing-masing dua buah pada setiap kaki-kaki robot. Sistem pergerakan kaki robot yang digunakan adalah 2 DOF (Degrees of freedom), sehingga robot diharapkan bisa berjalan dengan lebih baik. Penggunaan logika fuzzy diharapkan mampu untuk mengatur kecepatan langkah kaki-kaki robot. Berdasar pada jarak halangan yang terdeteksi oleh sensor ultrasound, semakin dekat jarak halangan yang terdeteksi maka akan semakin pelan langkah kaki-kaki robot. Sebaliknya, semakin jauh jarak halangan yang terdeteksi, maka akan semakin cepat langkah kaki robot.
1.6 Sistematika Penulisan
Penulisan tugas akhir ini secara sistematis diatur dan disusun dalam lima bab yang di dalamnya terdapat beberapa sub bab. Secara ringkas uraian materi dari bab pertama hingga bab terakhir adalah sebagai berikut:
STIKOM
5
BAB I : Pendahuluan
Pada bab pendahuluan ini dibahas mengenai latar belakang masalah, perumusan masalah, batasan masalah, tujuan, kontribusi serta sistematika dari penulisan tugas akhir.
BAB II : Landasan Teori
Pada bab landasan teori ini dijelaskan tentang sensor ultrasound, mikrokontroler ATMega8535, mini – motor servo, LCD (Liquid Cell Display) dan Sistem Fuzzy.
BAB III : Metode Penelitian
Pada bab ini dibahas mengenai perangkat keras (hardware) dan perangkat lunak (software). Hardware meliputi minimum system, motor servo, sensor ultrasound, dan LCD. Sedangkan untuk Software yang digunakan untuk menunjang minimum system adalah bahasa C yang dimana akan dimasukkan metode fuzzy Sugeno.
BAB IV : Pengujian Sistem
Pada bab ini dibahas tentang pengujian sistem baik hardware maupun software. Pengujian hardware meliputi modul sensor ultrasound, rangkaian minimum sistem ATMega8535, LCD (Liquid Cell Display) 2 x 16 , dan Mini – motor servo, sedangkan untuk software dilakukan secara keseluruhan.
BAB V : Penutup
Pada bab ini merupakan kesimpulan dari hasil pengujian sistem secara keseluruhan dan saran-saran yang diharapkan dalam pengembangan lebih lanjut dari tugas akhir ini.
STIKOM
6
LANDASAN TEORI
Teori-teori yang digunakan dalam perancangan perangkat keras dan
perangkat lunak adalah studi kepustakaan berupa data-data literatur dari
masing-masing komponen, informasi dari internet dan konsep-konsep teori dari buku-buku
penunjang, antara lain:
2.1 Sensor Ultrasound PING)))™
Paralax Inc (2005) menjelaskan bahwa PING)))™ dapat mengukur jarak dari 3 cm sampai 300 cm. Pada dasanya, 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. Pada modul PING))) ™ terdapat 3 pin
yang digunakan untuk jalur power supply (+5V), ground dan signal. Pin signal dapat
langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun.
PING)))™ mendeteksi objek dengan cara mengirimkan suara ultrasonik dan
kemudian “mendengarkan” pantulan suara tersebut. PING)))™ hanya akan
mengirimkan suara ultrasonik ketika ada pulsa trigger dari mikrokontroler (Pulsa high
selama 5µS). Suara ultrasonik dengan frekuensi sebesar 40KHz akan dipancarkan
selama 200µS. Suara ini akan merambat di udara dengan kecepatan 344.424m/detik
(atau 1cm setiap 29.034µS), mengenai objek untuk kemudian terpantul kembali ke
PING)))™. Selama menunggu pantulan, PING)))™ akan menghasilkan sebuah pulsa.
STIKOM
7
Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi oleh PING)))™. Oleh
karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara PING)))™
dengan objek. Selanjutnya mikrokontroler cukup mengukur lebar pulsa tersebut dan
mengkonversinya dalam bentuk jarak.
Gambar 2.1 Sensor Ultrasound PING)))™ (Parallax Inc.2005)
Satu hal yang perlu diperhatikan adalah bahwa PING)))™ tidak dapat
mengukur objek yang permukaannya dapat menyerap suara, seperti busa atau sound
damper lainnya. Pengukuran jarak juga akan kacau jika permukaan objek bergerigi
dengan sudut tajam (meruncing).
2.1.1 Prinsip kerja dan rangkaian sensor ultrasound
Gelombang ultrasound adalah gelombang dengan besar frekuensi diatas frekuensi gelombang suara yaitu lebih dari 20 KHz. Seperti telah disebutkan bahwa
sensor ultrasonik terdiri dari rangkaian pemancar ultrasound yang disebut transmitter
dan rangkaian penerima ultrasound yang disebut receiver. Sinyal ultrasound yang
dibangkitkan akan dipancarkan dari transmitter ultrasound. Ketika sinyal mengenai benda penghalang, maka sinyal ini dipantulkan, dan diterima oleh receiver
STIKOM
ultrasound. Sinyal yang diterima oleh rangkaian receiver dikirimkan ke rangkaian
mikrokontroler untuk selanjutnya diolah untuk menghitung jarak terhadap benda di
depannya (bidang pantul).
Prinsip kerja dari sensor ultrasound dapat ditunjukkan dalam gambar 2.2 dibawah ini:
Gambar 2.2. Prinsip kerja sensor ultrasound (Parallax Inc.2005)
Prinsip kerja dari sensor ultrasound adalah sebagai berikut :
1. Sinyal dipancarkan oleh pemancar ultrasound. Sinyal tersebut berfrekuensi diatas 20kHz, biasanya yang digunakan untuk mengukur jarak benda adalah
40kHz. Sinyal tersebut di bangkitkan oleh rangkaian pemancar ultrasound.
2. Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal /
gelombang bunyi dengan kecepatan bunyi yang berkisar 340 m/s. Sinyal
tersebut kemudian akan dipantulkan dan akan diterima kembali oleh bagian
penerima ultrasound.
3. Setelah sinyal tersebut sampai di penerima ultrasound, kemudian sinyal
tersebut akan diproses untuk menghitung jaraknya. Jarak dihitung berdasarkan
rumus :
S = 340.t/2 (2.1)
STIKOM
9
dimana S adalah jarak antara sensor ultrasonik dengan bidang pantul, dan t adalah
selisih waktu antara pemancaran gelombang ultrasonik sampai diterima kembali oleh
bagian penerima ultrasonik.
2.1.2 Pemancar ultrasound (Transmitter)
Pemancar ultrasound ini berupa rangkaian yang memancarkan sinyal
sinusoidal berfrekuensi di atas 20 KHz menggunakan sebuah transducer transmitter
ultrasound.
Gambar 2.3. Rangkaian Pemancar Gelombang Ultrasound (Parallax Inc.2005)
Prinsip kerja dari rangkaian pemancar gelombang ultrasound tersebut adalah sebagai
berikut :
1. Sinyal 40 kHz dibangkitkan melalui mikrokontroler.
2. Sinyal tersebut dilewatkan pada sebuah resistor sebesar 3kOhm untuk
pengaman ketika sinyal tersebut membias maju rangkaian dioda dan
transistor.
STIKOM
3. Kemudian sinyal tersebut dimasukkan ke rangkaian penguat arus yang
merupakan kombinasi dari 2 buah dioda dan 2 buah transistor.
4. Ketika sinyal dari masukan berlogika tinggi (+5V) maka arus akan melewati
dioda D1 (D1 on), kemudian arus tersebut akan membias transistor T1,
sehingga arus yang akan mengalir pada kolektor T1 akan besar sesuai dari
penguatan dari transistor.
5. Ketika sinyal dari masukan berlogika tinggi (+5V) maka arus akan melewati
dioda D2 (D2 on), kemudian arus tersebut akan membias transistor T2,
sehingga arus yang akan mengalir pada kolektor T2 akan besar sesuai dari
penguatan dari transistor.
6. Resistor R4 dan R6 berfungsi untuk membagi tengangan menjadi 2,5 V.
Sehingga pemancar ultrasound akan menerima tegangan bolak – balik dengan
Vpeak-peak adalah 5V (+2,5 V s.d -2,5 V).
2.1.3 Penerima Ultrasound (Receiver)
Penerima ultrasound ini akan menerima sinyal ultrasound yang dipancarkan
oleh pemancar ultrasound dengan karakteristik frekuensi yang sesuai. Sinyal yang diterima tersebut akan melalui proses filterisasi frekuensi dengan menggunakan
rangkaian band pass filter (penyaring pelewat pita), dengan nilai frekuensi yang dilewatkan telah ditentukan. Kemudian sinyal keluarannya akan dikuatkan dan
dilewatkan ke rangkaian komparator (pembanding) dengan tegangan referensi
ditentukan berdasarkan tegangan keluaran penguat pada saat jarak antara sensor
STIKOM
11
dengan sekat/dinding pembatas mencapai jarak minimum. Dapat dianggap keluaran
komparator pada kondisi ini adalah high (logika ‘1’) sedangkan jarak yang lebih jauh
adalah low (logika’0’). Logika-logika biner ini kemudian diteruskan ke rangkaian pengendali (mikrokontroler).
Gambar 2.4. Rangkaian Penerima Gelombang Ultrasound (Parallax Inc.2005)
Prinsip kerja dari rangkaian pemancar gelombang ultrasound tersebut adalah sebagai
berikut :
1. Pertama–tama sinyal yang diterima akan dikuatkan terlebih dahulu oleh
rangkaian transistor penguat Q2.
2. Kemudian sinyal tersebut akan di filter menggunakan High pass filter pada
frekuensi > 40kHz oleh rangkaian transistor Q1.
3. Setelah sinyal tersebut dikuatkan dan di filter, kemudian sinyal tersebut akan
disearahkan oleh rangkaian dioda D1 dan D2.
4. Kemudian sinyal tersebut melalui rangkaian filter low pass filter pada
frekuensi < 40kHz melalui rangkaian filter C4 dan R4.
5. Setelah itu sinyal akan melalui komparator Op-Amp pada U3.
STIKOM
6. Jadi ketika ada sinyal ultrasound yang masuk ke rangkaian, maka pada
komparator akan mengeluarkan logika rendah (0V) yang kemudian akan
diproses oleh mikrokontroler untuk menghitung jaraknya.
(PARALLAX INC. 2006. PING)))TM Ultrasonic Distance Sensor)
2.2 Sistem Fuzzy
Orang yang belum pernah mengenal logika fuzzy pasti akan mengira bahwa
logika fuzzy adalah sesuatu yang amat rumit dan tidak menyenangkan. Namun, sekali
seseorang mulai mengenalnya, ia pasti akan sangat tertarik dan akan menjadi
pendatang baru untuk ikut serta mempelajari logika fuzzy. Logika fuzzy dikatakan
sebagai logika baru yang lama, sebab ilmu tentang logika fuzzy modern dan metodis
baru ditemukan beberapa tahun yang lalu, padahal sebenarnya konsep tentang logika
fuzzy itu sendiri sudah ada pada diri kita sejak lama.
Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke
dalam suatu ruang output. Sebagai contoh:
a. Manajer pergudangan mengatakan pada manajer produksi seberapa banyak
persediaan barang pada akhir minggu ini, kemudian manajer produksi akan
menetapkan jumlah barang yang harus diproduksi esok hari.
b. Pelayan restoran memberikan pelayanan terhadap tamu, kemudian tamu akan
memberikan tip yang sesuai atas baik tidaknya pelayan yang diberikan.
c. Anda mengatakan pada saya seberapa sejuk ruangan yang anda inginkan, saya akan
mengatur putaran kipas yang ada pada ruangan ini.
STIKOM
13
d. Penumpang taksi berkata pada sopir taksi seberapa cepat laju kendaraan yang
diinginkan, sopir taksi akan mengatur pijakan gas taksinya.
Contoh pemetaan suatu input-output dalam bentuk grafis seperti terlihat pada Gambar
2.5.
Gambar 2.5. Pemetaan Input Output (Sri Kusumadewi & Hari Purnomo, 2004)
Ada beberapa alasan mengapa orang menggunakan logika fuzzy, antara lain:
a. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari
penalaran fuzzy sangat sederhana dan mudah dimengerti.
b. Logika fuzzy sangat fleksibel.
c. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat.
d. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
e. Logika fuzzy dapat membangun dan mengaplikasikan pengalamanpengalaman
para pakar secara langsung tanpa harus melalui proses pelatihan.
STIKOM
f. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional.
2.2.1 Himpunan Fuzzy
Pada himpunan tegas (crisp), nilai keanggotan suatu item x dalam
suatu himpunan A yang sering ditulis dengan µA[x], memiliki 2
kemungkinan yaitu:
1. Satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu
himpunan.
2. Nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu
himpunan.
Nilai-nilai µA[x] menyatakan derajat keanggotaan x di dalam A, contoh:
Jika diketahui:
S = {1, 2, 3, 4, 5, 6} adalah semesta pembicaraan.
A = {1, 2, 3}
B = {3, 4, 5}
bisa dikatakan bahwa:
Nilai keanggotaan 2 pada himpunan A, µA[2]=1, karena 2∈A.
Nilai keanggotaan 3 pada himpunan A, µA[3]=1, karena 3∈A.
Nilai keanggotaan 4 pada himpunan A, µA[4]=0, karena 4∉A.
Nilai keanggotaan 2 pada himpunan B, µB[2]=0, karena 2∉B.
Nilai keanggotaan 3 pada himpunan B, µB[3]=1, karena 3∈B.
STIKOM
15
A. Himpunan fuzzy memiliki 2 atribut, yaitu:
1. Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi
tertentu dengan menggunakan bahasa alami, seperti: MUDA, PAROBAYA, TUA.
2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel
seperti: 40, 25, 50, dsb.
B. Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu:
1. Variabel fuzzy
Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy.
Contoh: umur, temperatur, permintaan, dsb.
2. Himpunan fuzzy
Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan
tertentu dalam suatu variabel fuzzy.
3. Semesta Pembicaraan
Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk
dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan
bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan.
Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif. Adakalanya
nilai semesta pembicaraan ini tidak dibatasi batas atasnya.
4. Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang diijinkan dalam semesta
pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Seperti halnya
semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa
STIKOM
naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa
bilangan positif maupun negatif.
2.2.2 Fungsi Keanggotaan
Fungsi keanggotaan adalah suatu kurva yang menunjukan pemetaan titik –
titik input data kedalam nilai keanggotaannya (derajat keanggotaan) yang memiliki
interval antara 0 sampai 1. Ada beberapa fungsi yang bisa digunakan:
A. Representasi Linear
Pada representasi linear, pemetaan input ke derajat keanggotannya digambarkan
sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang baik
untuk mendekati suatu konsep yang kurang jelas. Ada 2 kemungkinan himpunan
fuzzy linear yaitu:
1. Kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan
nol[0] bergerak kekanan menuju nilai domain yang memiliki derajat keanggotaan
lebih tinggi
2. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada
sisi kiri, kemudian bergerak menurun kenilai domain yang memiliki derajat
keanggotaan lebih rendah
B. Representasi Kurva Segitiga
Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis, seperti terlihat
pada gambar 2.6. berikut.
STIKOM
17
Gambar 2.6. Kurva Segitiga
Fungsi keanggotaan:
(2.2)
C. Representasi Kurva Trapesium
Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik
yang memiliki nilai keanggotaan 1.
Gambar 2.7. Kurva Trapesium
Fungsi keanggotaan:
(2.3)
STIKOM
D. Representasi Kurva bentuk Bahu
Daerah yang terletak di tengah-tengah suatu variabel yang direpresentasikan dalam
bentuk segitiga, pada sisi kanan dan kirinya akan naik dan turun (misalkan: DINGIN
bergerak ke SEJUK bergerak ke HANGAT dan bergerak ke PANAS). Tetapi
terkadang salah satu sisi dari variabel tersebut tidak mengalami perubahan. Sebagai
contoh, apabila telah mencapai kondisi PANAS, kenaikan temperatur akan tetap
berada pada kondisi PANAS. Himpunan fuzzy ‘bahu’, bukan segitiga, digunakan
untuk mengakhiri variabel suatu daerah fuzzy. Bahu kiri bergerak dari benar ke salah,
demikian juga bahu kanan bergerak dari salah ke benar. Gambar 2.8. menunjukkan
variabel TEMPERATUR dengan daerah bahunya.
Gambar 2.8. Daerah ‘bahu’ pada variabel TEMPERATUR
STIKOM
19
2.2.3 Operator Dasar
Seperti halnya himpunan konvensional, ada beberapa operasi yang
didefinisikan secara khusus untuk mengkombinasi dan memodifikasi himpunan
fuzzy.
a. Operator AND
Operator ini berhubungan dengan operasi interseksi pada himpunan. α
-predikat sebagai hasil operasi dengan operator AND diperoleh dengan
mengambil nilai keanggotaan terkecil antar elemen pada himpunan –
himpunan yang bersangkutan.
μA∩B = min(μA[x], μB[y]) (2.4)
b. Operator OR
Operator ini berhubungan dengan operasi union pada himpunan. α-predikat
sebagai hasil operasi dengan operator OR diperoleh dengan mengambil nilai
keanggotaan terkecil antar elemen pada himpunan – himpunan yang
bersangkutan.
µAUB = max(µA[x], µB[y]) (2.5)
c. Operator NOT
Operator ini berhubungan dengan operasi komplemen pada himpunan. α
-predikat sebagai hasil operasi dengan operator NOT diperoleh dengan
mengambil nilai keanggotaan terkecil antar elemen pada himpunan –
himpunan yang bersangkutan.
µA’= 1-µA[x] (2.6)
STIKOM
2.2.4 Penalaran Monoton
Metode ini digunakan sebagai dasar untuk teknik implikasi fuzzy. Jika 2
daerah fuzzy direalisasikan dengan implikasi sederhana sebagai berikut:
IF x is A THEN y is B (2.7)
transfer fungsi:
Y = f ((x, A), B) (2.8)
Maka system fuzzy dapat berjalan tanpa harus melalui komposisi dan dekomposisi
fuzzy. Nilai output dapat diestimasi secara langsung dari nilai keanggotaan yang
berhubungandengan antesedennya.
2.2.5 Fungsi Implikasi
Bentuk umum aturan yang digunakan dalam fungsi implikasi:
IF x is A THEN y is B (2.9)
Dengan x dan y adalah skalar, A dan B adalah himpunan fuzzy. Proposisi yang
mengikuti IF disebut anteseden, sedangkan proposisi yang mengikuti THEN disebut
konsekuen. Secara umum, ada dua fungsi implikasi, yaitu:
1. Min (minimum), fungsi ini akan memotong output himpunan fuzzy
2. Dot (product), fungsi ini akan menskala output himpunan fuzzy
2.2.6 Metode Sugeno
Penalaran dengan metode SUGENO hampir sama dengan penalaran
MAMDANI, hanya saja output (konsekuen) sistem tidak berupa himpunan fuzzy,
melainkan berupa konstanta atau persamaan linear. Metode ini diperkenalkan oleh
STIKOM
21
Takagi-Sugeno Kang pada tahun 1985.
1. Model Fuzzy Sugeno Orde-Nol
Secara umum bentuk model fuzzy SUGENO Orde-Nol adalah:
IF (x1 is A1) • (x2 is A2) • (x3 is A3) • ... • (xN is AN) THEN z=k (2.10)
dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan k adalah suatu
konstanta (tegas) sebagai konsekuen.
2. Model Fuzzy Sugeno Orde-Satu
Secara umum bentuk model fuzzy SUGENO Orde- Satu adalah:
IF (x1 is A1) • ... • (xN is AN) THEN z =p1 * x1 + … + pN * xN + q (2.11)
dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan pi adalah suatu
konstanta (tegas) ke-i dan q juga merupakan konstanta dalam konsekuen.
Apabila komposisi aturan menggunakan metode SUGENO, maka deffuzifikasi
dilakukan dengan cara mencari nilai rata-ratanya.
(Sri Kusuma Dewi dan Hari Purnama. 2009)
2.3 Microcontroller ATMEGA8535
Microcontroller dan microprocessor mempunyai beberapa perbedaan. Microprocessor yang terdapat pada komputer seperti Intel Pentium, hanya dapat bekerja apabila terdapat komponen pendukung seperti RAM (Random Access
Memory), hard disk, motherboard, perangkat I/O, dll. Komponen-komponen tersebut diperlukan karena microprocessor hanya dapat melakukan pengolahan data, namun
tidak dapat menyimpan data, menyimpan program, menerima masukan dari user secara langsung, ataupun menyampaikan data hasil pemrosesan ke keluaran. Berbeda
STIKOM
dengan microprocessor, microcontroller sudah dilengkapi dengan
komponen-komponen yang dikemas dalam satu chip seperti memori, perangkat I/O, timer, ADC
(Analog to Digital Converter), dll. Hal ini membuat microcontroller lebih tepat untuk
digunakan pada aplikasi embedded system. (Husanto, 2008)
Microcontroler AVR memiliki arsitektur RISC 8 Bit, sehingga semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi
dieksekusi dalam satu siklus instruksi clock. Dan ini sangat membedakan sekali dengan instruksi MCS-51 (Berarsitektur CISC) yang membutuhkan siklus 12 clock. RISC adalah Reduced Instruction Set Computing sedangkan CISC adalah Complex
Instruction Set Computing (ATMEL.2011). Berikut istilah-istilah dalam microcontroler AVR:
a. Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil buatan manusia yang harus dijalankan oleh microcontroler.
b. RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk
penyimpanan data sementara dan pengolahan data ketika program sedang running
c. EEPROM (Electrically Erasable Programmable Read Only Memory) adalah
memori untuk penyimpanan data secara permanen oleh program yang sedang
running.
d. Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran
ataupun masukan bagi program.
e. Timer adalah modul dalam hardware yang bekerja untuk menghitung
waktu/pulsa.
STIKOM
23
f. UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data
khusus secara serial asynchronous.
g. PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa
h. ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal
analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu.
i. SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara
serial secara serial synchronous.
j. ISP (In System Programming) adalah kemampuan khusus microcontroler untuk
dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan
jumlah pin yang minimal.
2.3.1 Arsitektur ATMEGA8535
Arsitektur microcontroler AVR ATMega8535 dapat diperhatikan pada
Gambar 2.9.
STIKOM
Gambar 2.9. Arsitektur ATMega8535 (ATMEL.2011)
Berikut keterangan arsitektur ATMega8535:
a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D
b. ADC 10 bit sebanyak 8 Channel
c. Tiga buah timer atau counter dengan kemampuan pembanding
d. 32 register
e. Watchdog Timer dengan oscilator internal
f. SRAM sebanyak 512 byte
g. Memori Flash sebesar 8 kb
h. Sumber Interrupt internal dan eksternal
i. Port SPI (Serial Pheriperal Interface) j. EEPROM on board sebanyak 512 byte
k. Komparator analog
l. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter)
untuk komunikasi serial.
STIKOM
25
2.3.2 Fitur ATMEGA8535
a. Sistem processor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
b. Ukuran memori flash 8KB, SRAM sebesar 512 byte, EEPROM sebesar 512 byte.
c. ADC internal dengan resolusi 10 bit sebanyak 8 channel.
d. Port komunikasi serial USART dengan kecepatan maksimal 2.5 Mbps
e. Mode Sleep untuk penghematan penggunaan daya listrik f. Tiga buah Timer/Counter dengan kemampuan pembandingan.
2.3.3 Konfigurasi Pin ATMEGA8535
Pin-pin microcontroler ATMEGA8535 dapat dilihat pada Gambar 2.10.
Gambar 2.10. Pin-pin ATMEGA8535 (ATMEL.2011)
Berikut keterangan pin ATMEGA8535:
a. Port A (PA0 - PA7)
STIKOM
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan
internal pull-up resistor atau dapat diatur per bit. Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction
Register port A (DDRA) harus diatur atau disetting terlebih dahulu sebelum Port A
digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin
port A juga digunakan untuk masukan sinyal analog bagi ADC. b. Port B (PB0 - PB7)
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan
internal pull-up resistor atau dapat diatur per bit. Output buffer Port B dapat memberi
arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction
Register port B (DDRB) harus diatur atau diatur terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga
memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam Tabel
2.1.
Tabel 2.1. Keterangan Port B ATMEGA8535
Port Pin Fungsi Khusus
PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AIN0 = analog comparator positive input PB3 AIN1 = analog comparator negative input PB4 SS = SPI slave select input
PB5 MOSI = SPI bus master output / slave input PB6 MISO = SPI bus master input / slave output PB7 SCK = SPI bus serial clock
Sumber : ATMEL.2011
STIKOM
27
c. Port C (PC0 - PC7)
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor atau dapat diatur per bit. Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction
Register port C (DDRC) harus diatur atau diatur terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang
bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, dua pin port C
(PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer atau counter 2.
d. Port D (PD0 - PD1)
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan
internal pull-up resistor atau dapat diatur per bit. Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus diatur atau diatur terlebih dahulu sebelum
Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin
port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam Tabel 2.2
STIKOM
Tabel 2.2. Keterangan Port D ATMEGA8535
Port Pin Fungsi Khusus PD0 RDX (UART input line)
PD1 TDX (UART output line)
PD2 INT0 (external interrupt 0 input) PD3 INT1 (external interrupt 1 input)
PD4 OC1B (timer/counter1 output compareB match output) PD5 OC1A (timer/counter1 output compareA match output)
Tabel 2.3. Keterangan Port D ATMEGA8535
Port Pin Fungsi Khusus PD6 ICP (timer/counter1 input capture pin)
PD7 OC2 (timer/counter2 output compare match output) Sumber : ATMEL.2011
e. RESET
RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan
low selama minimal 2 machine cycle maka sistem akan direset.
f. XTAL1
XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.
g. XTAL2
XTAL2 adalah output dari inverting oscillator amplifier.
h. AVCC
Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.
i. AREF
AREF adalah kaki masukan referensi bagi A/D Converter. Untuk
operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan
ke kaki ini.
STIKOM
29
j. AGND
AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah.
2.3.4 Timer / Counter
ATMega8535 mempunyai timer/counter yang berfungsi sebagai
pencacah/pewaktuan. Karena ATMega8535 mampu memakai crystal berfrekuensi sampai dengan 16 MHz maka mikrokontroler ini dapat mencapai 16MIPS (Million
Instruction per Second).
Pada mikrokontroler ATMega 8535 perlu diperhatikan pemilihan sumber clock. Hal ini berhubungan dengan frekuensi yang kita inginkan. Jika kita ingin menggunakan
frekuensi 12MHz dengan sumber clock eksternal maka perlu dilakukan kalibrasi fuse
bit mikrokontroler dengan downloader, jika tidak maka mikrokontroler akan menggunakan frekuensi dengan sumber clock internal sekitar 4 MHz.
a. Prescaler
Timer pada dasarnya hanya menghitung pulsa clock. Frekuensi pulsa clock yang
dihitung tersebut bisa sama dengan frekuensi crystal yang dipasang atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024. Berikut
penjelasannya:
Sebuah AVR menggunakan crystal dengan frekuensi 8 MHz dan timer yang digunakan adalah timer 16 bit, maka maksimum waktu timer yang bisa dihasilkan
adalah:
STIKOM
TMAX = 1/fCLK x (FFFFh+1) = 0.125uS x 65536 = 0.008192 S (2.12) Untuk menghasilkan waktu timer yang lebih lama dapat digunakan prescaler, misalnya 1024, maka maksimum waktu timer yang bisa dihasilkan adalah :
TMAX = 1/fCLK x (FFFFh+1) x N = 0.125uS x 65536 x 1024 = 8.388608 S (2.13)
b. Macam - macam Timer / Counter
1. Timer / Counter 0
Merupakan 8 bit timer/counter, pengaturan timer/Counter 0 diatur oleh TCCR0
(Timer/Counter control register 0) seperti berikut ini:
Gambar 2.11. Register TCCR0
a. Bit 3 ~ 7 digunakan untuk setting PWM.
b. Bit 2, 1, 0 (CS02, CS01, CS00): Clock select. Ketiga bit tersebut memilih
sumber clock yang akan digunakan oleh timer/counter.
2. Timer/Counter 1
Merupakan 16-bit timer/counter sehingga terdapat perbedaan cara pengaksesannya
dengan 8-bit timer/counter. 16-bit (1 word) timer/counter harus diakses dengan 8 bit high dan 8 bit low.
Pengaturan Timer/Counter1 juga diatur oleh register TCCR1B.
STIKOM
31
Gambar 2.12. Register TCCR1B
Bit 2,1,0 (CS1 2:0): Clock Select. Ketiga bit tersebut (CS2/CS1/CS0) mengatur sumber clock yang digunakan untuk Timer/Counter1.
3. Timer/Counter 2
Timer/Counter 2 adalah 8-bit Timer/Counter, pengaturan pada Timer/Counter 2 diatur oleh TCCR2 (Timer/Counter Control Register 2).
Gambar 2.13. Register TCCR2
Bit 2,1,0 (CS22; CS21, CS20): Clock Select. Ketiga bit ini memilih sumber clock yang akan digunakan oleh Timer/Counter.
Berikut konfigurasi bit clock select untuk memilih sumber clock
Tabel 2.4. Konfigurasi Bit Clock Select
STIKOM
c. Register TIMSK dan TIFR
Selain register-register di atas, terdapat pula register TIMSK (Timer/Counter
Interrupt Mask Register) dan register TIFR (Timer/Counter Interrupt Flag Register).
Gambar 2.14. Register TIMSK
1. OCIEx: Output Compare Match Interrupt Enable. Jika bit tersebut diberi logika 1 dan bit I SREG juga berlogika 1, maka bisa dilakukan enable interupsi Output Compare Match Timer/Counter x.
2. TOIEx: Overflow Interrupt Enable. Jika diberi logika 1 dan bit I SREG juga berlogika 1, maka bisa dilakukan enable interupsi Overflow Timer/Counter x.
3. TCIE1: Timer/Counter 1, Input Capture Interrupt Enable
Gambar 2.15. Register TIFR
4. OCFx: Output Compare Flag. Bernilai 1 (set) jika terjadi compare match antara Timer/Counter x dan data di OCRx (Output Compare Register x). OCFx di-clear secara hardware ketika pengeksekusian corresponding
interrupt handling vector. Atau, jika diberi nilai 1 secara lagsung ke bit flag. Saat bit I SREG, OCIEx, dan OCFx set (berlogika 1), maka Timer/Counter x
Compare Match Interrupt dieksekusi.
STIKOM
33
5. TOVx: Timer/Counter x Overflow Flag. Bit ini akan set (bernilai 1) saat terjadi overflow di Timer/Counter x. TOVx akan clear (bernilai 0) secara hardware saat pengeksekusian corresponding interrupt handling vector. Atau, diberikan logika 1 ke bit flag. Saat bit i SREG, TOIEx (Timer/Counter x
Overflow Interrupt Enable), dan TOVx set, akan terjadi pengeksekusian Timer/Counter x Overflow Interrupt. Pada mode PWM, bit ini set ketika
Timer/Counter x mengubah arah perhitungan hingga menuju nilai 0×00.
e. Setting Timer
Sebelum kita melakukan setting timer maka kita tentukan dahulu nilai delay yang kita
inginkan lalu bisa kita dapatkan nilai TCNTnya
(2.14)
TCNT : Nilai timer (Hex)
fCLK : Frekuensi clock (crystal) yang digunakan (Hz) T timer : Waktu timer yang diinginkan (detik)
N : Prescaler (1, 8, 64, 256, 1024)
1+FFFFh : Nilai max timer adalah FFFFh dan overflow saat FFFFh ke 0000h
( ATMEL Corporation. 2011. ATMEGA8535 )
2.4 Mini - Servomotor
Pemilihan motor untuk pergerakan kaki adalah sangat penting dalam
menentukan unjuk kerja robot dalam melakukan pergerakan. Motor harus memiliki
daya dan torsi yang cukup besar untuk mengatasi berat total robot. Dalam
STIKOM
pembangunan robot ini jenis motor yang digunakan adalah motor servo, alasan
penggunaan motor ini dikarenakan penggunaan motor servo tidak memerlukan
gearbox serta rangkaian driver, hal ini disebabkan pada motor servo itu sendiri sudah
terdapat gearbox dan driver elektronik sehingga motor servo dapat langsung
dihubungkan dengan microcontroller. Selain itu untuk motor seukurannya motor
servo mempunyai daya torsi yang cukup besar sehingga cocok untuk pembuatan
robot berkaki.
Gambar 2.16. Mini – Servomotor (DIGIWARE.2011)
Untuk mengontrol pergerakan motor digunakan metoda PWM (Pulsa Width
Modulation). PWM adalah merupakan suatu metoda untuk mengatur pergerakan motor dengan cara mengatur prosentase lebar pulsa high terhadap perioda dari suatu
sinyal persegi dalam bentuk tegangan periodik yang diberikan ke motor.
Motor servo akan dapat menerima pulsa setiap 20 ms. Panjang dari pulsa akan
berpengaruh terhadap perputaran dari motor, sebagai contoh jika panjang pulsa 1,5
STIKOM
35
ms, akan membuat motor berputar sebanyak 90 derajat, jika lebar pulsa lebih besar
dari 1.5 ms, motor akan berputar mendekati 180 derajat sedangkan jika lebih kecil
dari 1,5 ms motor akan berputar mendekati 0 derajat. Motor servo dapat berputar
sebanyak 90 sampai 180 derajat, selain itu ada juga yang dapat berputar 360 derajat.
Untuk lebih jelasnya bisa dilihat pada tabel 2.5. (Widodo Budiharto. 2010 )
Tabel 2.5. Konfigurasi posisi servo
2.5 LCD (Liquid Cell Display) 2 x 16
LCD (Liquid Cell Display) merupakan suatu alat yang dapat menampilkan
karakter ASCI sehingga kita bisa menampilkan campuran huruf dan angka sekaligus.
LCD didalamnya terdapat sebuah mikroprosesor yang mengendalikan tampilan, kita
hanya perlu membuat program untuk berkomunikasi.
STIKOM
Gambar 2.17. LCD 2 x 16 (lcd-module.2011)
Untuk menampilkan data dari microcontroller ke LCD 2 x 16, kita
hubungkan kaki – kaki LCD 2 x 16 ke salah satu port pada microcontroller. Kita bisa
menghubungkan ke semua port baik port A, port B, port C, maupun port D. Setelah
terhubung kita hanya perlu membuat program.
Tabel 2.6. Deskirpsi pin LCD ke port Microkontroller
Pin Deskripsi
1 GND (GND)
2 VCC (VCC)
3 Tegangan kontras LCD (GND)
4 Register select, 0 = Register Command, 1 = Register Data (PortC.0)
5 1 = Read, 0 = Write (PortC.1)
6 Enable Clock LCD (PortC.2)
7 Data Bus 0 (tidak dipakai)
8 Data Bus 1 (tidak dipakai)
9 Data Bus 2 (tidak dipakai)
10 Data Bus 3 (tidak dipakai)
11 Data Bus 4 (PortC.4)
12 Data Bus 5 (PortC.5)
13 Data Bus 6 (PortC.6)
14 Data Bus 7 (PortC.7)
15 Tegangan positif backlight (VCC)
16 Tegangan negatif backlight (Gnd)
LCD 2 x 16 mempunyai 16 pin. Seluruh pin tesebut tersambung ke microcontroller
pada port C. Pada portC.4 sampai portC.7 merupakan pin data bit LCD DB4 sampai
dengan DB7, sedangkan pada pin 2 dan pin 3 terhubung dengan ground. Pin 1 tersambung dengan 5 volt. Pin RS ( Register Select ) tehubung pada portC.0.
STIKOM
37
Jika RS = 0 maka data pada DB4 sampai dengan DB7 akan dianggap sebagai
instruksi, sedangkan jika RS = 1 maka data pada DB4 sampai dengan DB7 akan
dianggap sebagai karakter.
RW ( Read / Write ) berfungsi sebagai mode tulis dan mode baca. Jika RW (Read /
Write) = 1 maka mode yang akan dijalankan adalah mode baca begitu pula sebaliknya. PortC.2 disambungkan ke pin E (Enable) yang berfungsi sebagai clock.
Jika Enable diberikan sinyal hi-lo maka data karakter maupun intruksi yang akan dijalankan akan diterima pada LCD.
( LCD-Module. 2011 )
STIKOM
60
PENGUJIAN SISTEM
Pengujian sistem yang dilakukan penulis merupakan pengujian terhadap perangkat keras dan perangkat lunak dari sistem secara keseluruhan yang telah selesai dibuat untuk mengetahui komponen-komponen sistem apakah berjalan dengan baik.
4.1 Pengujian Minimum System 4.1.1 Tujuan
Pengujian minimum system bertujuan untuk mengetahui apakah minimum system dapat melakukan proses signature dan download program ke mikrokontroler dengan baik.
4.1.2 Alat yang digunakan
1. Rangkaian minimum system ATMega8535. 3. Downloader.
4. PC
5. Program CodeVisionAVR. 6. Power supply 1000mA - 12V.
7. Regulator +5V.
4.1.3 Prosedur pengujian
1. Aktifkan power supply dan hubungkan dengan regulator serta minimum system. 2. Sambungkan minimum system dengan kabel downloader pada port parallel.
STIKOM
61
3. Selanjutnya aktifkan PC dan jalankan program CodeVisionAVR.
4. Untuk download program yang telah dibuat kedalam minimum system maka yang harus dilakukan adalah menjalankan menu Chip Signature programmer pada CodeVisionAVR.
5. Setelah proses signature selesai maka selanjutnya proses compile project dengan menekan F9 pada keyboard kemudian proses download program ke mikrokontrolermasuk ke menu make project pada CodeVisionAVR.
4.1.4 Hasil pengujian
[image:49.612.48.566.116.680.2]Dari percobaan diatas apabila menu chip signature programmer, download program dapat berhasil dikerjakan maka minimum system dapat dikatakan bekerja dengan baik. Tampilan dari program chip signature pada CodeVisionAVR yang akan digunakan untuk menuliskan program dan melakukan percobaan terhadap minimum system. Hasil program chip signature dapat di lihat pada Gambar 4.1. berikut:
Gambar 4.1. Tampilan Chip Signature
STIKOM
Pada Gambar 4.2. menunjukan bahwa minimum system telah berhasil men-download program ke mikrokontrolersehingga program telah berhasil dijalankan.
Gambar 4.2. Tampilan Download Program
4.2 Pengujian LCD 4.2.1 Tujuan
Pengujian LCD display ini dilakukan untuk memilih menu dan mengetahui posisi halaman lalu untuk ditampilkan. Pengujian LCD juga dilakukan bertujuan untuk mengetahui apakah LCD sudah bekerja sehingga dapat menampilkan karakter sesuai dengan yang diharapkan. Pengujian LCD dilakukan dengan memprogram karakter atau tulisan yang ingin ditampilkan dan kemudian dicocokan dengan tampilan yang ada pada layar LCD tersebut.
4.2.2 Alat yang digunakan
1. Rangkaian minimum system ATMega8535. 2. Power supply 1000mA - 12V.
3. Regulator +5V. 4. LCD 16x2.
4.2.3 Prosedur pengujian
1. Hubungkan LCD dengan minimum system.
2. Aktifkan power supply dan hubungkan dengan regulator serta minimum system.
STIKOM
63
3. Download program untuk pengujian LCDke dalam mikrokontroler. 4. Amati data yang tertampil pada LCD.
4.2.4 Hasil pengujian
Pengujian LCD merupakan pemrograman dari mikrokontroler di tampilkan ke LCD. Hasil capture pengujian LCD dapat dilihat pada Gambar 4.3. berikut:
Gambar 4.3. Hasil pengujian LCD
Dari hasil pengujian diatas menunjukkan bahwa LCD dapat menampilkan output sensor ultrasound.
4.3 Pengujian Sensor Ultrasound 4.3.1 Tujuan
Pengujian sensor ultrasound dilakukan untuk mengetahui informasi jarak dari suatu halangan yang berada di depan robot, dan akan di tampilkan ke LCD.
4.3.2 Alat yang digunakan
1. Rangkaian minimum system ATMega8535
STIKOM
2. Power supply 1000mA - 12V 3. Regulator +5V
4. Sensor ultrasound 5. LCD
4.3.3 Prosedur pengujian
1. Hubungkan Sensor ultrasound, LCD dengan minimum system.
2. Aktifkan power supply dan hubungkan dengan regulator serta minimum system.
3. Amati data yang tertampil pada LCD.
4. Lakukan percobaan beberapa kali untuk mengetahui error sensitifnya sensor, error dalam hal ini adalah akurasi sensor dalam mendeteksi jarak dari suatu halangan.
4.3.4 Hasil pengujian
Hasil percobaan sensor ultrasound setelah melalui fungsi ini, dengan cuplikan program :
unsigned int ultrasonic()
{
unsigned int count=0;
unsigned int jarak;
ARAH=OUT;//mengatur PIN I/O sebagai output
PULSE=1;//memberikan tanda ke PING untuk memancarkan ultrasonic burst
delay_us(5);//waktu tunggu sebelum pengukuran min. 2us biasanya 5us
PULSE=0;//menberikan sinyal low ke PING
ARAH=INP;//arah PIN I/O diatur sebagai input
PULSE=1;//mengatur PIN I/O sebagai pill-up
STIKOM
65
while (ECHO==0) {};//menunggu sinyal ECHO high
while (ECHO==1)
{
count++; //menghitung lebar sinyal ECHO high
}
jarak=(unsigned int)(((float)count)/7.2);//nilai pembagi dikalibrasi sampai
sesuai dengan satuan yang diinginkan
return(jarak);//mengembalikan jarak ke fungsi ultrasonic dengan tipe data
unsigned int
}
Hasil dari pada sensor dapat dilihat pada Tabel 4.1. berikut: Tabel 4.1. Hasil pengujian sensor ultrasound
No
Jarak Sebenarnya (cm )
Jarak Terdet eksi (cm )
1 7 7.1
2 10 10
3 15 15.4
4 20 20.3
5 26 26
6 30 30.4
7 34 34
8 40 40.8
9 43 43.8
10 50 50.2
11 55 55.3
12 60 60
13 65.5 65.8
14 70 70
15 77 77.2
16 82.5 82.7
17 90 90
18 96 96.5
19 98 98.2
20 100 100
STIKOM
Pada Tabel 4.1 didapatkan hasil pengukuran jarak sebenarnya dengan jarak yang terdeteksi oleh sensor tidak terlalu berbeda. Dari hasil tersebut dapat disimpulkan bahwa sensor ultrasound mampu bekerja dengan baik.
4.4 Pengujian Motor Servo 4.4.1 Tujuan
Pengujian ini dilakukan untuk menguji apakah motor servo dapat bergerak sesuai dengan program dan pwm yang telah ditentukan.
4.4.2 Alat yang digunakan
1. Rangkaian minimum system ATMega8535 2. Power supply 1000mA - 12V
3. Regulator +5V 4. Motor servo 5. Kabel downloader
4.4.3 Prosedur pengujian
1. Hubungkan kabel downloader dengan minimum system.
2. Aktifkan power supply dan hubungkan dengan regulator serta minimum system.
3. Download program tesservo ke mikrokontrol.
4. Hubungkan motor servo dengan minimum system yaitu pada PORT A.
STIKOM
67
4.4.4 Hasil pengujian
Minimum system langsung menjalankan program yang telah didownload dan motor servo langsung menyala dan bergerak sesuai dengan program yang dibuat. Pada pengujian ini didapat hasil seperti pada table 4.2
Tabel 4.2. Hasil pengujian motor servo
No Input PWM Posisi Servo 1 Posisi Servo 2 Posisi Servo 3 Posisi Servo 4 Posisi Servo 5 Posisi Servo 6 Posisi Servo 7 Posisi Servo 8 1 5 -90° -90° -90° -90° -90° -90° -90° -90° 2 10 -45° -45° -45° -45° -45° -45° -45° -45° 3 12 -42° -42° -42° -42° -42° -42° -42° -42°
4 15 0° 0° 0° 0° 0° 0° 0° 0°
5 18 42° 42° 42° 42° 42° 42° 42° 42°
6 20 45° 45° 45° 45° 45° 45° 45° 45°
7 25 90° 90° 90° 90° 90° 90° 90° 90°
Dari hasil pengujian ini didapatkan bahwa motor servo mampu bergerak sesuai dengan pwm dan program yang telah dibuat. Hasil capture pengujian motor servo dapat dilihat pada gambar 4.4 dan gambar 4.5.
Gambar 4.4. Hasil pengujian servo dengan pwm 5
STIKOM
Gambar 4.5. Hasil pengujian servo dengan pwm 12
4.5 Pengujian Logika Fuzzy 4.5.1 Tujuan
Pengujian ini dilakukan untuk menguji apakah program fuzzy yang dibuat telah berjalan sesuai dengan keinginan dan kebutuhan tugas akhir ini.
4.5.2 Alat yang digunakan
1. Rangkaian minimum system ATMega8535. 2. Power supply 1000mA - 12V.
3. Regulator +5V. 4. Motor servo. 5. Sensor ultrasound. 6. LCD.
STIKOM
69
4.5.3 Prosedur pengujian
1. Hubungkan sensor ultrasound, motor servo, dan LCD dengan minimum system.
2. Aktifkan power supply dan hubungkan dengan regulator serta minimum system.
3. Amati data yang tertampil pada LCD
4. Lakukan percobaan beberapa kali untuk mengetahui keluaran sensor ultrasound dan program fuzzy.
4.5.4 Hasil pengujian
Hasil pengujian dilakukan secara bertahap dengan posisi jarak yang presisi dengan bantuan LCD sebagai informasi jarak sensor dengan halangan, dapat dilihat pada tabel 4.7. Pengukuran dan perhitungan Fuzzy.
Tabel 4.3. Pengukuran dan perhitungan Fuzzy
Kondisi
Sensor
Ultrasound Dekat
Agak
Sedang Sedang
Agak
Jauh Jauh z = (zd+zas+zs+zaj+zj)
/ (d+as+s+aj+j)
Nilai Delay
(ms)
(mm) zd = d * 2000
zas = as * 1400
zs = s * 700
zaj = aj * 350
zj = j * 200
100 2000 0 0 0 0 2000 2000
200 1332 466 0 0 0 1800 1800
300 666 932 0 0 0 1600 1600
400 0 1400 0 0 0 1400 1400
500 0 932 233 0 0 1166 1166
600 0 466 467 0 0 933 933
700 0 0 700 0 0 700 700
800 0 0 462 117 0 580 580
STIKOM
900 0 0 233 233 0 466 466
1000 0 0 0 350 0 350 350
1100 0 0 0 315 180 275 275
1200 0 0 0 280 160 275 275
1300 0 0 0 245 140 275 275
1400 0 0 0 210 120 275 275
1500 0 0 0 175 100 275 275
1600 0 0 0 140 80 275 275
1700 0 0 0 105 60 275 275
1800 0 0 0 70 40 275 275
1900 0 0 0 35 20 275 275
2000 0 0 0 0 0 200 200
4.6 Pengujian Keseluruhan Sistem 4.6.1 Tujuan
Pengujian keseluruhan sistem bertujuan untuk mengetahui apakah sistem yang dirancang dapat berfungsi dengan baik sesuai dengan yang diharapkan.
4.6.2 Alat yang digunakan
1. Rangkaian minimum system ATMega8535. 2. Power supply 1000mA - 12V.
3. Regulator +5V. 4. Motor servo. 5. Sensor ultrasound. 6. LCD.
4.6.3 Prosedur pengujian
1. Hubungkan sensor ultrasound, motor servo, dan LCD dengan minimum system.
STIKOM
71
2. Aktifkan power supply dan hubungkan dengan regulator serta minimum system.
3. Amati jalan nya proses eksekusi program pada alat dan yang tertampil pada LCD.
4.6.4 Hasil pengujian
Pengujian keseluruhan sistem dilakukan dengan melakukan pengamatan terhadap cara jalan robot, dan mengamati kecepatan langkah kaki robot berdasarkan jarak halangan yang dibaca oleh sensor ultrasound dan tertampil pada LCD.
a. LCD dapat menampilkan jarak halangan serta output dari program fuzzy.
Gambar 4.6. Tampilan LCD.
STIKOM
b. Sensor ultrasound berjalan dengan baik dalam mendeteksi halangan.
c. Motor servo mampu bergerak dengan baik sesuai dengan nilai pwm dan program yang telah dibuat.
[image:60.612.44.565.145.675.2]d. Robot dapat berjalan maju dengan baik sesuai dengan keinginan dan program yang telah dibuat, yaitu: langkah pertama adalah kaki kanan depan dan kaki kiri belakang diangkat dan maju secara bersamaan kemudian dimundurkan, langkah kedua adalah kaki kiri depan dan kaki kanan belakang diangkat dan maju secara bersamaan kemudian dimundurkan. Langkah-langkah robot berjalan terlihat pada gambar 4.7.
Gambar 4.7. Langkah-langkah robot.
STIKOM
73 BAB V PENUTUP
Berdasarkan pengujian pada perangkat keras dan perangkat lunak yang dipergunakan dalam tugas akhir ini, maka dapat diambil kesimpulan dan saran-saran dari hasil yang diperoleh.
5.1. Kesimpulan
Setelah melakukan penelitian ini, penulis mengambil kesimpulan sebagai berikut:
1. Motor servo yang diberi nilai masukkan pwm 5,10,12,18, dan 20, dapat bergerak sesuai dengan ketentuan.
2. Program robot quadropod yang dibuat mampu mengendalikan pergerakan robot.
3. Algoritma fuzzy yang dibuat mampu mengambil keputusan terhadap jarak, sehingga kecepatan langkah kaki robot bisa diatur, apabila robot semakin mendekati halangan maka akan semakin pelan pula kecepatan langkah kaki robot tersebut.
5.2. Saran
Sebagai pengembangan dari penelitian yang telah dilakukan, penulis memberikan saran sebagai berikut:
1. Menggunakan sistem pergerakan 3 DOF (Degree Of Freedom) untuk memperhalus gerakan kaki robot.
STIKOM
2. Penambahan jumlah motor sehingga robot dapat berjalan dengan beberapa variasi gerakkan.
3. Peningkatan sensor baik penambahan jumlah sensor yang digunakan atau mengimplementasikan webcam pada robot sehingga robot dapat melakukan tugas yang lebih kompleks.
STIKOM
75
DAFTAR PUSTAKA
Andrianto, Heri, 2008. ”Pemprograman Mikrokontroler AVR ATMEGA16 Menggunakan
Bahasa C (CodeVision AVR)”. Informatika. Bandung.
ATMEL Corporation. 2005, ATmega8535, (Online) (http://www.atmel.com , diakses 20 Juli
2011 )
Budiharto, Widodo. 2010, Robotika Teori + Implementasi. Yogyakarta : Penerbit Andi Offset.
LCD-MODULES, (Online) ( www.lcd-modules.com.tw , diakses 15 November 2011)
Mengukur Jarak Dengan Sensor Ultrasound , (Online)
(
http://blog.indorobotika.com/arduino/mengukur-jarak-dengan-sensor-ultrasonik-dan-arduino.html , diakses pada 5 Januari 2012)
PARALLAX INC. 2006, PING)))TM Ultrasonic Distance Sensor, (Online ) (www.parallax.com,
diakses 17 Oktober 2011 )
Sri Kusumadewi, Hari Purnomo, 2010. Aplikasi Logika Fuzzy edisi 2,
Graha Ilmu, Yogyakarta.