TUGAS AKHIR
PROTOTIPE PEMILAH BOK BERDASARKAN UKURAN
MENGGUNKAN CONVEYOR
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh :
CANDRA OKTORA RIO SUSANTO
NIM : 125114048
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
SORTING PROTOTYPE BASED ON BOX SIZE
USING CONVEYOR
In a partial fulfilment of the requirements
For the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
CANDRA OKTORA RIO SUSANTO
NIM :125114048
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
BELAJARLAH UNTUK MASA DEPAN KARENA SEMUA ILMU TIDAK
ADA YANG SIA-SIA,KARNA ILMU DIGUNAKAN SELAMNYA,
MENATAPLAH KEDEPAN,MASA DEPANMU MENANTI
Skripsi ini kupersembahkan untuk
Bapak, Ibu dan Kakakku
Buat Mbah Kung dan Mbah TI tercinta
Seseorang yang selalu sport saya
Teman-teman Seperjuangan Teknik Elektro 2012
Dan semua pihak yang telah membantu dalam proses penelitian ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Di dunia teknologi yang semakin berkembang pesat ini banyak sekali pengaruhnya
pada kehidupan manusia. Oleh karena itu, agar dapat mempermudah pekerjaan manusia,
conveyor pintar dibuat dengan tujuan meringankan pekerjaan manusia dan memisahkan
benda berdasarkan bentuk dan warna serta mengurangi resiko terjadinya kecelakaan pada
manusia.
Conveyor ini berkerja secara otomatis sebagai pemisah benda berdasarkan ukuran
menggunakan ATmega32 yang terdiri dari minimum sistem yang berfungsi untuk
mengontrol pergerakan conveyor satu dan conveyor dua, GUI pada software MATLAB
yang digunakan untuk menampilkan nilai biner, mencari luasan bok dan jumlah bok yang
terdeteksi. Data citra biner yang dihasilkan oleh webcam Logitech C170H. Benda tersebut
diletakkan pada conveyor satu dan dihantar ke conveyor dua sebagai penerima.
Hasil dari penelitian ini adalah conveyor sudah mampu melakukan kegiatan
pengidentifikasi terhadap bok dan nilai biner secara akurat dan baik. Dibagian mekaniknya
conveyor ini sudah bisa melakukan pemilahan bok berdasarkan ukuran kedalam tempat
yang telah disiapkan di conveyor dua.
Kata kunci : Conveyor, webcam, MATLAB, citra biner, ATmega32.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
In a world of rapidly evolving technology that is getting a lot of influence on human life.
Therefore, in order to facilitate the work of human beings, intelligent conveyor made with
the goal of easing the work of human and separates objects based on shape and color as
well as reducing the risk of accidents in human.
This conveyor work automatically as the dividing objects by size using ATmega32
consisting of minimum system that functions to control the movement of the conveyor one
and the conveyor two, GUI in MATLAB software is used to display the binary values,
explore the extent of the box and the box number is detected. Binary image data generated
by Logitech webcam C170H. The object is placed on the conveyor to conveyor one as
delivered and two as receivers.
The results of this study are already capable of conducting conveyor identifiers of
the box and the binary value accurately and well. The mechanical conveyor section has
been able to do sorting boxes by size into a place that had been prepared in the conveyor
two.
Keywords: Conveyor, webcam, MATLAB,biner image, ATmega32.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Allah atas segala rahmat-Nya. Berkat
Kasih dan KaruniaNya selama menjalani proses pembuatan tugas akhir ini, penulis dapat
menyelesaikan tugas akhir dengan judul “Prototipe Pemilah Bok Berdasarkan Ukuran
Menggunakan Conveyor”.
Tugas akhir ini disusun untuk memenuhi salah satu syarat memperoleh gelar
Sarjana Teknik (S.T) bagi mahasiswa program S-1 Jurusan Teknik Elektro Universitas
Sanata Dharma Yogyakarta. Selama proses penyusunan proposal ini, penulis banyak
mendapat bantuan dan dukungan dari berbagai pihak, untuk itu penulis mengucapkan
terimakasih kepada:
1. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro
Universitas Sanata Dharma Yogyakarta.
2. Bapak Dr.Ir. Linggo Sumarno.M,.T. selaku Dosen Pembimbing tugas akhir yang telah
banyak meluangkan waktu untuk memberikan bimbingan.
3. Ibu Wiwien Widyastuti, S.T.,M.T. dan Bapak Dr.Ir. Iswanjono.M,.T., yang telah
memberikan saran dan kritik dalam menyelesaikan penulisan tugas akhir.
4. Seluruh dosen Teknik Elektro yang telah memberikan ilmu yang bermanfaat kepada
penulis selama kuliah.
5. Bapak, ibu dan Kakakku yang telah memberikan perhatian dan dukungan.
6. Keluargaku tercinta Mbah Ti dan Mbah Kung yang selalu mendoakan dan terus
memberikan semangat dalam mengerjakan.
7. Seluruh teman-teman prodi Teknik Elektro angkatan 2012 atas kerjasama dan
kebersamaannya selama menjalani studi.
8. Kawan-kawan penggembira dan penyemangat dalam bekerja yang memberikan
dukungan.
9. Semua pihak yang tidak bisa penulis sebutkan satu per satu atas bantuan, bimbingan,
kritik dan saran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
Halaman Sampul(Bahasa Indonesia) ......................................................................... i
Halaman Sampul(Bahasa Inggris) ............................................................................. ii
Lembar Persetujuan ................................................................................................... iii
Lembar Pengesahan ................................................................................................... iv
Halaman Persembahan .............................................................................................. v
Lembar Pernyataan Keaslian Karya .......................................................................... vi
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah .......................................... vii
Intisari ........................................................................................................................ viii
Abstract ...................................................................................................................... ix
Kata Pengantar ........................................................................................................... x
Daftar Isi .................................................................................................................... xii
Daftar Gambar ........................................................................................................... xvi
Daftar Tabel ............................................................................................................... xix
BAB I PENDAHULUAN
1.1 Latar Belakang ....................................................................................... 1
1.2 Tujuan dan Manfaat .............................................................................. 1
1.3 Batasan Masalah ................................................................................... 2
1.4 Metodologi Penelitian ........................................................................... 2
BAB II DASAR TEORI
2.1 Belt Conveyor.......................................................................................... 4
2.1.1 Bagian – Bagian Belt Conveyor..................................................... 5
2.2 Pengertian Motor DC.............................................................................. 7
2.2.1 Prinsip Dasar Cara Kerja Motor DC .............................................. 8
2.3 Rangkaian Driver Motor DC .................................................................. 9
2.4 Limit Swicth ............................................................................................ 11
2.5 Mikrokontroler AVR ATmega32 .......................................................... 12
2.5.1 Arsitektur AVR ATmega32........................................................... 13
2.5.2 Diskripsi Mikrokontroler ATmega32 ............................................ 13
2.5.3 Organisasi Memori AVR ATmega32 ............................................ 15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.5.3.a Memori Program ............................................................... 15
2.5.3.a Memori Data ...................................................................... 15
2.5.4 Interupsi ......................................................................................... 16
2.5.5 Timer/Counter ............................................................................... 16
2.5.6 Timer/Counter ............................................................................... 17
2.5.7 Komunikasi Serial USART ........................................................... 19
2.5.7.a Inisialisasi USART ............................................................ 20
2.5.7.b USART I/O Data Register (UDR) .................................... 20
2.5.7.c USART Control and status Register A (USCRA) ............. 20
2.5.7.d USART Control and status Register B (UCSRB) ............. 22
2.5.7.e USART Control and Status Register C (USCRC) ............. 24
2.6 Regulator IC 78xx dan Transistor Penguat Arus ................................... 25
2.7 Photodioda ............................................................................................. 27
2.8 Infrared .................................................................................................. 30
2.9 Webcam ................................................................................................. 31
2.10 Benda Tiga Dimensi .............................................................................. 31
2.11 Pengolahan Citra Digital ....................................................................... 32
2.12 Pemrosesan Citra ................................................................................... 33
2.12.1 Citra Grayscale ........................................................................... 33
2.12.2 Cropping ..................................................................................... 34
2.12.3 Citra Biner .................................................................................. 34
2.12.4 Resizing ...................................................................................... 34
2.12.5 Metode Pengenalan Benda ......................................................... 35
BAB III RANCANGAN PENELITIAN
3.1 Proses Kerja sistem ................................................................................. 37
3.2 Perancangan Mekanik Conveyor ............................................................ 38
3.2.1 Conveyor ........................................................................................ 40
3.3 Perancangan Perangkat Keras ................................................................ 41
3.3.1 Rangkaian Sensor Cahaya ............................................................. 41
3.2.2 Rangkaian Minimum System ATmega32 ....................................... 43
3.3.3 Regulator dan Penguat Arus .......................................................... 44
3.3.4 Driver Motor DC Dengan Limit Switch ........................................ 45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
3.3.5 Motor DC ....................................................................................... 46
3.3.6 Rangkaian Relay ............................................................................ 46
3.3.7 Benda Tiga Dimensi ...................................................................... 47
3.4 Perancangan Perangkat Lunak (software) .............................................. 47
3.4.1 Flowchart Program Pengenalan Box Pada MATLAB .................. 50
3.4.2 Perancangan GUI MATLAB ......................................................... 51
BAB IV HASIL DAN PEMBAHASAN
4.1 Bentuk Fisik dan Sistem Kerja Conveyor............................................... 52
4.2 Penjelasan Program Aplikasi Matlab ..................................................... 54
4.2.1 Penjelasan dan Langkah Awal Untuk Program Pengenalan
Untuk Box ..................................................................................... 54
4.2.2 Penjelasan Program Matlab ........................................................... 57
4.2.2.1 Tampilan Gui Matlab........................................................ 57
4.2.2.2 Inisialisasi Komunikasi Serial .......................................... 58
4.2.2.3 Inisialisasi Webcam .......................................................... 59
4.2.2.4 Proses Pengenalan Citra ................................................... 59
4.2.2.5 Proses Pengenalan Bentuk Benda ..................................... 60
4.2.3 Penjelasan Program AVR .............................................................. 62
4.2.3.1 Pengendali Sensor Photodioda ......................................... 62
4.2.3.2 Pengendali Komunikasi USART ...................................... 63
4.2.3.3 Pengendali Motor DC ....................................................... 63
4.2.3.4 Program Utama ................................................................. 65
4.3 Pengujian Nilai Citra Biner Berbentuk Bok .......................................... 66
4.3.1 Pengujian Pengenalan Ukuran Bok ............................................... 66
4.3.2 Pengujian Keberhasilan Sistem Mendeteksi Bok .......................... 68
4.3.4 Pengujian Sensor Ketinggian Photodioda .................................... 71
4.4 Analisa .................................................................................................... 71
4.4.1 Pembahasan Mekanik .................................................................... 71
4.4.2 Pembahasan Software .................................................................... 72
BAB V KESIMPULAN
5.1 Kesimpulan ............................................................................................. 73
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
5.2 Saran ....................................................................................................... 73
DAFTAR PUSTAKA ................................................................................... ............. 74
LAMPIRAN .............................................................................................................. L1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR GAMBAR
Halaman
Gambar 2.1 Contoh Conveyor ................................................................................. 4
Gambar 2.2 Bagian – bagian Conveyor ................................................................... 5
Gambar 2.3 Impact roller ........................................................................................ 6
Gambar 2.4 Lebar Belt kecil .................................................................................... 7
Gambar 2.5 Lebar Belt Besar .................................................................................. 7
Gambar 2.6 Cara Kerja Motor DC .......................................................................... 8
Gambar 2.7 Rangkaian Motor DC H-Bridge Transistor ......................................... 10
Gambar 2.8 Simbol dan Bentuk Limit Switch ......................................................... 11
Gambar 2.9 Kontstruksi dan Simbol Limit Swicth .................................................. 11
Gambar 2.10 Konfigurasi Pin Mikrokontroler ATmega32 ....................................... 14
Gambar 2.11 Mode Phase Correct PWM ................................................................. 18
Gambar 2.12 Mode Fast PWM .................................................................................. 19
Gambar 2.13 Register UDR....................................................................................... 20
Gambar 2.14 Register UCSRA .................................................................................. 20
Gambar 2.15 Register UCSRB .................................................................................. 22
Gambar 2.16 Register UCRRC ................................................................................. 24
Gambar 2.17 Rangkaian Umum Regulator ............................................................... 26
Gambar 2.18 Rangkaian Catu Daya Penguat ............................................................ 26
Gambar 2.19 Simbol dan Bentuk Photodioda ........................................................... 28
Gambar 2.20 Respon Relatif Spektral Untuk Si, Ge, dan Selenium Dibandingkan
dengan Mata Manusia .......................................................................... 28
Gambar 2.21 Hubungan Iλ Dengan Fc Pada Photodioda .......................................... 29
Gambar 2.22 Aplikasi Sensor Photodioda ................................................................. 29
Gambar 2.23 Rangkaian Sensor Photodioda ............................................................. 30
Gambar 2.24 Contoh Webcam ................................................................................... 31
Gambar 2.25 Contoh Benda Tiga Dimensi ............................................................... 32
Gambar 2.26 Contoh koordinat Citra Digital ............................................................ 33
Gambar 2.27 Citra Skala Keabuan ............................................................................ 34
Gambar 2.28 Contoh Citra Biner ............................................................................... 34
Gambar 2.29 Contoh Citra Biner 8x8 Kotak Pixel .................................................... 35
Gambar 2.30 Contoh Citra Biner 4x4 Kotak Pixel .................................................... 35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar 3.1 Blok Diagram Sistem ........................................................................... 37
Gambar 3.2 Perancangan Conveyor ........................................................................ 38
Gambar 3.3 Posisi Conveyor Berjalan ..................................................................... 38
Gambar 3.4 Conveyor Satu Tampak dari Samping ................................................. 39
Gambar 3.5 Conveyor Dua Tampak dari Depan ..................................................... 39
Gambar 3.6 Conveyor Dua Dari Samping ............................................................... 40
Gambar 3.7 Rangkaian Sensor Photodioda ............................................................. 42
Gambar 3.8 Rangkaian Osilator ATmega32 ........................................................... 43
Gambar 3.9 Rangkaian Reset ATmega32 ............................................................... 44
Gambar 3.10 Rangkaian Regulator 5v dan B. Regulator 24v ................................... 45
Gambar 3.11 Rangkaian Motor DC ........................................................................... 46
Gambar 3.12 Rangkaian Rellay ................................................................................. 46
Gambar 3.13 Bentuk Box .......................................................................................... 47
Gambar 3.14 Flochart Keseluruhan Sistem .............................................................. 48
Gambar 3.15 Flochart Lanjutan 3.13 ........................................................................ 49
Gambar 3.16 Flochart MATLAB ............................................................................. 50
Gambar 3.17 Perancangan GUI pada MATLAB ...................................................... 51
Gambar 4.1 Conveyor Satu dan Dua ....................................................................... 52
Gambar 4.2 Rangkaian Minimum system ............................................................... 53
Gambar 4.3 Rangakaian Photodioda ...................................................................... 53
Gambar 4.4 Rangkaian Motor Driver...................................................................... 53
Gambar 4.5 Rangkaian Relay .................................................................................. 53
Gambar 4.6 Semple Bok .......................................................................................... 53
Gambar 4.7 Tempat Untuk Menempatkan Bok....................................................... 53
Gambar 4.8 Menu matlab ........................................................................................ 55
Gambar 4.9 Tampiln Guide Quick Start ................................................................... 55
Gambar 4.10 Gambar tampilan GUI Pengenalan Bentuk Bok .................................. 56
Gambar 4.11 Tampilan Program Setelah di RUN ..................................................... 56
Gambar 4.12 Tampilan GUI MATLAB .................................................................... 57
Gambar 4.13 Tampilan GUI Matlab .......................................................................... 57
Gambar 4.14 Listing Program Inisialisasi Komunikasi ............................................. 58
Gambar 4.15 Listing Program Inisialisasi Webcam ................................................... 59
Gambar 4.16 Proses Pengolahan Citra ...................................................................... 60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
Gambar 4.17 Listing Program Pengenalan Bentuk Benda ........................................ 61
Gambar 4.18 Listing Program pengendali Conveyor ................................................ 62
Gambar 4.19 Listing Program Komunikasi USART ................................................. 63
Gambar 4.20 Listing Program Pengendali Putaran Motor ...................................... 63
Gambar 4.21 Insisialisasi Program ............................................................................ 64
Gambar 4.22 Pemberian Nilai count ........................................................................ 64
Gambar 4.23 Pengerak Motor DC ............................................................................. 65
Gambar 4.24 Program Utama .................................................................................... 65
Gambar 4.25 Grafik Data Biner ................................................................................ 67
Gambar 4.26 Hasil deteksi bok 1.............................................................................. 69
Gambar 4.27 Hasil deteksi bok 2.............................................................................. 70
Gambar 4.28 Hasil deteksi bok 3.............................................................................. 70
Gambar 4.29 Hasil deteksi bok 4.............................................................................. 70
Gambar 4.30 Hasil deteksi bok tidak sesuai .............................................................. 71
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
DAFTAR TABEL
Halaman
Tabel 2.1 Hubungan PIN dan Interupsi ..................................................................... 17
Tabel 2.2 Penentuan Ukuran Karakter .................................................................... 23
Tabel 2.3 Karakteristik Regulator Tegangan ic 78xx ................................................ 25
Tabel 2.4 Hubungan Arus Dengan Hambatan ........................................................... 30
Tabel 4.1 Data Citra Biner Masing-Masing Bentuk Bok .......................................... 67
Tabel 4.2 Pengujian Keberhasilan Sistem Mendeteksi Bok ...................................... 68
Tabel 4.3 Pengujian Sensor Ketinggian .................................................................... 71
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Penelitian sebelumnya dengan cara menggunakan lengan robot yang secara
keseluruhan yaitu mula-mula benda diletakan diatas conveyor yang akan membawa benda ke
arah webcam untuk diproses dan dikenali bentuknya. Setelah benda yang sudah dikenali,
maka lengan robot sebagai alat bantu untuk memilah atau mengambil benda tersebut
kemudian meletakan pada tempat yang telah ditentukan [1]. Penelitian ini dilakukan oleh
Irvan Hasan pada 2015
Perbedaan dari penelitian sebelumnya yaitu Irvan menggunakan lengan robot dan
conveyor sedangkan ini dengan dua conveyor untuk memilah bok yang berdasarkan ukuran
luasan dan ketinggian. Mula – mula bok diletakan diatas conveyor satu lalu bergerak
mendekati sensor webcam untuk mendeteksi luasan bok tersebut dan photodioda untuk
mengukur ketinggian dari bok tersbut lalu data dari sensor diproses dimatlab lalu
dihubungkan ke ATmega32 untuk menjalan conveyor dua, conveyor dua akan berjalan
setelah data diconveyor satu diproses untuk meletakan menjatuhkan atau menempatkan bok
kekotak yang sesudah disediakan diconveyor dua, dan kotak diconveyor dua sebagai alat
bantu untuk meletakan bok tersebut. Di conveyor dua diberi lima sensor photodioda dan limit
switch, untuk menghentikan kotak di conveyor dua yang sesuai diinginkan dan limit switch
untuk membantu menghentiakan conveyor dua diposisi semula lagi.
1.2. Tujuan dan Manfaat
Tujuan pembuatan alat ini adalah untuk membuat prototipe pemilah bok berdasarkan
ukuran dengan luasan dan ketinggian box menggunakan conveyor. Manfaat dari alat ini
adalah :
1) Dapat memilah 5 bok berdasarkan ukurannya.
2) Sebagai alat bantu untuk memonitoring proses mesin ketika mesin berada jauh dengan
ruang controlstation, untuk membantu pekerjaan manusia.
3) Menjadi pembelajaran, rujukan,untuk bahan pertimbangan yang akan dijadikan alat
yang sebenarnya dan proses monitoring mesin.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
1.3. Batasan Masalah
Agar tugas akhir ini mengarah pada tujuan untuk menghindari terlalu kompleknya
masalah yang muncul, maka perlu adanya batasan masalah yang sesuai dengan tugas akhir
ini. Adapun batasan masalah :
1) Ada 5 macam ukuran bok dengan ukuran dibawah ini :
Bok 1. 16cm x 5cm (l x t)
Bok 2. 16cm x 10cm (l x t)
Bok 3. 32cm x 5cm (l x t)..
Bok 4. 32cm x 10cm (l x t)..
Bok 5. Ukuran bok tidak sesuai.
2) Deteksi luasan menggunakan webcam .
3) Deteksi tinggi menggunakan photodioda.
4) Pemilahan bok menggunakan 2 conveyor. Conveyor 1 untuk mengidentifikasi tinggi
dan luasan bok, conveyor 2 untuk menempatkan bok.
1.4. Metode Penelitian
Langkah –langkah yang dilakukan dalam pengerjaan tugas akhir yaitu :
1) Pengumpulan bahan – bahan referensi berupa buku, jurnal, artikel, dan internet yang
membahas mengenai image processing dengan MATLAB, conveyor, pemprograman
dengan code vision AVR, Atemega32.
2) Perancangan hardware dan software
Tahap ini merupakan perancangan desain prototipe conveyor beserta skema – skema
rangkain pendukung dan pembuatan flowchart untuk memprogram Atmega32 dan
MATLAB.
3) Pembuatan hardware dan software. Tahapan ini berisi tentang pembuatan alat sesuai
deangan desain prototipe conveyor yang telah dirancang beserta program – program
yang mengacu pada flowchart yang telah dibuat pada rancangan.
4) Proses pengambilan data. Teknik pengambilan data dilakukan dengan mencari data
pada masing – masing benda, melihat taggapan sistem dalam mendeteksi benda, pada
prototipe conveyor, dan keakuratan sensor pada prototipe conveyor saat memisahkan
benda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
5) Analisis dan penyimpulan hasil percobaan, Analisis data dilakukan membandingkan
data yang di ambil dengan data dari sumber sebelumnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
BAB II
DASAR TEORI
2.1. Belt Conveyor
Belt Conveyor adalah suatu sistem mekanik yang mempunyai fungsi memindahkan
barang dari satu tempat ke tempat yang lain. Conveyor banyak dipakai di industri untuk
transportasi barang yang jumlahnya sangat banyak dan berkelanjutan.. Alat tersebut terdiri dari
sabuk yang tahan terhadap pengangkutan benda padat. Sabuk yang digunakan pada belt
conveyor ini dapat dibuat dari berbagai jenis bahan. Misalnya dari karet, plastik, kulit ataupun
logam yang tergantung dari jenis dan sifat bahan yang akan diangkut. Untuk mengangkut
bahan - bahan yang panas, sabuk yang digunakan terbuat dari logam yang tahan terhadap
panas [2]. Contoh gambar dapat dilihat pada gambar 2.1.
Gambar 2.1. Contoh Conveyor [2].
Konstruksi dari belt conveyor adalah :
1. Konstruksi arah pangangkutan horizontal.
2. Konstruksi arah pengangkutan diagonal atau miring.
3. Konstruksi arah pengangkutan horizontal dan diagonal.
Karakteristik dan performance dari belt conveyor yaitu :
1. Dapat beroperasi secara mendatar maupun miring dengan sudut maksimum.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
2. Sampai dengan 18’.
3. Sabuk disanggah oleh plat roller untuk membawa bahan.
4. Kapasitas tinggi.
5. Serba guna.
6. Dapat beroperasi secara continiue.
7. Kapasitas dapat diatur.
8. Kecepatannya sampai dengan 600 ft/m.
9. Dapat naik turun.
10. Perawatan mudah.
Kelemahan - kelemahan dari belt conveyor antara lain :
1. Jaraknya telah tertentu.
2. Biaya relatif mahal.
3. Sudut inklinasi terbatas.
2.1.1.Bagian – bagian Belt Conveyor
Gambar 2.2. Bagian-bagian conveyor [2].
Kalau belt panjang, perlu dipakai training roller, kalau belt pendek tanpa training
roller tidak masalah. Pada training roller sering dipasang pemutus arus, untuk menjaga kalau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
belt menerima beban maksimum, sehingga belt dapat menyentuh training dan akibatnya
arusnya terputus.fungsi bagian-bagian conveyor :
1. Feed hopper berfungsi untuk menjaga agar bahan dapat dibatasi untuk melebihi
kapasitas pada waktu inlet.
2. Outlet chuter berfungsi untuk pengeluaran material.
3. Idle drum berfungsi mengikuti putaran drum yang lain.
4. Take up berfungsi untuk mengatur tegangan ban agar selalu melekat pada drum, karena
semakin lama ban dipakai akan bertambah panjang, kalau tidak diatur ketegangannya
ban akan menjadi kendor.
5. Belt cleaner berfungsi untuk membersikan belt agar belt selalu dalam keadaan bersih.
6. Skrapper depan berfungsi agar jangan sampai ada material masuk pada idle drum
dengan belt.
7. Impact roller (rol penyangga utama), berfungsi agar menjaga kemungkinan belt kena
pukulan beban, misalnya , beban yang keras, maka umumnya bagian depan sering
diberi sprocket dari karet sehingga belt bertahan lama. Contoh gambar dapat diihat
pada gambar 2.3.
Gambar 2.3. impact roller [3].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Banyaknya roll penyangga utama :
1. Roll tunggal, berfungsi untuk mengangkut material berupa unit.
2. Roll ganda, berfungsi supaya pengangkutan mencapai beban maksimum dan
material tidak menjadi tumpah [2].
1. Untuk ukuran lebar belt yang cukup kecil.
Gambar 2.4. Lebar belt kecil [2].
2. Untuk ukuran lebar belt yang cukup lebar.
Gambar 2.5. Lebar belt besar [2].
Semakin kecil ukuran lebar belt, maka semakin kaku, karena tebal belt lebih besar.
Kalau semakin luas lebar belt, maka semakin lemas, sehingga sering digunakan 5 roll, agar
kelengkungan roll sesuai dengan keadaannya.
2.2. Pengertian Motor DC
Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik
menjadi energi mekanik. Motor DC memerlukan suplai tegangan yang searah pada kumparan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor dc disebut stator
(bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Jika
terjadi putaran pada kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan
(GGL) yang berubah-ubah arah pada setiap setengah putaran, sehingga merupakan tegangan
bolak-balik. Prinsip kerja dari arus searah adalah membalik phasa tegangan dari gelombang
yang mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus yang
berbalik arah dengan kumparan jangkar yang berputar dalam medan magnet. Bentuk motor
paling sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di antara kutub-
kutub magnet permanenp [4].
Catu tegangan dc dari baterai menuju ke lilitan melalui sikat yang menyentuh
komutator, dua segmen yang terhubung dengan dua ujung lilitan. Kumparan satu lilitan pada
gambar di atas disebut angker dinamo. Angker dinamo adalah sebutan untuk komponen yang
berputar di antara medan magnet.
2.2.1. Prinsip Dasar Cara Kerja Motor DC
Jika arus lewat suatu konduktor, timbu medan magnet di sekitar konduktor. Arah
medan magnet ditentukan aliran arus pda konduktor. Dapat dilihat pada gambar 2.6.
Gambar 2.6. Cara Kerja Motor DC [4].
Aturan Genggaman Tangan Kanan bisa dipakai untuk menentukan arah garis fluks di
sekitar konduktor. Genggam konduktor dengan tangan kanan dengan jempol mengarah pada
arah aliran arus, maka jari-jari anda akan menunjukkan arah garis fluks [4].
1. Arus listrik dalam medan magnet akan memberikan gaya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2. Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran / loop,
maka kedua sisi loop, yaitu pada sudut kanan medan magnet, akan mendapatkan
gaya pada arah yang berlawanan.
3. Pasangan gaya menghasilkan tenaga putar / torque untuk memutar kumparan.
4. Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan tenaga
putaran yang lebih seragam dan medan magnetnya dihasilkan oleh susunan
elektromagnetik yang disebut kumparan medan.
Pada motor dc, daerah kumparan medan yang dialiri arus listrik akan menghasilkan
medan magnet yang melingkupi kumparan jangkar dengan arah tertentu. Konversi darienergi
listrik menjadi energi mekanik (motor) maupun sebaliknya berlangsung melaluimedan
magnet, dengan demikian medan magnet disini selain berfungsi sebagai tempatuntuk
menyimpan energi, sekaligus sebagai tempat berlangsungnya proses perubahanenergi.
Dalam memahami sebuah motor, penting untuk mengerti apa yang dimaksud dengan
beban motor. Beban dalam hal ini mengacu kepada keluaran tenaga putar / torque sesuai
dengan kecepatan yang diperlukan. Beban umumnya dapat dikategorikan ke dalam tiga
kelompok :
1. Beban torque konstan adalah beban dimana permintaan keluaran energinya
bervariasi dengan kecepatan operasinya namun torquenya tidak bervariasi. Contoh
beban dengan torque konstan adalah corveyor, rotary kilns, dan pompa
displacement konstan.
2. Beban dengan variabel torque adalah beban dengan torque yang bervariasi
dengankecepatn operasi. Contoh beban dengan variabel torque adalah pompa
sentrifugal dan fan (torque bervariasi sebagai kuadrat kecepatan).
3. Beban dengan energi konstan adalah beban dengan permintaan torque yang
berubah dan berbanding terbalik dengan kecepatan. Contoh untuk beban dengan
daya konstan adalah peralatan-peralatan mesin.
2.3. Rangkaian Driver Motor DC
Driver motor DC dalam artikel ini adalah Driver motor DC tipe H-Bridge
menggunakan power Driver berupa transistor. Rangkaian Driver motor DC H-Bridge
transistor ini dapat mengendalikan arah putaran motor DC dalam 2 arah dan dapat dikontrol
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
dengan metode PWM (pulse Width Modulation) maupun metode sinyal logika dasar TTL
(High) dan (Low). Untuk pengendalian motor DC dengan metode PWM maka dengan
rangkaian Driver motor DC ini kecepatan putaran motor DC dapat dikendalikan dengan baik.
Apabila menggunakan metode logika TTL 0 dan 1 maka rangkaian ini hanya dapat
mengendalikan arah putaran motor DC saja dengan kecepatan putaran motor DC maksimum.
Rangkaian Driver motor DC H-Bridge ini menggunakan rangkaian jembatan transistor 4 unit
dengan proteci impuls tegangan induksi motor DC berupa dioda yang dipasang paralel dengan
masing-masing transistor secara reverse bias [5]. Rangkaian Driver motor DC secara detil
dapat dilihat pada gambar 2.7.
2.7. Rangkaian Driver Motor DC H-Bridge Transistor [5].
Proses mengendalikan motor DC menggunakan rangkaian Driver motor DC H-Bridge
diatas dapat diuraikan dalam beberapa bagian sebagai berikut : Driver Motor DC dengan
metode logika TTL (0 dan 1) atau High dan Low hanya dapat mengendalikan arah putar motor
DC dalam 2 arah tanpa pengendalian kecepatan putaran (kepatan maksimum). untuk
mengendalikan motor DC dalam 2 arah dengan rangkaian Driver motor dc h-bridge diatas
konfiguarasi kontrol pada jalur input adalah dengan memberikan input berupa logika TTL ke
jalur input A dan B.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
a. Untuk mengendalikan arah putar searah jarum jam adalah dengan memberikan
logika TTL 1 (high) pada jalur input A dan logika TTL 0 (low) pada jalur input
B.
b. Untuk mengendalikan arah putar berlawanan arah jarum jam adalah dengan
memberikan logika TTL 1 (high) pada jalur input B dan logika TTL 0 (low)
pada jalur input A.
Driver motor DC dengan metode PWM (Pulse Width Modulation) dapat
mengendalikan arah putaran motor DC dan kecepatan motor DC menggunakan pulsa PWM
yang diberikan ke jalur input A dan B, dimana konfigurasi sinyal kontrol sebagai berikut.
a. Untuk mengendalikan arah putar motor DC searah jarum jam dengan kecepatan
dikendalikan pulsa PWM maka jalur input B selalu diberikan logikan TTL 0
(Low) dan jalur input A diberikan pulsa PWM.
b. Untuk mengendalikan arah putar motor DC berlawanan arah jarum jam dengan
kecepatan dikendalikan pulsa PWM maka jalur input A selalu diberikan
logikan TTL 0 (Low) dan jalur input B diberikan pulsa PWM.
Kecepatan putaran motor DC dikendalikan oleh persentasi ton-duty cycle pulsa PWM yang
diberikan ke jalur input rangkaian Driver motor DC h-bridge transistor diatas [5].
2.4. Limit Switch
Limit switch merupakan jenis saklar yang dilengkapi dengan katup yang berfungsi
menggantikan tombol. Prinsip kerja limit switch sama seperti saklar Push ON yaitu hanya akan
menghubung pada saat katupnya ditekan pada batas penekanan tertentu yang telah ditentukan
dan akan memutus saat saat katup tidak ditekan. Limit switch termasuk dalam kategori sensor
mekanis yaitu sensor yang akan memberikan perubahan elektrik saat terjadi perubahan
mekanik pada sensor tersebut [6]. Penerapan dari limit switch adalah sebagai sensor posisi
suatu benda (objek) yang bergerak . Simbol limit switch ditunjukan pada gambar 2.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Gambar 2.8. Simbol dan Bentuk Limit Switch [6].
Limit switch umumnya digunakan untuk :
1. Memutuskan dan menghubungkan rangkaian menggunakan objek atau benda lain.
2. Menghidupkan daya yang besar, dengan sarana yang kecil.
3. Sebagai sensor posisi atau kondisi suatu objek.
Prinsip kerja limit switch diaktifkan dengan penekanan pada tombolnya pada
batas/daerah yang telah ditentukan sebelumnya sehingga terjadi pemutusan atau
penghubungan rangkaian dari rangkaian tersebut. Limit switch memiliki 2 kontak yaitu NO
(Normally Open) dan kontak NC (Normally Close) dimana salah satu kontak akan aktif jika
tombolnya tertekan. Konstruksi dan simbol limit switch dapat dilihat seperti gambar 2.9.
Gambar 2.9. Konstruksi Dan Simbol Limit Switch [6].
2.5. Mikrokontroler AVR ATmega32
AVR (Alf and Vegard’sRiscProcessor) merupakan seri mikrokontroler CMOS 8-bit
yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer).
Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega32. Hampir semua instruksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
dieksekusi dalam satu siklus clock dan mempunyai 32 register general-purpose, timer/counter
fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART, programmable
Watchdog Timer, dan power saving mode. AVR juga mempunyai ADC, PWM internal dan In-
System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram
ulang [7] .
2.5.1. Arsitektur AVR ATmega32
Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut :
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/counter yaitu Timer 0, Timer 1, dan Timer 2.
d. Watchdog Timer dengan osilator internal.
e. SRAM sebanyak 512 byte.
f. Memori Flash sebesar 32 kb.
g. Sumber Interupsi internal dan eksternal.
h. Port SPI (Serial Pheriperal Interface).
i. EEPROM on board sebanyak 512 byte.
j. Komparator analog.
k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter).
2.5.2. Deskripsi Mikrokontroler ATmega32
Konfigurasi Pin Mikrokontroller ATmega32 dengan kemasan 40 pin DIP (dual in-line
package) dapat dilihat pada Gambar 2.10. Untuk memaksimalkan performa dan paralelisme,
AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
data). Ketika sebuah instruksi sedang dikerjakan maka instruksi berikutnya diambil dari
memori program [7].
Gambar 2.10. Konfigurasi Pin Mikrokontroler ATmega32 [7].
Mikrokontroler ATmega32 memiliki konfigurasi Pin sebagai berikut:
a. VCC (power supply).
b. GND (ground).
c. Port A (PA7..PA0) Port A berfungsi sebagai input analog pada ADC (analog digital
converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah.
d. Port B (PB7..PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal
pull-up (yang dipilih untuk beberapa bit).
e. Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal
pull-up (yang dipilih untuk beberapa bit).
f. Port D (PD7..PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal
pull-up (yang dipilih untuk beberapa bit).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
g. RESET (Reset input).
h. XTAL1 (Input Oscillator).
i. XTAL2 (Output Oscillator).
j. AVCC adalah pin penyedia tegangan untuk Port A dan ADC.
k. AREF adalah pin referensi analog untuk ADC.
Port A berfungsi sebagai input analog pada A/D Konverter (ADC) dan port I/O 8-bit
dua arah. Port B, Port C, Port D adalah suatu port I/O 8-bit dua arah dengan resistor internal
pull-up (yang dipilih untuk beberapa bit). Pada rangkaian reset, waktu pengosongan kapasitor
dapat dihitung dengan persamaan 2.1.
T = R x C (2.1)
2.5.3. Organisasi Memori AVR ATmega32
Arsitektur AVR mempunyai dua ruang memori utama, yaitu ruang memori data dan
memori program. ATmega32 juga memiliki fitur EEPROM Memori untuk penyimpanan data
[6].
a. Memori Program
Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang
tidak akan hilang datanya meskipun catu daya dimatikan. Dalam ATmega32 terdapat 8Kbyte
On-Chip di dalam sistem Memory Flash Reprogrammable untuk penyimpanan program.
Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu boot
program dan bagian aplikasi program.
b. Memori Data
Memori data adalah memori RAM (Random Access Memory) yang digunakan untuk
keperluan program. Memori data terbagi menjadi empat bagian yaitu 32 General Purphose
Register adalah register khusus yang bertugas untuk membantu eksekusi program oleh ALU
(Arithmatich Logic Unit). Dalam istilah processor komputer sehari-hari GPR dikenal sebagai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
“chace memory”. I/O register dan Aditional I/O register adalah register yang difungsikan
khusus untuk mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin, port,
timer/counter.
2.5.4. Interupsi
Interupsi adalah suatu kondisi dimana mikrokontroler akan berhenti sementara dari
program utama untuk melayani instruksi-instruksi pada interupsi kemudian kembali
mengerjakan instruksi program utama setelah instruksi-instruksi pada interupsi selesai
dikerjakan [8]. Tabel dapat dilihat 2.1.
Table 2.1. Hubungan PIN dan Interupsi [7].
Jenis interupt PIN pada ATmega32
INT0 PORTD.2
INT1 PORTD.3
INT2 PORTB.2
ATmega32 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan INT2.
Masing-masing interupsi tersebut terhubung dengan pin ATmega32 seperti ditunjukan pada
Tabel 2.1. Interupsi eksternal bisa dilakukan dengan memberikan logika 0 atau perubahan
logika (rissing edge dan falling edge) pada pin interupsi yang bersangkutan [8].
2.5.5. Timer/Counter
Timer/Counter pada mikrokontroler AVR dapat digunakan untuk melakukan
pencacahan waktu seperti pada jam digital maupun untuk menghasilkan sinyal PWM (Pulse
Width Modulation) yakni sinyal kotak dengan frekuensi dan duty cycle yang nilainya bisa
diatur. ATmega32 memiliki tiga unit Timer/Counter yaitu Timer/Counter 0 (8 bit),
Timer/Counter 1 (16 bit), dan Timer/Counter 2 (8 bit) [8].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
2.5.6. TIMER/COUNTER 0
Fitur-fitur yang dimiliki:
1. Satu buah unit Compare Counter (Unit ini akan meng-count dan meng-compare) .
2. Clear timer pada saat compare match (Auto reload) .
3. Phase Correct PWM yang bebas glitch .
4. Frequency generator.
5. External event counter.
6. Prescaler clock hingga 10 bit.
7. Membangkitkan interupsi saat timer overflow dan atau compare match.
Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukan pada persamaan 2.2, 2.3,
dan 2.4 berikut .
(2.2)
(2.3)
(2.4)
Keterangan :
f= frekuensi yang digunakan untuk eksekusi program
T= periode
N= prescaller yang digunakan
OCR = nilai cacahan pulsa
Pulse = lebar pulsa
Berikut merupakan mode-mode operasi timer [7]:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
a) Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan mengitung
selang waktu.
Gambar 2.11. Mode Phase Correct PWM [7].
b) Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM dimana
nilai register counter (TCNT0) yang mencacah naik dan turun secara terus menerus
akan selalu dibandingakan dengan register pembanding OCR0. Hasil perbandingan
register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal PWM yang
dikeluarkan pada OC0 seperti ditunjukan Gambar 2.11.
c) CTC (Clear timer on compare match), register counter (TCNT0) akan mencacah naik
kemudian di-reset atau kembali menjadi 0x00 pada saat nilai TCNT0 sama dengan
OCR0. Sebelumnya OCR diset dulu, karena timer 0 dan 2 maksimumnya 255, maka
range OCR 0-255.
d) Fast PWM, mode ini hampir sama dengan mode phase correct PWM, hanya
perbedaannya adalah register counter TCNT0 mencacah naik saja dan tidak pernah
mencacah turun seperti terlihat pada Gambar 2.12.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Gambar 2.12. Mode Fast PWM [7].
2.5.7. Komunikasi Serial USART
Komunikasi data adalah perpindahan data antara dua atau lebih peranti, baik
yang berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti dapat
dilaksanakan secara paralel atau seri. Komunikasi seri dapat dibedakan menjadi dua macam,
yaitu komunikasi dara seri sinkron dan komunikasi data asinkron. Dikatakan sinkron jika sisi
pengirim dan sisi penerima ditabuh (clocked) oleh penabuh (clock) yang sama, satu sumber
penabuh, data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan sisi
penerima ditabuh oleh penabuh yang terpisah dengan frekuensi yang hampir sama, data
dikirim disertai informasi sinkronisasi [7].
Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baudrate
yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai berikut:
a) Operasi full duplex (mempunyai register receive dan transmit yang terpisah) .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
b) Mendukung kecepatan multiprosesor.
c) Mode kecepatan berorde Mbps.
d) Operasi asinkron atau sinkron.
e) Operasi master atau slave clock sinkron.
f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi.
g) Modus komunikasi kecepatan ganda pada asinkron.
a. Inisialisasi USART
Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART
dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART. Register-register yang digunakan untuk komunikasi USART antara lain:
b. USART I/O Data Register (UDR)
UDR merupakan register 8 bit yang terdiri dari dua buah dengan alamat yang sama,
yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau
tempat data diterima (RXB) sebelum data tersebut dibaca.
Gambar 2.13. Register UDR [7].
c. USART Control and Status Register A (UCSRA)
Gambar 2.14. Register UCSRA [7].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Penjelasan bit penyusun UCSRA :
a) RXC (USART Receive Complete)
Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan akan
berlogika nol ketika sudah dibaca. Flag ini dapat digunakan untuk membangkitkan interupsi
RX jika diaktifkan dan akan berlogika nol secara otomatis bersamaan dengan eksekusi vektor
interupsi yang bersangkutan.
b) TXC (USART Transmit Complete)
Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan
interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan eksekusi vektor
interupsi yang bersangkutan.
c) UDRE (USART Data Register Empty)
Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan
kosong dan siap menerima data berikutnya, jika flag bernilai nol berarti sebaliknya.
d) FE (Frame Error)
Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit
pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika stop bit
data yang diterima berlogika nol.
e) DOR (Data OverRun)
Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan
bernilai satu ketika terjadi tumpang tindih data.
f) PE (Parity Error)
Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika ada
kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit paritas
digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
g) U2X (Double the USART Transmission Speed)
Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya berlaku
untuk modus asinkron, untuk mode sinkron bit ini diset nol.
h) MPCM (Multi Processor Communication Mode)
Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh
USART tidak mengandung informasi alamat akan diabaikan.
d. USART Control and Status Register B (UCSRB)
Gambar 2.15. Register UCSRB [7].
Penjelasan bit penyusun UCSRB :
a) RXCIE (RX Complete Interrupt Enable)
Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika
diaktifkan dan berlogika nol jika tidak diaktifkan.
b) TXCIE (TX Complete Interrupt Enable)
Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan
berlogika nol jika tidak diaktifkan.
c) UDRIE (USART Data Register Empty Interrupt Enable)
Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu jika
diaktifkan dan sebaliknya.
d) RXEN (Receiver Enable)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin diaktifkan
maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai
saluran penerima USART.
e) TXEN (Transmitter Enable)
Bit ini berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin diaktifkan
maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai
saluran pengirim USART.
f) UCSZ2 (Character Size)
Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk
memilih tipe lebar data bit yang digunakan. Tabel dapat dilihat 2.2
Tabel 2.2. Penentuan Ukuran Karakter [7].
UCSZ[2..0] Ukuran Karakter dalam bit
0 5
1 6
10 7
11 8
100-110 Tidak dipergunakan
111 9
g) RXB8 (Receive Data Bit 8)
Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini
harus dibaca dahulu sebelum membaca UDR.
h) TXB8 (Transmit Data Bit 8)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini
harus ditulis dahulu sebelum membaca UDR.
e. USART Control and Status Register C (UCSRC)
Gambar 2.16. Register UCSRC [7].
Penjelasan bit penyusun UCSRC :
a) URSEL (Register Select) :
Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk
menulis atau membaca register UCSRC maka bit harus berlogika satu.
b) UMSEL (USART Mode Select)
Bit pemilih mode komunikasi serial antara sinkron dan asinkron.
c) UPM[1…0] (Parity Mode)
Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmittter
USART akan membuat paritas yang akan digunakan secara otomatis.
d) USBS (Stop Bit Select)
Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan.
e) UCSZ1 dan UCSZ0
Merupakan bit pengatur jumlah karakter serial Bit yang berfungsi untuk memilih lebar
data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register UCSRB.
f) UCPOL (Clock Parity)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan perubahan
data keluaran dan sampel masukkan, dan clock sinkron (XCK).
2.6. Regulator IC 78xx dan Transistor Penguat Arus
Pengatur tegangan (voltage regulator) berfungsi menyediakan suatu tegangan
keluaran dc tetap yang tidak dipengaruhi oleh perubahan tegangan masukan. Salah satu tipe
regulator tegangan tetap adalah 78xx. Regulator tegangan tipe 78xx adalah salah satu regulator
tegangan tetap dengan tiga terminal, yaitu terminal Vin, GND dan Vout. Regulator tegangan
78xx dirancang sebagai regulator tegangan tetap, meskipun demikian keluaran dari regulator
ini dapat diatur tegangan dan arusnya melalui tambahan komponen eksternal [9]. Spesifikasi ic
regulator seri 78xx dapat dilihat pada tabel 2.3.
Tabel 2.3. Karakteristik Regulator Tegangan ic 78xx [9].
Tipe VOUT (Volt) VIN (Volt)
Min Maks
7805 5 7,3 20
7806 6 8,3 21
7808 8 10,5 23
7810 10 12,5 25
7812 12 14,6 27
7815 15 17,7 30
7818 18 21 33
7824 24 27.1 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Gambar 2.17. Rangkaian Umum Regulator 78xx [9].
Nilai komponen c1 dan c2 difungsikan sebagai filter capasitor yang bertujuan untuk
menghilangkan tegangan ripple agar tegangan keluaran menjadi lebih stabil. Untuk
mendapatkan nilai capasitor yang sesuai, dapat mengacu pada persamaan 2.5 dan 2.6.
(2.5)
(2.6)
Komponen eksternal yang digunakan yaitu transistor 2N3055 karena kemampuan arus
maksimal adalah 15 A . Untuk gambar rangkaian lengkap dengan ic regulator dapat ditunjukan
gambar 2.18.
Gambar 2.18. Rangkaian Catu Daya Dengan Penguat [10].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Dari gambar 2.18, maka diperleh persamaan-persamaan sebagai berikut :
VB = Vreg + VD (2.7)
Tegangan keluaran rangkaian menjadi,
Vo = Vreg – VBE (2.8)
Jika VD VBE, maka
Vo = Vreg (2.9)
Tegangan diantara kolektor dan emittor transistor 2N3055 adalah,
VCE = VIN – VR1 (2.10)
Disipasi daya transistor NPN 2N3055 adalah,
PD = VCE x IC (2.11)
Untuk nilai penguatan arus diperoleh dengan persamaan dibawah ini :
Ic = β IB (2.12)
Ie = (β+1) IB (2.13)
2.7. Photodioda
Photodioda adalah dioda yang bekerja berdasarkan intensitas cahaya, jika photodioda
terkena cahaya maka photodioda bekerja seperti dioda pada umumnya, tetapi jika tidak
mendapat cahaya maka photodioda akan berperan seperti resistor dengan nilai tahanan yang
besar sehingga arus listrik tidak dapat mengalir.
Photodioda merupakan sensor cahaya semikonduktor yang dapat mengubah besaran
cahaya menjadi besaran listrik. Photodioda merupakan sebuah dioda dengan sambungan p-n
yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh photodioda ini
mulai dari cahaya infra merah, cahaya tampak, ultra ungu sampai dengan sinar-X.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Karena photodioda terbuat dari semikonduktor p-n junction maka cahaya yang diserap
oleh photodioda akan mengakibatkan terjadinya pergeseran foton yang akan menghasilkan
pasangan electron-hole dikedua sisi dari sambungan. Ketika elektron-elektron yang dihasilkan
itu masuk ke pita konduksi maka elektron-elektron itu akan mengalir ke arah positif sumber
tegangan sedangkan hole yang dihasilkan mengalir ke arah negatif sumber tegangan sehingga
arus akan mengalir di dalam rangkaian. Besarnya pasangan elektron ataupun hole yang
dihasilkan tergantung dari besarnya intensitas cahaya yang diserap oleh photodioda [11].
Photodioda digunakan sebagai penangkap gelombang cahaya yang dipancarkan oleh
infrared. Besarnya tegangan atau arus listrik yang dihasilkan oleh photodioda tergantung besar
kecilnya radiasi yang dipancarkan oleh infrared.
Gambar 2.19. Simbol dan Bentuk Photodioda [11].
Gambar 2.20. Respon Relatif Spektral Untuk Si, Ge, dan Selenium Dibandingkan Dengan
Mata Manusia [11].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 2.21. Hubungan Iλ Dengan Fc Pada Photodioda [11].
Grafik pada gambar 2.21 menunjukan bahwa arus maksimal pada sensor photodioda
adalah sebesar 800 µA, sehingga untuk penentuan nilai hambatan agar arus sensor photodioda
tidak terlalu besar yaitu :
(2.14)
Gambar 2.22. Aplikasi Sensor Photodioda [11].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Sehingga nilai hambatan untuk sensor photodioda dengan asumsi bahwa Vcc = 5 Volt dapat
dilihat pada tabel 2.4.
Tabel 2.4. Hubungan Arus Dengan Hambatan.
ARUS
(µA)
HAMBATAN
(KΩ)
200 25
400 12,5
600 8,33
800 6,25
Rangkaian umum sensor photodioda dapat ditunjukan pada gambar 2.23.
Gambar 2.23. Rangkaian Sensor Photodioda.
2.8. Infrared
Infrared merupakan suatu komponen elektronika yang merupakan sumber cahaya
dengan panjang gelombang 750nm-1000nm dan arus maksimal sebesar 100 mA. Aplikasi
infrared biasa dijumpai pada modul sensor yang berhubungan dengan cahay seperti
photodioda dan photo transistor [11]. Menurut gambar 2.20, infrared merupakan sumber
cahaya yang paling baik untuk sumber sensor cahaya. Penentuan nilai hambatan untuk
infrared dengan asumsi Vcc = 5 Volt yaitu :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
sehingga,
R =
= 50 Ω
Agar aman,maka digunakan resistor sebesar 100 Ω yang bertujuan untuk membuat
infra red tidak berlebihan arus.
2.9. Webcam
Web camera atau biasa disingkat webcam adalah kamera video digital kecil yang
dihubungkan ke komputer melalui port USB atau serial. Fungsi webcam yang paling populer
saat ini yaitu untuk melakukan video conference melalui internet. Dalam perkembangan
selanjutnya, webcam tidak hanya difungsikan sebagai video conference tetapi juga untuk home
monitoring atau memantau rumah selama 24 jam. Contoh webcam ditunjukan gambar 2.24
yaitu webcam Logitech c170.
Gambar 2.24. Contoh Webcam [12].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
2.10. Benda Tiga Dimensi
Benda 3 dimensi merupakan benda yang mempunyai banyak ruang atau volume
sehingga benda akan tampak lebih nyata. Benda 3 dimensi memiliki ukuran panjang, lebar,
dan tinggi. Dapat dilihat pada contoh benda 3 dimensi pada gambar 2.25.
Gambar 2.25. Contoh Benda Tiga Dimensi [13].
2.11. Pengolahan Citra Digital
Pengolahan citra atau Image Processing adalah suatu sistem dimana proses dilakukan
dengan masukan (input) berupa citra (image) dan hasilnya (output) juga berupa citra (image).
Pada awalnya pengolahan citra ini dilakukan untuk memperbaiki kualitas citra, namun dengan
berkembangnya dunia komputasi yang ditandai dengan semakin meningkatnya kapasitas dan
kecepatan proses komputer, serta munculnya ilmu-ilmu komputer yang memungkinkan
manusia dapat mengambil informasi dari suatu citra, maka image processing tidak dapat
dilepaskan dengan bidang computer vision [14].
Sebuah citra dapat didefinisikan sebagai fungsi dua dimensi f(x,y), dimana x dan y
adalah koordinat spasial dan amplitude dari f. Citra digital terdiri dari sejumlah elemen
tertentu, setiap elemen mempunyai lokasi dan nilai tertentu. Elemen–elemen ini disebut
picture element, image element, pels dan pixels. Sumber noise pada citra digital bisa terjadi
sejak pengambilan atau transmisi citra. Kinerja dari sensor citra atau kamera dipengaruhi oleh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
banyak faktor seperti kondisi lingkungan selama pengambilan citra dengan kamera webcam,
level pencahayaan dan suhu sensor adalah faktor utama yang mempengaruhi tingkat noise
pada citra yang dihasilkan [14].
Gambar 2.26. Contoh Koordinat Citra Digital [14].
2.12. Pemrosesan Citra
2.12.1. Citra Grayscale
Proses awal yang banyak dilakukan dalam image processing adalah mengubah citra
berwarna (citra RGB) menjadi citra grayscale, hal ini bertujuan untuk menyederhanakan
model citra tersebut karena citra berwarna terdiri dari tiga layer matrik yaitu Red-layer, Green-
layer dan Blue-layer. Sehingga untuk melakukan proses-proses selanjutnya tetap harus
memperhatikan tiga layer di tersebut. Bila setiap proses perhitungan dilakukan menggunakan
tiga layer, berarti dilakukan tiga perhitungan yang sama, sehingga konsep itu diubah dengan
mengubah tiga layer di atas menjadi satu layer matrik grayscale dan hasilnya adalah citra
grayscale. Dalam citra ini tidak ada lagi warna, yang ada adalah derajat keabuan yang
memiliki nilai 0-255.
Citra grayscale merupakan citra digital yang hanya memiliki suatu nilai kanal pada
setiap piksel. Warna yang dimiliki adalah keabuan, hitam dan putih. Citra hitam putih
mempunyai nilai kuantisasi derajat keabuan sampai tingkatan ke 256 artinya mempunyai skala
abu dari 0 sampai 255 atau selang [0 255]. Citra ini membutuhkan 1 byte (8 bit) untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
representasi setiap pikselnya (256 =28). Gambar 2.25 menunjukkan contoh citra skala keabuan
[15].
Gambar 2.27. Citra Skala Keabuan [15].
2.12.2. Cropping
Cropping citra merupakan salah satu langkah dalam pengolahan citra yang dilakukan
untuk memotong satu bagian dari citra tertentu untuk memperoleh bagian yang diinginkan
untuk diolah. Hal ini dilakukan untuk mendapatkan data yang tepat sehingga memudahkan
dalam proses pengolahan data.
2.12.3. Citra Biner
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu
hitam dan putih. Citra biner juga bisa disebut sebagai citra B&W (black and white) atau citra
monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari citra biner. [15]
Citra biner sering kali muncul sebagai hasil dari proses pengolahan seperti segmentasi,
pengambangan, morfologi, ataupun dithering. Contoh citra biner dapat dilihat pada gambar
2.26.
Gambar 2.28. Contoh Citra Biner [15] .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
2.12.4. Resizing
Rezising citra adalah mengubah besarnya ukuran citra dalam pixel. Tampilan citra tidak
ada yang berubah tetapi hanya ukuran pixel dan matriksnya yang dirubah. Ukuan resizing
menentukan kualitas gambar yang akan diproses.
2.12.5. Metode Pengenalan Benda
Untuk dapat mengenali suatu citra atau gambar, maka diperlukan suatu metode yang
digunakan untuk melihat perbedaan data atau nilai yang dimiliki oleh masing-masing citra
atau gambar yang akan dikenali. Metode yang digunakan yaitu dengan melihat data nilai citra
biner dari masing-masing bentuk benda.
Langkah untuk mengenalinya yaitu dengan terlebih dahulu mengamati dan melihat
nilai citra biner dari masing-masing citra yang akan dikenali. Setelah mendapatkan data yang
diinginkan, maka dibuat sebuat range data yang merepresentasikan citra dari masing-masing
benda yang akan dikenali. Gambar 2.27 akan menjelaskan penerapan citra biner saat
pengenalan citra digital ada .
Gambar 2.29. Aplikasi Citra Biner 8x8 kotak pixel.
Dari gambar 2.27 dapat dilihat bahwa kotak berukuran 8x8 pixel memiliki jumlah nilai
biner 1 sebanyak 64 kotak pixel dipersentasikan warna hitam dan utuk nilai biner 0 sebanyak
34 kotak pixel dipersentasikan warna putih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 2.30. Aplikasi Citra Biner 4x4 kotak pixel.
Untuk kotak berukuran 4x4 kotak pixel dapat dilihat digambar 2.28 bahwa nilai biner 1
sebanyak 16 kotak pixel yang dipersentasikan warna hitam dan untuk nilai biner 0 sebanyak
84 kotak pixel dan dipersentasikan warna putih.
Untuk itu dapat dilihat perbandingan kotak berukuran kotak pixel dan 4x4 kotak pixel
bahwa kotak berukuran 8x8 kotak pixel lebih besar dan dapat dilihat nilai binernya lebih
banyak yaitu 64 kotak pixel. Sedangkan kotak 4x4 kotak pixel dapat dilihat lebih kecil dari
8x8 kotak pixel dan nilai binernya hanya 16 kotak pixel.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
BAB III
PERANCANGAN PENELITIAN
3.1. Proses Kerja Sistem
Pada pembuatan tugas akhir ini, akan dibuat sebuah prototipe conveyor yang dapat
memilah lima macam bok dan memisahkan pada suatu tempat yang telah ditentukan.
Komponen yang diguankan yaitu conveyor, rangkaian sensor cahaya, ATmega32, software
AVR, webcam, software Matlab, dan motor dc 24v.
Cara kerja conveyor yaitu mula-mula box diletakan diatas conveyor satu yang akan
membawa bok mendekati webcam dan rangkain sensor cahaya. Webcam akan mendeteksi
luasan bok, kemudian akan diproses oleh laptop melalui software Matlab untuk mengenali
luasan bok, setelah itu rangkaian sensor cahaya akan mendeteksi ketinggian bok kemudian
akan diproses laptop lalu dikomunikassikan kepada minimum system ATmega32 dan akan
dikomunikasikan kematlab untuk diproses untuk menentukan ukuran bok akan dipindahkan
ketempat yang dinginkan untuk menjalankan conveyor dua sebagai alat bantu untuk
meletakan bok sesuai ukurannya. Blok diagram sistem dapat dilihat pada gambar 3.1.
Gambar 3.1. Blok Diagram Sistem.
MOTOR
CONVEYOR 1 RANGKAIAN
DRIVER
CONVEYOR 1
ATmega 32
RANGKAIAN
DRIVER
MOTOR
CONVEYOR 2
CONVEYOR 2
LAPTOP
WEBCAM
INFRARED
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
3.2. Perancangan Mekanik Conveyor
Pada tahap ini dilakukan perancangan mekanik dari conveyor tersebut, antara lain
mendesain ukuran conveyor, penggunaan bahan dasar untuk conveyor yaitu akrlilik setebal
3mm, ukuran conveyor satu belt lebar 20 cm, panjang conveyor satu 100 cm, tinggi 35 cm
tiang tempat photodioda dan webcam setinggi 35 cm jarak photodioda 1, 2 dan 3 yaitu 5 cm
dan webcam dari photodioda ketiga yaitu 20 cm ukuran conveyor dua lebar belt 25 cm
conveyor dua 300 cm, tinggi 10 cm dan dibagian conveyor dua ada 5 kotak untuk tempat box
yang berukuran panjang 20 cm, lebar 20 cm conveyor juga diberi sensor photodioda
seabanyak 5 untuk menjalankan atau menempatakan kotak akan berhenti pada sesuai
program yang diinginkan. Conveyor juga diberi limit switch berfungsi untuk mengembalikan
ke posisi semula. Contoh gambar perancangan dapat dilihat di 3.2 sampai gambar 3.6.
Gambar 3.2. Perancangan Conveyor.
Gambar 3.3. Posisi Conveyor Berjalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Gambar 3.4. Conveyor Dua Tampak Samping.
Gambar 3.5. Conveyor Satu Tampak depan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 3.6. Conveyor Dua Tampak Dari Samping.
3.2.2. Conveyor
Perancangan untuk conveyor terdiri dari kerangka conveyor, belt conveyor, gear
conveyor, besi as, rantai, motor penggerak conveyor, dan 2 buah papan penghubung.
Penggerak conveyor menggunakan motor DC 24 volt. Conveyor terbagi menjadi 2 bagian,
yaitu conveyor A dengan panjang 100 cm dan lebar 23 cm karena menurut saya itu ideal
karena tidak kependekan dan tidak kepanjangan dengan sebab itu saya mengambil ukuran
100 cm jika jarak terlalu dekat untuk komunikasi di conveyor B terlalu akan menumpuk
disatu kotak jika conveyor terlalu panjang nanti komunikasinya akan terlalu lama saya
memilih tinggi 35 cm karna dengan tinggi tersebut bisa dibuat menyesuaikan conveyor B.
Conveyor A dengan tiang penyangga webcam dengan 35 cm tiang ini juga dipasangi 3
photodioda yaitu photodioda 1 untuk menghentikan dan photodioda 2 dan 3 untuk mengukur
ketinggian bok jika jarak webcam sama conveyor terlalu berdekatan akan bersenggolan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
dengan photodioda dan jika terlalu tinggi hasil cropping akan terlalu jauh atau kecil
diketinggian 35 cm sudah maksimal karena hasil cropping sesuai yang diingikan dan
conveyor B dengan panjang 300 cm dan lebar 25 cm dengan tinggi 10 cm ukuran tersebut
sesuai dengan keinginan jika terlalu pendek akan susah untuk mengatur 5 kotak buat tempat
bok tersebut. Di conveyor B juga dipasangi 5 sensor photodioda untuk menempatkan kotak
yang berukuran tinggi 15 cm dengan luasan 20 cm x 20 cm yang akan ditempatkan dengan
program yang diinginkan dan 1 sensor limit switch untuk menghentikan di posisi semula lagi
conveyor. Fungsi bagian A adalah untuk membantu dalam memisah bok, sedangkan fungsi
bagian B adalah untuk membantu menempatkan box sesuai tempatnya. Conveyor ini
dirancang dengan menambahkan 2 buah sensor yang memiliki letak berbeda-beda. Sensor
yang dimiliki conveyor ini adalah sensor photodioda yang akan mendeteksi ketinggian bok,
saat bok terdeteksi maka putaran motor pada Conveyor akan berhenti, dan webcam untuk
mencari luasan bok tersebut. Conveyor B berfungsi untuk menempatan bok pada kotak –
kotak yang sudah disediakan.
Besi siku digunakan sebagai rangka untuk conveyor. Selain besi L, dua buah besi as
digunakan untuk menggerakkan belt conveyor yang ada pada masing-masing conveyor. Besi
as yang berperan untuk menggerakkan belt conveyor disambungkan dengan sebuah gear.
Pada motor DC juga dipasang pasangan gear. Belt digunakan untuk menghubungkan gear
conveyor dengan pasangan gear yang dipasang pada motor DC. Alas karpet sebagai belt
untuk dapat berputar dan paralon untuk membantu pergerakan besi as dan diluar paralon
dikasih amplas sebagai pengerat karpet belt. Disini ditambahkan juga mikrokontroller
digunakan untuk menjalankan sistem dan PC digunakan untuk menampilkan visualisasi
pengoperasian sistem. Diconveyor dua dikasih tambahan 5 sensor photdioda untuk mengatur
posisi berhenti kotak dan di beri sensor limit swicth untuk mengembalikan ke posisi semula.
3.3. Perancangan Perangkat Keras
3.3.1. Rangkaian Sensor Cahaya
Sistem ini menggunakan infrared sebagai pengirim dan photodioda sebagai penerima.
Akan dipasang 3 buah sensor yaitu sensor 1 untuk mengentikan conveyor yang bergerak jika
ada bok melintas pada sensor 1, bila sensor 2 terhalang oleh bok dengan ketinggian 5cm
maka bok terdeteksi bahwa tinggi box berukuran 5 cm saja akan dimasukan kekotak A dan B
tegantung ukuran luas bok tersebut, bila sensor 2 dan sensor 3 terhalang benda maka bok
terdeteksi bahwa tinggi bok berukuran 10 cm akan dimasukan kekotak C dan D tergantung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
ukuran luas bok tersbut dan bila sensor 2 terhalang box dan sensor 3 tidak terhalang maka
box dianggap bok tidak sesuai ukuran makan bok akan dimasukan kekotak E. Rangkaian
sensor cahaya dapat dilihat pada gambar 3.7.
Gambar 3.7. Rangkaian Sensor Photodioda.
Dengan nilai vcc sebesar 5 volt dan arus maksimal infrared 100mA, maka hambatan
dapat dihitung menggunakan rumus :
sehingga,
R =
= 50 Ω
Karena nilai resistor sebesar 50Ω tidak tersedia di pasaran dan agar infrared tidak
kelebihan arus,maka digunakan resistor sebesar 100 Ω. Sedangkan untuk nilai hambatan
sensor photodioda menggunakan resistor yang mengacu pada dasar teori 2.7 sehingga
Port A0 (ADC)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
diperoleh nilai hambatan antara 6,25 KΩ – 25 KΩ. Pada perancangan ini menggunakan
resistor 20 KΩ untuk sensor photodioda.
Output mikrokontroller ATmega32 memiliki arus yang kecil sehingga tidak bisa
digunakan untuk mengendalikan motor dc yang membutuhkan arus cukup besar. Oleh karena
itu dibutuhkan rangkaian external agar keluaran dari mikrokontroller dapat mengendalikan
motor dc.
3.3.2. Rangkaian Minimum System ATmega32
Rangkaian minimum system berfungsi sebagai I/O untuk mengontrol atau
mengendalikan driver motor dan photodioda yang telah diprogram dalam mikrokontroler
ATmega32 pada lengan robot serta sebagai pengolah data serial yang dikirimkan dari
komputer melalui USB to TTL converter. Mikrokontroler membutuhkan minimum system
yang terdiri dari rangkaian eksternal yaiturangkaian osilator dan rangkaian reset.
Untuk rangkaian osilator digunakan crystal dengan frekuensi sebesar 11,0592 MHz
dan menggunakan kapasitor 22 pf pada pin XTAL1 dan XTAL2 di mikrokontroler.
Rangkaian osilator ini berfungsi sebagai sumber clock bagi mikrokontroler. Pemberian
kapasitor bertujuan untuk memperbaiki kestabilan frekuensi yang diberikan oleh osilator
eksternal. Rangakain osilator dapat dilihat pada gambar 3.8.
Gambar 3.8. Rangkaian Osilator ATmega32 [8].
Perancangan rangkaian reset bertujuan untuk memaksa proses kerja pada
mikrokontroler dapat diulang dari awal. Saat tombol reset ditekan maka mikrokontroler
mendapat input logika rendah, sehingga akan me-reset seluruh proses yang sedang dilakukan
mikrokontroler. Rangkaian reset untuk ATmega32 dapat dilihat pada gambar 3.9.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 3.9. Rangkaian Reset ATmega32 [8].
Pada gambar 3.9 terdapat resistor yang memiliki resistansi sebesar 4,7 KΩ yang
difungsikan sebagai pull up.Resistor pull-up eksternal dapat digunakan untuk menjaga agar
pin reset tidak berlogika 0 secara tidak disengaja. Kapasitor10nF digunakan untuk
menghilangkan noise yang disusun seri dengan resistor. Rangkaian reset minimum
systemATmega32 merupakan gabungan dari rangkaia push-button dan low-pass filter.
3.3.3. Regulator dan Penguat Arus
Pada pembuatan tugas akhir ini, regulator digunakan sebagai pemberi daya pada
minimum system ATmega32dan motor dc. Regulator terdiri dari ic 7805, ic 7824, ic 2N3055,
kapasitor, dan diode. Ic 7805yang digunakan untuk regulator yaitu menggunakan untuk
memberikan daya pada minimum system ATmega32, sedangkanic 7824 digunakan untuk
memberikan daya pada motor dc. Dengan demikian maka digunakan transistor 2N3055 agar
arus keluaran ic 7805dan ic 7824 yang memiliki tegangan keluaran sebesar 5 volt dan 24volt
menjadi lebih besar. Perancangan regulator atau komponen dari rangkaian regulator
mengancu pada landasan teori.Rangkaian Regulator dapat dilihat pada gambar 3.10.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Gambar 3.10. A.Rangkaian Regulator 5v [4] dan B.Rangkian Regulator 24v [10].
3.3.4. Driver motor dc dengan limit switch.
Rangkaian driver motor DC menggunakan H-Bridge transistor yang dapat
mengendalikan arah putaran motor DC dari 2 arah dan dapat dikontrol dengan metode PWM
(pulse Width Modulation) maupun dengan metode sinyal logika dasar TTL (High) dan (Low).
Untuk pengendalian motor DC dengan menggunakan metode PWM maka dengan rangkaian
driver motor DC ini kecepatan putaran motor DC dapat dikendalikan dengan baik dan
apabila menggunakan metode logika TTL 0 dan 1 maka rangkaian ini hanya dapat
mengendalikan arah putaran motor DC saja dengan kecepatan putaran motor DC maksimum.
Rangkaian driver motor DC H-Bridge ini menggunakan rangkaian jembatan transistor 4 unit
dengan protesi impuls tegangan induksi motor DC berupa dioda dengan cara dipasang paralel
dengan masing-masing transistor secara reverse bias. Dengan menggunakan transistor tip
dikarenakan transistor ini dapat menghasilkan arus yang tinggi. Rangkaian ini juga ditambah
dengan limit switch agar saat berlawan jarum jam maka dapat dihentikan pada saat dititik
tertentu. Driver motor DC menggunakan TIP142 dengan arus maksimal 15A. Dapat dilihat
pada gambar 3.11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 3.11. Driver Motor DC [5].
3.3.5. Motor DC
Pada sistem ini, motor DC digunakan untuk menggerakkan conveyor. Motor1
digunakan untuk menggerakkan conveyor 1, motor2 digunakan untuk menggerakkan
conveyor 2. Motor DC 24v yang berkekuatan tinggi atau torsi besar dan rpm yang rendah.
3.3.6. Rangkaian Rellay
Rangkaian rellay untuk menyalakan motor di conveyor satu dan dua. Rellay juga
dihubungkan ke mikrokontroller untuk menyalakan motor sesuai dengan program. Dapat
dilihat pada gambar 3.12.
Gambar 3.12. Rangkaian Rellay
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
3.3.7. Benda Tiga Dimensi
Benda yang dapat dikenali oleh webcam yaitu bok atau berbentuk kotak dengan
menggunakan bahan styrofoam. Desain benda menggunakan autocad, dapat dilihat pada
gambar 3.12. dengnn ukuran masing-masing benda yaitu :
1. Bok1 : 16cm x 5cm (l x t).
2. Bok 2 : 16cm x 10cm (l x t).
3. Bok 3 : 32cm x 5cm (l x t).
4. Bok 4 : 32cm x 10cm (l x t).
5. Bok 5 : Tidak sesuai ukuran.
Gambar 3.13. Bentuk bok
3.4. Perancangan Perangkat Lunak (Software)
Pada perancangan perangkat lunak ini akan dibahas mengenai program kendali
conveyor secara keseluruhan diantaranya :
1) Flowchart program pengenalan luasan benda..
2) Perancangan GUI pada MATLAB.
Pada pembuatan flowchart ini digunakan software Code Vision AVR yang merupakan
suatu perangkat lunak untuk mem-program ic keluarga AVR menggunakan bahasa c. Pada
pembuatan flowchart program pengenalan bentuk benda akan dibahas dan dipaparkan
mengenai pembuatan program image processing dengan menggunakan metode Binery
dengan software MATLAB.
Secara keseluruhan sistem kerja pada perancangan tugas akhir ini dapat ditunjukan
flowchart pada gambar 3.14 dan 3.15. Cara kerja dari conveyor pemilah ukuran bok
bedasarkan luasan dan ketinggian bok ini yaitu mula-mula bok akan diletakan pada conveyor.
Ketika bok dideteksi oleh sensor photodioda yang artinya benda berada dibawah webcam dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
photodioda 2 sebagai sensor ketinggian bok 5 cm dan photodioda 3 sensor ketinggian 10 cm,
maka mikrokontroler ATmega32 akan mengirimkan suatu karakter secara serial kepada
laptop untuk menjalankan program image processing agar bok dapat dikenali. Setelah objek
dikenali, maka laptop melalui software MATLAB akan mengirimkan karakter secara serial
kepada minimum system ATmega32 untuk menggerakan motor conveyor ke 2. Conveyor
akan bergerak dan meletakan bok ke tempat yang sudah disediakan sesuai ukuran bok. Untuk
menentukan luasan 1 atau luasan 2 dengan akan dicroping melalui webcam dan untuk
mengetahui tinggi 1 atau tinggi 2 dengan dideteksi ketinggian memalui photodioda, jika
tinggi 1 akan dideteksi dengan photodioda 1 jika tinggi 2 akan dideteksi dengan photodioda 2
jika tinggi 1 tidak dan tinggi 2 tidak, maka akan masuk ke kotak tidak sesuai.
Rangkaian
photodioda
deteksi
adanya
wadah (1)
Port (1)
( 1 0 0 0 0 )
Rangkaian
photodioda
deteksi
adanya
wadah (2)
Port (2)
( 0 1 0 0 0 )
Rangkaian
photodioda
deteksi
adanya
wadah (3)
Port (3)
( 0 0 1 0 0 )
Rangkaian
photodioda
deteksi
adanya
wadah (4)
Port (4)
( 0 0 0 1 0 )
Rangkaian
photodioda
deteksi
adanya
wadah (5)
Port (5)
( 0 0 0 0 1 )
Bok tinggi
1
Bok tinggi
2
Bok tinggi
1
Bok tinggi
2
Bok tidak
sesuai
Bok
luasan
dua
Rangkaian
photodioda
conveyor pertama
mendeteksi
bok
Motor conveyor
kedua siagaMulai
Motor conveyor
pertama gerak
(aktif)
Motor conveyor
pertama berhenti
(5 detik)
Bok luasan
1atau Luasan
2
Bok
luasan
satu
Tidak
Ya
Tidak
Ya
Luasan 1
Luasan 2
Tinggi 1 Tinggi 2 Tinggi 1 Tinggi 2
AB
Webcam
mengenali
bok luasan 1
atau 2
Gambar 3.14. Flowchart keseluruhan sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Mulai
Motor conveyor
kedua gerak (aktif)
port (6)
Rangkaian
photodioda pada
conveyor kedua
deteksi adanya
wadah, maka
Motor conveyor
kedua berhenti
selama 5 detik
port (7)
Motor conveyor
pertama gerak (aktif)
selama 5 detik
Saat
sensor limit switch
mendeteksi adanya
wadah maka conveyor
kedua berhenti
Tombol
stop di
tekan ?
Tidak
Tidak
Ya
Ya
BA
Gambar 3.15. Flowchart lanjutan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
3.4.1. Flowchart Program Pengenalan Box Pada MATLAB
Program image processing diproses oleh software MATLAB. Cara kerja proses
secara keseluruhan yaitu mula-mula webcam harus dikenali terlebih dahulu oleh software
MATLAB. Setelah dikenali maka langkah selanjutnya yaitu mengambil gambar RGB benda
yang akan dikenali dan menonaktifkan webcam. Ketika gambar telah di capture, maka
langkah selanjutnya yaitu merubah gambar RGB tersebut menjadi gambar grayscale agar
gambar lebih mudah untuk diproses. Langkah selanjutnya yaitu proses cropping
(pemotongan), proses ini berfungsi untuk menentukkan bagian citra yang dibutuhkan untuk
proses selanjutnya sehingga untuk bagian citra yang tidak dibutuhkan akan dipotong atau
dihilangkan.
Setelah cropping, maka selanjutnya yaitu mengubah citra grayscale menjadi citra
biner agar bentuk benda dapat dikenali sesuai dengan yang diinginkan. Setelah itu kemudian
merubah ukuran piksel gambar menjadi lebih rendah. Selanjutnya akan menghitung luasan
box untuk didapatakan nilai luasan bok. Setelah semua proses sudah dilakukan, maka langkah
yang paling penting yaitu menghitung Look Up Table setelah itu reset atau distop atau
kembali keposisi semula. Flochart dapat diliat pada gambar 3.15.
mulai Capture
image
Ubah gambar rgb
menjasi gambar
greyxcale
Ubah gambar
greyscale menjadi
gambar biner
Hitung
luasan
Cropping
gambar biner
Reset Stop / exit
Reset stop
Ya
Ya
Tidak Tidak
Look Up Table
Gambar 3.16. Flowchart matlab.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
3.4.2 Perancangan GUI MATLAB
Tujuan pembuatan GUI (Graphical User Interface) yaitu agar mempermudah dalam
pengawasan program yang sedang terjadi atau dieksekusi. GUI memiliki peran yang sangat
baik karena dengan adanya GUI, pengguna akan dapat melihat apa yang sedang terjadi
didalam program seperti pemrosesan data dan lain-lain. Perancangan GUI yang akan dibuat
dapat ditunjukan pada gambar 3.16.
CAPTURE CAMERA
PROSES PENGAMBILAN DATA
DATA BINER
HASIL DETEKSI
DATA
DATA BINER
BOX 4
BOX 3
BOX 2
BOX 1
BOX 5
START
RESET
STOP
Gambar 3.17. Perancangan GUI pada MATLAB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
BAB IV
HASIL PENGAMATAN DAN PEMBAHASAN
Pada bab ini akan dibahas mengenai hasil pengamatan dari program Matlab sebagai
pemisah bok berdasarkan ukuran. Hasil pengamatan berupa data Matlab, data pengenalan
bentuk benda berdasarkan nilai citra biner, tingkat keberhasilan pengenalan objek, dan
tingkat keberhasilan conveyor ketika memilah ukuran bok ke tempat yang telah disiapkan
berdasarkan masing-masing bentuk.
4.1. Bentuk Fisik dan Sistem Kerja Conveyor
Perangkat keras conveyor terdiri atas conveyor satu dan dua yang dapat ditunjukan pada
gambar 4.1, minimum system ATmega32 dan port untuk motor dc, photodioda dan limit
switch yang ditunjukan pada gambar 4.2, rangkaian photodioda sebagai sensor dapat dilihat
pada gambar 4.3, rangkain motor driver sebagai pembalik motor agar bisa bolak – balik dapat
dilihat pada gambar 4.4, rangkaian relay sebagai pengerak motor dapat dilihat pada gambar
4.5, Semple bok ditunjukan gambar 4.6, dan tempat untuk menaruh bok dapat dilihat pada
gambar 4.7.
Gambar 4.1. Conveyor Satu dan Dua
Conveyor 2
Conveyor 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Gambar 4.2. Rangkaian Minimum System Gambar 4.3. Rangkaian Photodioda
Gambar 4.4. Rangkaian Motor Driver Gambar 4.5. Rangkaian Relay
Gambar 4.6. Sample bok Gambar 4.7. Tempat Untuk Bok
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Mekanisme dari sistem kerja conveyor adalah conveyor bekerja secara otomatis sesuai
dengan perintah yang telah diprogram. Proses yang terjadi ketika tombol power “ON” maka
pertama-tama conveyor 1 akan berjalan membawa bok yang saya letakan diatas conveyor
menuju tepat dibawah webcam dideteksi oleh sensor photodioda untuk mengukur ketinggian
bok. Ketika sensor photodioda terhalang oleh bok dan conveyor 1 akan berhenti sesaa untuk
mengukur ketinggian satu atau dua, maka mikrokontroler ATmega32 akan mengirimkan
karakter „a‟ secara serial melalui komunikasi serial USART. Kemudian laptop akan merima
karakter tersebut sebagai isyarat bahwa telah terdapat objek buah tepat dibawah webcam.
Proses selanjutnya yaitu GUI pada MATLAB yang berguna untuk proses pengenalan pola
bentuk bok akan secara otomatis menjalankan program tersebut. Setelah bentuk bok dikenali,
maka laptop akan mengirimkan sebuah karakter yang mendefinisikan bentuk buah. Karakter
„a‟ yang dikirim merupakan ukuran bok yang terdeteksi yaitu “bok satu”. Untuk karakter „b‟
yang dikirim merupakan ukuran bok yang terdeteksi yaitu “bok dua”. Untuk karakter „c‟ yang
dikirim merupakan ukaran bok yang terdeteksi yaitu “bok tiga”. Untuk karakter „d‟ yang
dikirim merupakan ukuran bok yang terdeteksi yaitu “bok empat”. Untuk Karakter „e‟ yang
dikirim merupakan ukuran bok yang bok yang tidak sesuai ukuran.
Setelah mikrokontroler ATmega32 menerima karakter dari Matlab tersebut, maka
conveyor 2 akan berjalan memindahkan tempat peletekan untuk peletakan bok sesuai dengan
ukuran yang dideteksi, kemudian conveyor 1 berjalan lagi untuk memindahkan bok tersebut
ke conveyor 2 untuk melakuakan peletakan sesuai dengan ukuran masing-masing ukuran bok
tersebut dan proses ini akan terus berlangsung hingga tombol pada GUI MATLAB ditekan
“STOP” atau catu daya pada posisi “OFF”
4.2. Penjelasan Program Aplikasi MATLAB
Pada sub bab ini,akan membahas tetang penjelasan sitem program software yang telah
dirancang,selain itu juga akan membahas interface serta penjelasan penggunaan sistem.
4.2.1. Penjelasan dan Langkah Awal Untuk Program Pengenalan Ukuran
Bok
1. Membuka software Matlab, dengan cara klik dua kali pada gambar icon
Matlab. Setelah itu akan muncul tampilan awal Matlab seperti pada gambar 4.8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Gamabar 4.8. Menu Matlab
2. Setelah muncul tampilan utama dari Matlab, langkah selanjutnya untuk
menjalankan program pengenalan yaitu dengan mengganti current folder
dengan directory tempat program pengenalan ini disimpan. Setelah itu
mengetik guide pada command window dan akan muncul tampilan guide
quick start seperti pada gambar 4.9. Kemudian pilih nama file program yang
akan dijalankan untuk membuka interface dari program tersebut.
Gambar 4.9. Tampilan Guide Quick Start
3. Tentukan file guide yang akan dijalankan, setelah itu klik open maka akan
muncul tampilan untuk meng-edit yang akan dijalankan seperti pada gambar
4.10, kemudian klik run untuk menjalankan program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.10. Tampilan GUI Pengenalan Bentuk Bok
4. Langkah selanjutnya untuk menjalankan program pengenalan yaitu dengan
pilih file program dan dijalankan melalui di run. Dapat dilihat pada gambar
4.11.
Gambar 4.11. Tampilan Program Setelah di RUN
5. Setelah program selesai maka di run akan muncul tampilan GUI di run akan
muncul tampilan GUI MATLAB dan dari tampilan GUI gunanya untuk
mengambil mejalankan program, tombol yang digunakan start, reset, dan stop.
Dapat dilihat pada gambar 2.12.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Gambar 4.12. Tampilan GUI MATLAB
4.2.2. Penjelasan Program MATLAB
4.2.2.1. Tampilan GUI MATLAB
GUI (Graphical User Interface) yaitu suatu tampilan yang berfungsi untuk
mempermudah dalam pengawasan program yang sedang dieksekusi. GUI memiliki peran
yang sangat baik karena dengan adanya GUI, pengguna akan dapat melihat apa yang sedang
terjadi didalam program seperti pemrosesan data dan lain-lain. Tampilan GUI yang dibuat
dapat dilihat pada gambar 4.13.
Gambar 4.13. Tampilan GUI Matlab
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Terdapat beberapa fasilitas pada tampilan GUI yang digunakan yaitu axes, edit text,
popupmenu, dan push button. Fasilitas axes berfungsi menampilkan gambar, grafik, ataupun
diagram. Axes berfungsi menampilkan gambar dari buah dan ekstraksi ciri buah. Selain axes,
terdapat fasilitas edit text yang berfungsi untuk menampilkan jumlah buah yang telah
terdeteksi, menampilkan nama buah terdeteksi, dan menampilkan hasil deteksi sistem.
Sedangkan popupmenu berfungsi menampilkan daftar pilihan PORT komunikasi yang
digunakan untuk melakuan komunikasi serial antara laptop dan mikrokontroler. Bagian yang
terakhir yaitu push button. Push button berfungsi sebagai sebuah tombol yang digunakan
untuk mengontrol suatu program yang akan diekseusi dengan cara diklik. Tombol
pushbotton1 adalah tombol start yang berfungsi untuk memulai proses dan meng-capture
objek dari webcam, tombol pushbutton2 adalah tombol reset yang berfungsi untuk me-reset
system apabila user melakukan kesalahan atau akan melakukan pengenalan yang lain. Dan
tombol pushbotton3 adalah tombol stop yang berfungsi mengakhiri proses program.
4.2.2.2. Inisialisasi Komunikasi Serial
Sebelum menghubungkan laptop dengan mikrokontroler Atmega32, maka pada
bagian program MATLAB harus di inisialisasi terlebih dahulu. Hal ini dikarenakan pada
bagian laptop dengan mikrokontroler harus memiliki baudrate yang sama. Jika kedua
perangkat tidak memiliki baudrate yang sama, maka sudah dapat dipastikan kedua perangkat
ini tidak akan dapat berkomunikasi satu sama lainnya. Program inisialisasi komunikasi serial
dapat dilihat pada gambar 4.14.
Gambar 4.14. Listing Program Inisialisasi Komunikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
4.2.2.3. Inisialisasi Webcam
Untuk melakukan proses pengolahan citra, maka dibutuhkan perangkat keras berupa
kamera atau webcam. Oleh karena itu, maka diperlukannya proses inisialisasi perangkat keras
tersebut agar dapat dikenali oleh Matlab. Inisialisasi webcam dapat dilihat pada listing
program dapat dilihat pada gambar 4.15.
Gambar 4.15. Listing Program Inisialisasi Webcam
Untuk melakukan proses pengolahan citra, maka dibutuhkan perangkat keras berupa
webcam. Oleh karena itu, maka diperlukannya proses inisialisasi perangkat keras tersebut
agar dapat dikenali oleh Matlab. Perintah program “winvideo” adalah perintah program untuk
menginisilasi webcam agar bekerja pada laptop dengan processor windows dan kemudian
informasi tersebut akan diinisialisasi ke dalam program. Hal ini bertujuan agar webcam
dengan software Matlab dapat melakukan komunikasi. „YUY2_640x480‟ format webcam
yang digunakan.
4.2.2.4. Proses Pengenalan Citra
Proses pengolahan citra merupakan suatu proses untuk mengolah suatu kualitas
gambar atau citra yang telah diambil kamera atau webcam agar gambar tersebut dapat
dikenali dan memiliki nilai-nilai tertentu. Nilai-nilai yang telah didapat kemudian diproses
untuk mengklasifikasikan gambar-gambar tertentu. Proses secara berurutan yaitu mula-mula
gambar diambil kemudian gambar yang telah diambil diproses dan diubah menjadi gambar
grayscale dengan tujuan untuk mempermudah dalam pemrosesan. Langkah selanjutnya yaitu
mengubah citra grayscale menjadi citra biner, hal ini dikarenakan saat pengenalan bentuk
benda menggunakan metode citra biner. Setelah citra biner, Kemudian langkah terakhir yaitu
proses penjumlahan data nilai citra biner yang telah dipotong menjadi sebuah nilai. Proses
pengolahan citra ditunjukan pada listing program dapat dilihat pada gambar 4.16.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Gambar 4.16. Proses Pengolahan Citra
4.2.2.5. Proses Pengenalan Bentuk Benda
Berdasarkan percobaan kalibrasi setiap bok, maka dibuat sebuah range yang
menentukan bentuk benda tersebut. Untuk bok 1 range data yang digunakan yaitu antara 75 -
95, sedangkan untuk bok 2 range data yang digunakan yaitu antara 96 -120, kemudian untuk
bok 3 range data yang digunakan yaitu antara 290 - 325, untuk bok 4 range data yang
digunakan yaitu antara 335 – 355 dan untuk bok tidak sesuai diluar range yang sudah
ditentukan diatas. Dari data tersebut, maka dapat dibuat range nilai untuk mengetahui dan
mengenali dari masing-masing bentuk benda. Dapat mengambil range nilai untuk masing-
masing bok dengan mengantur saat kalibarasi untuk mententukan setiap range bok, karena
kalau tidak begitu tidak dapat mengambil data. Listing program dapat dilihat pada gambar
4.17.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Gambar 4.17. Listing Program Pengenalan Bentuk Benda
Proses berjalannya program jika data memiliki nilai antara 75 - 95 maka akan tampil
pada “edit7” benda yang terdeteksi yaitu bok 1, kemudian menjumlahkan nilai bok 1 yang
terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit1” lalu
mengirimkan karakter „a‟ secara serial. Jika data memiliki nilai antara 96 -120 maka akan
tampil pada “edit7” benda yang terdeteksi yaitu bok 2, kemudian menjumlahkan nilai bok
yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit2” lalu
mengirimkan karakter „b‟ secara serial. Jika data memiliki nilai antara 290 – 325 maka akan
tampil pada “edit7” benda yang terdeteksi yaitu bok 3, kemudian menjumlahkan nilai bok 3
yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit3” lalu
mengirimkan karakter „c‟ secara serial. Jika data memiliki nilai antara 335 – 355 maka akan
tampil pada “edit6” benda yang terdeteksi yaitu bok 4, kemudian menjumlahkan nilai bok 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit4” lalu
mengirimkan karakter „d‟ secara serial. Apabila data tidak berada didalam range bok 1, 2, 3
dan 4 maka akan juga tampil pada “edit6” benda yang terdeteksi yaitu bok tidak sesuai,
kemudian menjumlahkan nilai bok tidak sesuai yang terdeteksi sebanyak 1 dan hasil
penjumlahan tersebut ditampilkan pada “edit5” lalu mengirimkan karakter „e‟ secara serial.
4.2.3. Penjelasan Program AVR
Dijelaskan masing-masing fungsi pada listing program yang menggunakan software
CodeVision AVR diantaranya program pengendali sensor photodioda menggunakan fasilitas
ADC (Analog to Digital Converter), program untuk komunikasi serial menggunakan USART
(Universal Synchronous Asynchronous Receiver Transmiter).
4.2.3.1. Pengendali Sensor Photodioda
Program pengendali sensor photodioda menggunakan fasilitas yang dimiliki oleh
mikrokontroler ATmega32 yaitu ADC (Analog to Digital Converter). Fungsinya yaitu untuk
mengubah tegangan analog menjadi tegangan digital. Tegangan digital tersebut akan
digunakan untuk mengontrol conveyor untuk membawa bok.
Pada listing program yang ditunjukan gambar 4.17, digunakan read_adc(0) yang
artinya menggunakan PORTA.0 sebagai PORT masukan untuk mengubah tegangan analog
menjadi tegangan digital. Pada bagian sensor= read_adc(0)/2 maksud dari pembagian 2 yaitu
agar nilai desimal ADC maksimal yaitu 1023 dibagi 2 yaitu 511. Sehingga apabila tegangan
masukan 0 Volt sampai 5 Volt, akan diubah melalui ADC menjadi 0 desimal hingga 511
desimal. Listing program dapat dilihat pada gambar 4.18.
Gambar 4.18. Listing Program Pengendali Conveyor
Pada bagian listing program gambar 4.18, fungsinya yaitu untuk mengendalikan
motor penggerak conveyor yang dikontrol menggunakan PORTB.0. Terdapat nilai 200 pada
bagian “if (sensor>=200)” ini dimaksudkan untuk membuat PORTB.0 bernilai “0” jika nilai
sensor lebih besar sama dengan dari 200 desimal ADC. Hal ini berarti menyebabkan motor
pada conveyor berhenti berputar. Jika kondisi sensor kurang dari 200, maka motor conveyor
akan terus berputar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
4.2.3.2. Pengendali Komunikasi USART
Pada bagian ini berfungsi sebagai komunikasi serial USART untuk menghubungkan
antara mikrokontroler ATmega32 dengan laptop. Baudrate yang digunakan yaitu 9600 bps.
Fungsi “getchar()” yaitu untuk menerima karakter dari laptop ke mikrokontroler. Sedangkan
fungsi “putchar()” yaitu untuk mengirimkan suatu karakter kepada laptop. Listing program
dapat dilihat pada gambar 4.19.
Gambar 4.19. Listing Program Komunikasi USART
4.2.3.3. Pengendali Motor DC
Program pengendali motor menggunakan interrupt sebagai pembangkit pulsa untuk
menghitung kotak yang lewat. Listing program pengendali motor dapat dilihat pada gambar
4.20.
Gambar 4.20. Listing Program Pengendali Putaran Motor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Gambar 4.21. Insisialisasi Program
Pada gambar 4.21 yaitu inisialisasi nama port ini, untuk mempermudah pemanggilan.
Jika motor 1 aktif maka portb.0 akan aktif, jika motor 2 aktif maka portb.1 juga aktif begitu
juga motor 3 atif portb.2 akan aktif. Kodisi nilai count artinya adalah jika nilai count lebih
kecil dari pada kotak maka conveyor dua akan jalan kalau nilai count sudah sama makan
conveyor dua akan berhenti dan conveyor saatu akan bergerak maju.
Gambar 4.22. Pemberian Nilai count
Listing Program yang ditunjukan pada gambar 4.22, untuk menambah data, setiap
interrupt aktif maka data akan berubah, setelah nilai data dan kotak sama motor 2 akan
berhenti.
Nilai dapat dilihat pada gambar listing program untuk nilai kotak 4.23, jika laptop
mengirimkan karakter a maka kotak 1, jika laptop mengirimkan karakter b maka kotak 2, jika
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
laptop mengirimkan karakter c maka kotak 3, jika laptop mengirimkan karakter d maka kotak
d dan jika laptop mengirimkan karakter e maka kotak 5 atau tidak sesuai.
Gambar 4.23. Pemberian Nilai Kotak
4.2.3.4. Subrutin Program
Pada bagian ini akan dibahas mengenai program utama yang akan dieksekusi secara
terus menerus karena terdapat didalam fungsi while. Listing program dapat dilihat pada
gambar 4.24.
Gambar 4.24. Program Utama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Karakter 'a' yang dikirim laptop merupakan karakter yang mendeskripsikan bahwa
bok yang terdeteksi merupakan bok satu, sedangkan karakter 'b' yang dikirim laptop
merupakan karakter yang mendeskripsikan bahwa bok yang terdeteksi merupakan bok dua,
sedangkan karakter 'c' yang dikirim laptop merupakan karakter yang mendeskripsikan bahwa
bok yang terdeteksi merupakan bok tiga, kemudian nilai karakter 'd' yang dikirim laptop
merupakan karakter yang mendeskripsikan bahwa bok yang terdeteksi merupakan bok empat
dan untuk nilai karakter 'e' yang dikirim laptop merupakan karakter yang mendeskripsikan
bahwa bok yang terdeteksi merupakan bok tidak sesuai ukuran atau tidak sesuai ukuran.
Subrutin yang terdapat didalam “while(1)” akan dieksekusi secara terus menerus
hingga power “OFF” atau tombol reset ditekan. Hal ini dikarenakan didalam kurung while
diberi angka “1” yang berarti bernilai true atau akan dieksekusi secara terus menerus.
4.3. Pengujian Nilai Citra Biner Berbentuk Bok
Pengujian nilai citra biner dari masing-masing bentuk bok dimaksudkan untuk
mengetahui data citra biner dari masing-masing bentuk bok yang akan diproses dan dikenali.
Dilakukan sebanyak 10 kali percobaan dari masing-masing bok. Dari pengujian tersebut,
diperoleh tabel 4.1 sebagai berikut
4.3.1. Pengujian Pengenalan Ukuran Bok
Percobaan Percobaan variasi cahaya bertujuan untuk melihat pengaruh cahaya
terhadap tingkat pengenalan. Pengujian ini dilakukan dengan beberapa langkah, yaitu :
1. Melakukan dengan 4 macam ukuran bok dan 1 ukuran bok tidak sesuai.
2. Melakukan dengan cara mengeser – geser bok untuk mengambil data untuk nilai
biner dari hasil capture bok.
3. Capture dilakukan dengan jarak 55cm dari webcam ke objek bok.
4. Cara mengambil data ini dengan cara program komunikasi dibuka, mula – mula
conveyor satu jalan lalu photodioda menghentikan laju conveyor satu lalu
komunikasi lalu webcam capture gambar lalu Matlab kirim karakter
kemikrotroller lalu akan diolah untuk menjalankan conveyor dua dan conveyor
dua akan berhenti sesuai karakter yang dikirim lalu conveyor satu jalan untuk
menurunkan ke conveyor dua akan diterima lalu kembali lagi ke posisi semula.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Tabel 4.1. Data Citra Biner Masing-Masing Bentuk Bok
NILAI DATA
Pengambilan
Data ke-
BOK 1 BOK 2 BOK 3 BOK 4
1 84 100 292 340
2 86 105 295 339
3 87 102 292 342
4 85 105 295 342
5 87 100 293 345
6 86 107 293 339
7 86 105 292 348
8 91 106 295 346
9 92 103 292 348
10 89 105 290 340
Rerata 87,1 103,8 292.9 342,9
Dengan ukuran bok dibawah ini:
a. Bok 1 : 16cm x 5cm (l x t).
b. Bok 2 : 16cm x 10cm (l x t).
c. Bok 3 : 32cm x 5cm (l x t).
d. Bok 4 : 32cm x 10cm (l x t).
e. Bok 5 : Tidak sesuai ukuran.
Hasil pengujian pada Tabel 4.1 merupakan hasil pengujian pengenalan bentuk bok
berdasarkan variasi nilai biner. Hasil pengujian variasi nilai biner memperlihatkan bahwa
nilai bok naik turun karena mengambil data dengan varisasi dengan cara meletakan secara
tidak sama dengan putaran agar bisa dicapture saat diatas conveyor biar mendapatkan hasil
yang sesuai dan grafik dapat dilihat pada gambar 2.25.
Gambar 4.25. Grafik Data Biner Berdasarkan Tabel 4.1.
0
200
400
600
800
1000
1 2 3 4 5 6 7 8 9 10
Grafik pengambilan data
BOX 4
BOX 3
BOX 2
BOX 1
Pengambilan data 1-10
Nila
i bin
er
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Range data yang digunakan sengaja dibuat lebih dengan alasan untuk mengantisipasi
apabila data yang terdeteksi lebih besar atau lebih kecil dari data yang telah diambil sampel
nya.
4.3.2. Pengujian Keberhasilan Sistem Mendeteksi Bok
Tabel 4.2. Pengujian Keberhasilan Sistem Mendeteksi Bok.
PENGUJIAN KEBERHASILAN SISTEM MENDETEKSI BENTUK
BENDA
Pengambilan Data ke - 1 2 3 4 5 6 7 8 9 10
BOK 1 V V V V V V V V V V
BOK 2 V V V V V V V V V V
BOK 3 V V V V V V V V V V
BOK 4 V V V V V V V V V V
Keterangan : V(Berhasil) X(Tidak Berhasil)
Tabel 4.2 adalah hasil data percobaan benda yang berhasil dipilah oleh conveyor
sebanyak sepuluh kali percobaan tiap masing-masing benda yaitu bok 1, bok 2, bok 3, bok 4
dan bok tidak sesuai. Cara kerjanya adalah bok di taruh diatas conveyor satu lalu conveyor
berjala lalu photodioda menghentikan laju conveyor untuk mengambil gambar melalui
webcam dan diolah metlab lalu matlab. Matlab akan mengirimkan karakter ATmega 32
kemudian menjalankan conveyor dua dan dimasukan kekotak diatas conveyor dua yang
sesuai dengan benda kotak dan proses ini berlaku sama untuk bok 1, bok 2, bok 3, bok 4 dan
bok tidak sesuai. Dari hasil pengambilan data sebanyak sepuluh kali tersebut conveyor ini
sudah memiliki tingkat keberhasilan 90%.
Motor yang dipakai untuk menggerakan conveyor pertama menggunakan
tegangan sebesar 12v sehingga gerakkan yang dihasilkan oleh conveyor pertama tidak terlalu
pelan. Berdasarkan percobaan, jika menggunakan tegangan lain misalnya 24v maka benda
yang mau dikenali akan kesulitan untuk dikenali oleh webcam dikarenakan bok saat berada
diatas conveyor pertama tidak bisa berhenti tepat dibawa webcam sehingga webcam salah
melakukan pengidentifikasi benda. Jika menggunakan tegangan dibawa 12v maka gerakkan
conveyor akan sangat lambat sehingga membutuhkan waktu yang lama dalam proses
pengenalan bentuk dan warna benda. Conveyor dua menggunakan tegangan 24v untuk
menggerakan kedua motor dc tersebut kekiri kekanan. Berdasarkan percobaan apabila
conveyor dua menggunakan tegangan dibawa 24v maka motor dc tidak bisa aktif bergerak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Pada tugas akhir ini, dilakukan analisa tingkat keberhasilan saat proses pengenalan
objek berbentuk bok 1, bok 2, bok 3, bok 4 dan bok tidak sesuai. Namun apabila terdapat
benda selain benda tersebut yang memiliki data sesuai range yang telah ditentukan
sebelumnya percobaan dimulai akan ada kalibrasi program, maka sistem akan tetap
membandingkan dengan range yang ada. Tingkat keberhasilan sistem ditunjukan tabel 4.2,
pengambilan data tidak secara berurutan dan gambar benda yang terdeteksi. Percobaan
pertama untuk pengambilan data bok ukuran satu dapat dilhat pada gambar 2.26, percobaan
kedua untuk pengambilan data bok ukuran dua dapat dilhat pada gambar 4.27, percobaan
ketiga untuk pengambilan data bok ukuran tiga dapat dilhat pada gambar 4.28 , percobaan
keempat untuk pengambilan data bok ukuran empat dapat dilhat pada gambar 4.29, dan
percobaan bok tidak sesuai ukuran dapat dilhat pada gambar 4.30. Pada percobaan ini
mengambil data secara acak atau tidak berurutan dan saat pemgambilan data tidak dapat
menampilkan hasil capture, dikarenakan saat pengambilan data ini program komunikasi
dimatlab terbuka dan kalau program komunikasi terbuka maka tidak dapat menampilkan hasil
capture. Jika program komunikasi ditutup maka akan menampilkan hasil capture dan
conveyor tidak bisa berjalan secara otomatis.
Gambar 4.26. Hasil Deteksi Bok 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Gambar 4.27. Hasil Deteksi Bok 2
Gambar 4.28. Hasil Deteksi Bok 3
Gambar 4.29. Hasil Deteksi Bok 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Gambar 4.30. Hasil Deteksi Bok Tidak Sesuai.
4.3.4. Hasil Pengukuran Sensor Photodioda
Bedasarkan tabel 4.3, untuk mengukur tengangan ini melalui multimeter, seharusnya
photodioda bisa berjalan untuk mendeteksi ketinggian tetapi saat dicoba melalui program
mikrokontroller belum dapat berjalan kemungkinan besar di program mikrokontroller belum
sesuai atau error, dikarenakan rangkaian sensor masih ada yang salah. Untuk alternatif lain
untuk ketinggian ditampilkan di GUI Matlab untuk dapat melihat ketinggian satu atau dua.
Tabel 4.3. Hasil Pengukuran Sensor Photodioda.
Kondisi Photodioda Tinggi 1 (V) Tinggi 2 (V)
Tidak terhalang 0,2V 0,3V
Terhalang 4,1V 4,5V
4.4 Analisis
4.4.1. Pembahasan Mekanik
a. Pada bagian mekanik alat conveyor ini belum sepenuhnya berhasil dioperasikan
secara otomatis dikarenakan penulis memperolehi kesulitan di conveyor dua sering
mati sendiri
b. Pada conveyor dua sering tidak mau jalan karena belt sering kendor bahkan sampe
lepas. Bahan belt molor dan dapat menimbulkan putaran pada conveyor dua sering
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
lepas tidak mau berputar. Conveyor dua juga ada masalah dibagian kabel motor,
karena kabel motor sering putus atau terbakar.
c. Sumber tegangan yang digunakan untuk menghidupkan conveyor diperolehi dari
inverter yang menghasilkan tegangan 24v kemudian disambungkan ke regulator 12v
kemudian digunakan untuk mengaktifkan motor dc serta komponen-komponen
pendukung lainnya.
d. Conveyor ini bisa dioperasikan namun secara otomatis yaitu conveyor pertama
digerakan dengan memanfaatkan relay 5v sebagai saklar dan conveyor kedua juga
menggunakan relay 5v agar dapat mengerakan conveyor.
4.4.2. Pembahasan Software
Pada tugas akhir ini software yang digunakan antara lain:
a. Pada program ATMega32 belum bisa karena program photodioda belum
sesuai yang diinginkan masih sering error, belum mau mendeteksi benda bok
yang lewat.
b. Program matlab R2010a digunakan untuk menunjukkan benda bok tersebut
dapat menampilkan hasil biner dari luasan bok masing - masing. Selain itu,
program ini juga mampu melakukan perhitungan berapa banyak bok yang
telah terdeteksi dan program ini masih ada kekurangan yaitu belum bisa
menampilkan hasil capture.
c. Untuk program mikrokontroller dan matlab sudah bisa saling berkomunikasi
dan saling mengirikan karakter.
d. Proses pembuatan PCB juga menggunakan Proteus ISIS 7.1 SPO (Build
12325). Jenis komponen yang digunakan sampai desain rangkaian sudah
dirancang dengan baik, selanjutnya membuat rangkaian PCB hingga rapi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil pengujian serta pengambilan data pada aplikasi pengenalan objek untuk
conveyor pemisah bok berdasarkan ukuran, dapat diambil kesimpulan:
1. Pada bagian mekanik alat conveyor ini belum sepenuhnya berhasil
dioprasikan secara otomatis.
2. Sistem dapat mengenali bok ketika dilakukan proses pengidentifikasi bentuk
bok.
3. GUI Matlab belum bisa menampilkan hasil capture gambar.
4. Sistem sudah mampu mengenali bentuk bok dan berhasil menampilkan jumlah
counting jumlah bok terdeteksi.
5. Posisi bok dapat mempengaruhi pendeteksian bok.
6. Metode pengenalan bentuk dengan menggunakan nilai citra biner pada
masing-masing luasan bok sudah sepenuhnya mampu berfungsi sesuai dengan
rencana.
7. Masih ada masalah dibagian photodioda belum mampu mengenali ketinggian
bok.
5.2. Saran
Saran-saran bagi pengembangan selanjutnya adalah:
1. Menyiapkan lebih banyak lagi variasi ukuran bok serta, agar dalam proses
membandingkan tingkat keakuratan nilai biner dimana nilai range telah
ditentukan.
2. Peletakan dan posisi bok harus sesuai dengan batasan masalah.
3. Waktu sistem untuk proses pengenalan objek dibuat lebih cepat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Daftar Pustaka
[1] Irvan Hasan., 2015, Aplikasi Pengenalan Objek Untuk Lengan Robot Pemisah Benda
Berdasarkan Bentuk Benda, Tugas Akhir, Jurusan Tenik Elektro, FST, Universitas
Sanata Dharma, Yogyakarta,
[2] Perawatan belt conveyor
http://www.informasi-training.com/perawatan-belt-conveyor, diakses pada tanggal 23
febuari 2016
[3] Belt conveyor
http://id.shvoong.com/social-sciences/education/2224369-belt-
conveyor/#ixzz1oYwm5n2, diakses pada tanggal 23 maret 2016
[4] Motor dc
http://staff.ui.ac.id/system/files/users/chairul.hudaya/material/dcmotorpaperandqa.pdf
diakses pada tanggal 23 mei 2016
[5] Driver motor dc h-bridge transistor
http://elektronika-dasar.web.id/driver-motor-dc-h-bridge-transistor/, di akses pada
tanggal 18 febuari 2016.
[6] mit switch dan saklar push on
http://elektronika-dasar.web.id/limit -switch-dan-saklar-push-on/, diakses pada
tanggal 3 mei 2016
[7] Agus Bejo, 2008, C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokonroler
ATMEGA8535, 1st ed, GRAHA ILMU, Yogyakarta.
[8] ----, 2011,Data Sheet Mikrokontroler ATmega32, Atmel.
[9] Adrianto, H., 2008, Pemrograman Mikrokontroler AVR ATMEGA 16, 1st
ed,
INFORMATIKA, Bandung.
[10] Heryanto, M.A., ST., Ir. Wisni Adi P., 2008, Pemrograman Bahasa C untuk
Mikrokontroler ATMEGA32, 1st
ed, C.V ANDI OFFSET, Yogyakarta.
[11] Boylestad, R. and Nashelsky. L., Electronic Devices and Circuit Theory, seventh
edition, Prentice Hall, New Jersey Columbus, Ohio.
[12] Hd webcam c170h
http://www.logitech.com/en-in/product/hd-webcam-c270h ,diakses pada tanggal 25
april 2016.
[13] Aplikasi pengenalan objek untuk lengan robot pemisah benda berdasarkan bentuk
benda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
[14] Putra, D., 2010, Pengolahan Citra Digital, Andi Offset, Yogyakarta.
[15] Wijaya, M.Ch., dan Prijono, A., 2007, Pengolahan Citra Digital Menggunakan
MATLAB, Informatika, Bandung.
[16] ---, 2013, Data sheet Ic LM7805
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
PC6/TOSC128
PC527
PC426
PC325
PC224
PC1/SDA23
PC0/SCL22
PC7/TOSC229
PA6/ADC634
PA5/ADC535
PA4/ADC436
PA3/ADC337
PA2/ADC238
PA1/ADC139
PA0/ADC040
PA7/ADC733
PB6/MISO7
PB5/MOSI6
PB4/SS5
PB3/AIN1/OC04
PB2/AIN0/INT23
PB1/T12
PB0/T0/XCK1
PB7/SCK8
PD6/ICP120
PD5/OC1A19
PD4/OC1B18
PD3/INT117
PD2/INT016
PD1/TXD15
PD0/RXD14
PD7/OC221
RESET9
XTAL113
XTAL212
AVCC30
AREF32
U1
ATMEGA8535
VI1
VO3
GN
D2
U27805
D1
1N4001
C1100uF
C2100uF
Regulator Tegangan
5V DC
Saklar
R1330
D2
LED
X1
CRYSTAL
C422pF
C522pF
R24k7
C61uF
1
2
3
4
10
9
8
7
5 6
J4
CONN-DIL10
Downloader
1
2
3
4
5
6
7
8
J5
CONN-SIL81
2
3
4
5
6
7
8
J6
CONN-SIL8
1
2
3
4
5
6
7
8
J7
CONN-SIL8
1
2
3
4
5
6
7
8
J8
CONN-SIL8
GND+5VMOSI
ResetSCKMISO
DC Source
1 2 3 4
10
9 8 7
56
J1CONN-DIL10
+VDC
GND
1 2 3 4
8 7 6 5
J2CONN-DIL8
1
2
3
J3
CONN-SIL3
1
2
3
J9
CONN-SIL3
1 2 3
J10CONN-SIL3
Push Button
PB
PD PC
PA
ARev
1
2
3
J11
CONN-SIL3
R7100R
R825k
R1620k
R15100RR11
100R
R9100R
R1025k
R1225k
D8PHOTODIODE
D7IR
D16PHOTODIODE
D15IRD9
IR
D10PHOTODIODE
D11IR
D12PHOTODIODE D13
IR
D14PHOTODIODE
R13100R
R1420k
1
2
3
4
5
6
7
8
J1
PORT C
1
2
3
4
5
6
7
8
J2
PORT B
R5100R
R620K
D5iR
D6photo
D4PHOTO
D3IR
D1IR
D2PHOTO
R220k
R420k
R1100R
R3100
1
J3
PORT D.2
1
J4
CONN-SIL1
Q1TIP142
Q2
TIP142
Q3TIP142
Q4
TIP142
R2
1k4
R3
1k4
R4
1k4
R5
1k4
1
2
J1
TBLOCK-I2
1
J2
CONN-SIL1
1
J3
CONN-SIL1
D1
1N5402
D21N5402
D31N5402
D41N5402
12
J4TBLOCK-I2
1
2
J5
TBLOCK-I2
Motor
VCC
GND
PD.0
PD.1 C43300uF
C6100uF
VI1
VO3
GN
D2
U47824
Q62N3055
D41N4002
R18
330
A B
BR1
KBPC802
1
2
J1
TBLOCK-I2
Rangkaian Minimum System ATmega32 Rangkaian Untuk Sensor
Driver Motor Rangkaian Regulator
Rangkaian Reset ATmega32 Rangkaian Osilator ATmega32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
Spesifikasi Webcam Logitech C170h [12]
Webcam Logitech C170h [15]
Penaik Tegangan Step Up 5v
Motor Dc 24v, 2A
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
LISTING PROGRAM GUI MATLAB
function varargout = realtime(varargin)
% REALTIME MATLAB code for realtime.fig
% REALTIME, by itself, creates a new REALTIME or raises the existing
% singleton*.
%
% H = REALTIME returns the handle to a new REALTIME or the handle to
% the existing singleton*.
%
% REALTIME('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in REALTIME.M with the given input
arguments.
%
% REALTIME('Property','Value',...) creates a new REALTIME or raises
the
% existing singleton*. Starting from the left, property value pairs
are
% applied to the GUI before realtime_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to realtime_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help realtime
% Last Modified by GUIDE v2.5 26-Feb-2017 16:49:23
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @realtime_OpeningFcn, ...
'gui_OutputFcn', @realtime_OutputFcn, ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before realtime is made visible.
function realtime_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to realtime (see VARARGIN)
% Choose default command line output for realtime
clc;
cla;
set(handles.edit10, 'String','0' );
set(handles.edit11, 'String','0');
set(handles.edit12, 'String','0' );
set(handles.edit13, 'String','0' );
set(handles.edit8, 'String','' );
set(handles.edit9, 'String','' );
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
% UIWAIT makes realtime wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = realtime_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit5_Callback(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit5 as text
% str2double(get(hObject,'String')) returns contents of edit5 as a
double
% --- Executes during object creation, after setting all properties.
function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit6_Callback(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit6 as text
% str2double(get(hObject,'String')) returns contents of edit6 as a
double
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L8
% --- Executes during object creation, after setting all properties.
function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a
double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L9
end
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit2 as text
% str2double(get(hObject,'String')) returns contents of edit2 as a
double
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text
% str2double(get(hObject,'String')) returns contents of edit3 as a
double
% --- Executes during object creation, after setting all properties.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L10
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit4_Callback(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit4 as text
% str2double(get(hObject,'String')) returns contents of edit4 as a
double
% --- Executes during object creation, after setting all properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L11
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1
contents as cell array
% contents{get(hObject,'Value')} returns selected item from
popupmenu1
contents = get(hObject,'Value');
switch contents
case 1
handles.PORT='COM1';
case 2
handles.PORT='COM2';
case 3
handles.PORT='COM3';
case 4
handles.PORT='COM4';
case 5
handles.PORT='COM5';
case 6
handles.PORT='COM6';
case 7
handles.PORT='COM7';
case 8
handles.PORT='COM8';
case 9
handles.PORT='COM9';
case 10
handles.PORT='COM10';
case 11
handles.PORT='COM11';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L12
case 12
handles.PORT='COM12';
case 13
handles.PORT='COM13';
case 14
handles.PORT='COM14';
case 15
handles.PORT='COM15';
end
guidata(hObject,handles);
% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on selection change in popupmenu2.
function popupmenu2_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu2
contents as cell array
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L13
% contents{get(hObject,'Value')} returns selected item from
popupmenu2
% --- Executes during object creation, after setting all properties.
function popupmenu2_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
clc;
z=1;
global BOX1
global BOX2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L14
global BOX3
global BOX4
global TIDAK_SESUAI
guidata(hObject,handles);
while z
%data yang dikirimkan
komunikasi=serial('COM5');
guidata(hObject,handles);
%setting hardware diperlukan
set(komunikasi,'BaudRate',9600,'DataBits',8,'parity','none','StopBits',1,'F
lowControl','none');
%membuka port untuk komunikasi
%fclose(instrfind)
fopen(komunikasi);
disp('komunikasi terbuka')
out=fscanf(komunikasi);
out1=fprintf('%s',out);
disp(out1)
%sprintf('a');
pause(0.7);
if(out1==1)
%proses inisialisasi webcam
fclose(komunikasi);
%vid=videoinput('winvideo',1,'RGB24_320x240');
vid=videoinput('winvideo',2,'YUY2_640x480');
%proses capture gambar
gambar=getsnapshot(vid);
%mengubah yuy2 ke rgb
%gambar=yuy2torgb(gambar1);
%proses merubah ke grayscale
grey=rgb2gray(gambar);
%proses merubah ke hitam putih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L15
biner=im2bw(grey);
%croping
crop=imcrop(biner,[17.51 60.51 255.98 176.98]);
%proses resizing
y=imresize(crop,[32 32]);
c=double(y);
%menjumlahkan keseluruhan
data=sum(sum(c));
%tampilkan pada axes
axes(handles.axes3);
imshow(gambar);
set(handles.edit9, 'string', '');
set(handles.edit8, 'string', data);
if ((data>=76)&&(data<=95))
set(handles.edit9, 'string', 'BOX1');
BOX1=BOX1 +1;
set(handles.edit10, 'String', BOX1);
set (handles.edit7, 'String', '1');
guidata(hObject,handles);
fopen (komunikasi);
fprintf(komunikasi,'a');
guidata(hObject,handles);
elseif ((data>=96)&&(data<=120))
set(handles.edit9, 'string', 'BOX2');
BOX2=BOX2 +1;
set(handles.edit11, 'String', BOX2);
set (handles.edit7, 'String', '2');
guidata(hObject,handles);
fopen (komunikasi);
fprintf(komunikasi,'b');
guidata(hObject,handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L16
elseif ((data>=290)&&(data<=325))
set(handles.edit9, 'string', 'BOX3');
BOX3=BOX3 +1;
set(handles.edit12, 'String', BOX3);
set (handles.edit7, 'String', '1');
guidata(hObject,handles);
fopen (komunikasi);
fprintf(komunikasi,'c');
guidata(hObject,handles);
elseif ((data>=330)&&(data<=355))
set(handles.edit9, 'string', 'BOX4');
BOX4=BOX4 +1;
set(handles.edit13, 'String', BOX4);
set (handles.edit7, 'String', '2');
guidata(hObject,handles);
fopen (komunikasi);
fprintf(komunikasi,'d');
guidata(hObject,handles);
else
set(handles.edit9, 'string', 'TIDAK_SESUAI');
TIDAK_SESUAI=TIDAK_SESUAI +1;
set(handles.edit14, 'String', TIDAK_SESUAI);
set (handles.edit7, 'String', '0');
guidata(hObject,handles);
fopen (komunikasi);
fprintf(komunikasi,'e');
guidata(hObject,handles);
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L17
end
fclose(komunikasi);
delete(komunikasi)
clear komunikasi
clc;
cla;
end
% --- Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
cla;
global BOX1
global BOX2
global BOX3
global BOX4
global TIDAK_SESUAI
BOX1=0;
BOX2=0;
BOX3=0;
BOX4=0;
TIDAK_SESUAI=0;
set(handles.edit10, 'String', BOX1);
set(handles.edit11, 'String', BOX2);
set(handles.edit12, 'String', BOX3);
set(handles.edit13, 'String', BOX4);
set(handles.edit14, 'String', TIDAK_SESUAI);
set(handles.edit15, 'string', '');
set(handles.edit16, 'string', '');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L18
% --- Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
close all;
clear all;
% --- Executes on button press in pushbutton8.
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit7_Callback(hObject, eventdata, handles)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit7 as text
% str2double(get(hObject,'String')) returns contents of edit7 as a
double
% --- Executes during object creation, after setting all properties.
function edit7_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L19
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton9.
function pushbutton9_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit8_Callback(hObject, eventdata, handles)
% hObject handle to edit8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit8 as text
% str2double(get(hObject,'String')) returns contents of edit8 as a
double
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L20
% --- Executes during object creation, after setting all properties.
function edit8_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit9_Callback(hObject, eventdata, handles)
% hObject handle to edit9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit9 as text
% str2double(get(hObject,'String')) returns contents of edit9 as a
double
% --- Executes during object creation, after setting all properties.
function edit9_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit9 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L21
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton11.
function pushbutton11_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton11 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton12.
function pushbutton12_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton12 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton13.
function pushbutton13_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton13 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton14.
function pushbutton14_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L22
function edit10_Callback(hObject, eventdata, handles)
% hObject handle to edit10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit10 as text
% str2double(get(hObject,'String')) returns contents of edit10 as a
double
% --- Executes during object creation, after setting all properties.
function edit10_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit11_Callback(hObject, eventdata, handles)
% hObject handle to edit11 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit11 as text
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L23
% str2double(get(hObject,'String')) returns contents of edit11 as a
double
% --- Executes during object creation, after setting all properties.
function edit11_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit11 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit12_Callback(hObject, eventdata, handles)
% hObject handle to edit12 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit12 as text
% str2double(get(hObject,'String')) returns contents of edit12 as a
double
% --- Executes during object creation, after setting all properties.
function edit12_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit12 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L24
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton15.
function pushbutton15_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton15 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit13_Callback(hObject, eventdata, handles)
% hObject handle to edit13 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit13 as text
% str2double(get(hObject,'String')) returns contents of edit13 as a
double
% --- Executes during object creation, after setting all properties.
function edit13_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit13 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L25
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit14_Callback(hObject, eventdata, handles)
% hObject handle to edit14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit14 as text
% str2double(get(hObject,'String')) returns contents of edit14 as a
double
% --- Executes during object creation, after setting all properties.
function edit14_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
LISTING PROGRAM CVAVR
/*******************************************************
This program was created by the
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L26
CodeWizardAVR V3.12 Advanced
Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project : Program Conveyor pilah box
Version :
Date : 01/05/2016
Author : Candra Oktora Rio S(125114048)
Company :
Comments:
Chip type : ATmega32
Program type : Application
AVR Core Clock frequency: 11.059200 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 512
*******************************************************/
#include <mega32.h>
#include <delay.h>
#include <stdlib.h>
#define motor1 PORTB.0
#define motor2 PORTB.1
#define motor3 PORTB.2
#define led1 PORTA.0
#define led11 PORTC.0
#define led12 PORTC.1
#define led13 PORTC.2
#define led14 PORTC.3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L27
#define led15 PORTC.4
#define tombol_up PINB.6
#define tombol_down PINB.7
#define on 0
#define off 1
// Declare your global variables here
bit status_up=0,status_down=0;
unsigned char kotak, a,b,c,d,k;
bit kon, stop, box ;
unsigned int n;
int sensor, z , data=0;
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
// Place your code here
}
// External Interrupt 1 service routine
interrupt [EXT_INT1] void ext_int1_isr(void)
{
// Place your code here
}
// Standard Input/Output functions
#include <stdio.h>
void counter()
{
if (tombol_up==off) status_up=on;
if ((tombol_up==on)&(status_up==on)) { data++;
if (data>=1000){ data=1000;}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L28
status_up=off;
}
if (tombol_down==off) status_down=on;
if ((tombol_down==on)&(status_down==on)) {
data--;
status_down=off;
}
}
/*void pilah_box()
{
t1=read_adc(0);
t2=read_adc(1);
if(t1>ref&&t2>ref){tinggi=10;}
if(t1<ref&&t2>ref){tinggi=5;}
if(t1<ref&&t2<ref){tinggi=0;}
scanf("%d",&luas);
if(luas==1&&tinggi==10){kotak=1;}
if(luas==1&&tinggi==5){kotak=2;}
if(luas==1&&tinggi==0){kotak=5;}
if(luas==2&&tinggi==10){kotak=3;}
if(luas==2&&tinggi==5){kotak=4;}
if(luas==2&&tinggi==0){kotak=5;}
if(luas==3&&tinggi==10){kotak=5;}
if(luas==3&&tinggi==5){kotak=5;}
if(luas==3&&tinggi==0){kotak=5;}
} */
void pilah_box()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L29
{ while(z){
k=getchar();
if(k==97)
{
motor2=1; //conveyor 2 maju
delay_ms(38000); led1=1
motor2=0; //conveyor 2 motor mati
motor1=1; //conveyor 1 maju
delay_ms(7000);
motor1=0; //conveyor 1 maju
motor3=1; //conveyor 2 motor kembali
delay_ms(35000);
motor3=0; //conveyor 2 motor mati
z=0;
}
else if(k==98)
{
motor2=1;
delay_ms(48000); led2=1;
motor2=0;
motor1=1;
delay_ms(7000);
motor1=0;
motor3=1;
delay_ms(48000);
motor3=0;
z=0;
}
else if(k==99)
{
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L30
motor2=1;
delay_ms(66000); led3=1
motor2=0;
motor1=1;
delay_ms(7000);
motor1=0;
motor3=1;
delay_ms(66000);
motor3=0;
z=0;
}
else if(k==100)
{
motor2=1;
delay_ms(77000); led4=1;
motor2=0;
motor1=1;
delay_ms(7000);
motor1=0;
motor3=1;
delay_ms(77000);
motor3=0;
z=0;
}
else
{
motor2=1;
delay_ms(8600); led5=1
motor2=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L31
z=0;
}
}
}
// Voltage Reference: AREF pin
#define ADC_VREF_TYPE ((0<<REFS1) | (0<<REFS0) | (0<<ADLAR))
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=(1<<ADSC);
// Wait for the AD conversion to complete
while ((ADCSRA & (1<<ADIF))==0);
ADCSRA|=(1<<ADIF);
return ADCW;
}
void main(void)
{
// Declare your local variables here
DDRB.0=1; PORTB.0=0;
DDRB.1=1; PORTB.1=0;
DDRB.2=1; PORTB.2=0;
DDRB.6=0; PORTB.6=1;
// Input/Output Ports initialization
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L32
// Port A initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) |
(0<<DDA0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) |
(0<<PORTA1) | (0<<PORTA0);
// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
//DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) |
(0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
//PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) |
(0<<PORTB1) | (0<<PORTB0);
// Port C initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) |
(1<<DDC0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) |
(0<<PORTC1) | (0<<PORTC0);
// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRD=0xFF;
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) |
(0<<PORTD1) | (0<<PORTD0);
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L33
TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L34
ASSR=0<<AS2;
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);
TCNT2=0x00;
OCR2=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) |
(0<<OCIE0) | (0<<TOIE0);
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: On
// INT1 Mode: Falling Edge
// INT2: Off
GICR|=(1<<INT1) | (1<<INT0) | (0<<INT2);
MCUCR=(1<<ISC11) | (1<<ISC10) | (1<<ISC01) | (0<<ISC00);
MCUCSR=(0<<ISC2);
GIFR=(1<<INTF1) | (1<<INTF0) | (0<<INTF2);
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;
// Analog Comparator initialization
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L35
// Analog Comparator: Off
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) |
(0<<ACIS0);
// ADC initialization
// ADC Clock frequency: 691.200 kHz
// ADC Voltage Reference: AVCC pin
// ADC Auto Trigger Source: ADC Stopped
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);
// SPI initialization
// SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) |
(0<<SPR0);
// TWI initialization
// TWI disabled
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
// Global enable interrupts
#asm("sei")
while (1)
{
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L36
motor1=1;
sensor=read_adc(0);
if(sensor>=400)
{motor1=0;
putchar('z');
z=1;
//delay_ms(300);
pilah_box(); delay_ms(200);
/*while(data<kotak){ motor2=1;counter(); } // maju konveyor 2
delay_ms(100);
motor2=0; // konveyor 2 stop
delay_ms(200);
motor1=1; // konveyor 1 jalan untuk masukan Box ke kotak conveyor 2
delay_ms(400);
motor1=0; // conveyor 1 mati
motor3=1; // mundur konveyor 2
delay_ms(n);
motor3=0; // conveyor 2 posisi awal
data=0; */
led1=0;
led2=0;
led3=0;
led4=0;
led5=0
}
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI