Pengendali Motor Servo Aplikasi CodeVision AVR

4.3.2. Aplikasi MATLAB

Pada sub bab ini akan dijabarkan listing program yang diprogram menggunakan software MATLAB diantaranya penjelasan tampilan GUI, inisialisasi komunikasi serial, inisialisasi webcam, proses pengolahan citra, dan proses pengenalan bentuk benda.

4.3.2.1. Tampilan Gui MATLAB

GUI Graphical User Interface yaitu suatu tampila yang berfungsi untuk 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. Tampilan GUI yang dibuat dapat ditunjukan pada Gambar 4.46. Gambar 4.46. Tampilan GUI MATLAB Terdapat beberapa fasilitas pada tampilan GUI yang digunakan yaitu axes, edit text, popupmenu, dan push butoon. Fasilitas axes berfungsi untuk menampilkan gambar, grafik, ataupun diagram. Axes digunaka untuk menampilkan gambar dari benda yang telah diproses menjadi gambar biner. Selain axes, terdapat fasilitas edit text yang berfungsi untuk menampilkan jumlah benda yang telah terdeteksi, nilai data citra biner, dan menampilkan hasil deteksi sistem. Sedangkan popupmenu berfungsi untuk menampilkan daftar pilihan PORT komunikasi yang digunakan untuk melakuan komunikasi serial agar laptop dan mikrokontroler dapat saling berhubungan. Bagian yang terakhir yaitu push button . Push button berfungsi sebagai sebuah tombol yang digunakan untuk mengontrol suatu program yang akan diekseusi dengan cara diklik.

4.3.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 ditunjukan gambar 4.47. Gambar 4.47. Inisialisasi Komunikasi Serial

4.3.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 gambar 4.48. Gambar 4.48. Inisialisasi Webcam Perintah program “imaqhwinfo” adalah perintah program untuk menampilkan informasi yang akan disampaikan oleh webcam dan kemudian informasi tersebut akan diinisialisasi ke dalam program. Hal ini bertujuan agar antara webcam dengan software Matlab dapat melakukan komunikasi. Informasi yang tampil adalah adaptor kamera, port webcam, jenis warna dan resolusi piksel.

4.3.2.4. Proses Pengolahan 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 dengan fungsi “getsnapshoot”, 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, langkah selanjutnya yaitu proses cropping atau pemotongan gambar. Hal ini bertujuan untuk menghilangkan background atau latar belakang yang tidak dibutuhkan untuk diproses. Fungsi “imresize” bertujuan untuk memperkecil kualitas citra yang telah diolah agar memiliki nilai yang tidak terlalu besar. Kemudian langkah terakhir yaitu proses penjumlahan data nilai citra biner yang telah dipotong menjadi sebuah nilai. Proses pengolahan citra ditunjukan gambar 4.49. Gambar 4.49. Proses Pengolahan Citra

4.3.2.5. Proses Pengenalan Bentuk Benda

Berdasarkan nilai-nilai dari tabel 4.3, maka dibuat sebuah range yang menentukan bentuk benda tersebut. Untuk benda kubus range data yang digunakan yaitu antara 81 sampai 110, sedangkan untuk benda balok range data yang digunakan yaitu antara 111 sampai 140, kemudian untuk benda tabung range data yang digunakan yaitu antara 65 sampai 80, dan untuk benda bola range data yang digunakan yaitu antara 42 sampai 64. Dari data tersebut, maka dapat dibuat range nilai untuk mengetahui dan mengenali dari masing-masing bentuk benda. Listing program ditunjukan gambar 4.50. Gambar 4.50. Listing Program Pengenalan Bentuk Benda Proses berjalannya program jika data memiliki nilai antara 81-110 maka akan tampil pada “edit6” benda yang terdeteksi yaitu kubus, kemudian menjumlahkan nilai kubus yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit1” lalu mengirimkan karakter „a‟ secara serial. Jika data memiliki nilai antara 111-140 maka akan tampil pada “edit6” benda yang terdeteksi yaitu balok, kemudian menjumlahkan nilai balok yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit2” lalu mengirimkan karakter „b‟ secara serial. Jika data memiliki nilai antara 65- 80 maka akan tampil pada “edit6” benda yang terdeteksi yaitu tabung, kemudian menjumlahkan nilai tabung yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit3” lalu mengirimkan karakter „c‟ secara serial. Jika data memiliki nilai antara 42- 64 maka akan tampil pada “edit6” benda yang terdeteksi yaitu bola, kemudian menjumlahkan nilai bola yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit4” lalu mengirimkan karakter „b‟ secara serial. Apabila data tidak berada didalam range yang ada, maka itu berarti benda tidak terdeteksi oleh sistem kemudian sistem akan mengirimkan karakter „e‟ secara serial.