Motor Servo Perancangan Perangkat Keras hardware

2 Flowchart program pengenalan bentuk benda 3 Perancangan GUI pada MATLAB 4 Perubahan m-file menjadi exe file 5 Flowchart menghitung jumlah benda yang telah terdeteksi Pada pembuatan flowchart program interrupt lengan robot akan dibahas dan dipaparkan mengenai cara menggerakan motor servo agar memiliki sudut sesuai dengan apa yang diinginkan. Pada pembuatan flowchart ini digunakan software CodeVision AVR yang merupakan suatu perangkat lunak untuk mem-program ic keluarga AVR menggunakan bahasa c. Flowchart yang akan dibuat yaitu flowchart lengan roobot siaga, flowchart lengan robot mengambil benda, flowchart lengan robot meletakan benda saat benda kubus, flowchart lengan robot meletakan benda saat benda balok, flowchart lengan robot meletakan benda saat benda tabung, dan flowchart lengan robot meletakan benda saat benda bola. Pada pembuatan flowchart program pengenalan bentuk benda akan dibahas dan dipaparkan mengenai pembuatan program image processing dengan menggunakan metode citra biner dengan software MATLAB. Secara keseluruhan sistem kerja pada perancangan tugas akhir ini dapat ditunjukan flowchart pada gambar 3.19. Cara kerja dari lengan robot pemisah benda ini yaitu mula- mula benda diletakan pada conveyor. Ketika benda dideteksi oleh sensor photodioda yang artinya benda berada dibawah webcam, maka mikrokontroler ATmega32 akan mengirimkan suatu karakter secara serial kepada laptop untuk menjalankan program image processing agar benda dapat dikenali. Setelah objek dikenali, maka laptop melalui software MATLAB akan mengirimkan karakter secara serial kepada minimum system ATmega32 untuk menggerakan motor servo pada lengan robot. Lengan robot akan mengambil benda tersebut dan meletakan benda ke tempat yang sudah disediakan sesuai bentuk benda. Gambar 3.19. Flowchart Keseluruhan Sistem

3.4.1. Flowchart Program Interrupt Lengan Robot

Untuk mengendalikan motor servo, maka dibutuhkan suatu sinyal PWM agar sudut motor servo dapat diatur sedemikian rupa. Karena keterbatasan pin keluaran OCR pada ATmega32, maka dimanfaatkan suatu timer yang digunakan untuk mencacah pulsa tersebut sehingga seluruh PORT pada ATmega32 dapat berfungsi seperti PWM yaitu dengan menggunakan perintah interrupt. Gambar 3.20 merupakan flowchart penulisan program menggunakan interrupt saat lengan robot pada posisi siaga. Untuk mendapatkan nilai sudut motor servo, penulis menggunakan lengan robot yang telah dibuat sebelumnya. Kemudian dari lengan robot tersebut, dicari nilai masing- masing sudut motor servo menggunakan busur derajat pada saat lengan robot siaga, lengan robot mengambil benda, lengan robot meletakan benda saat benda kubus, lengan robot meletakan benda saat benda balok, lengan robot meletakan benda saat benda tabung, dan lengan robot meletakan benda saat benda bola. Pemberian sudut dapat dilihat pada tabel 3.3. Tabel 3.3. Pemberian sudut motor servo Posisi Sudut Servo 1 Servo 2 Servo 3 Servo 4 Siaga 90º 145º 140º 90º Ambil Benda 90º 75º 100º 160º Meletakan Benda Benda Kubus 0º 145º 130º 90º Benda Balok 45º 80º 80º 90º Benda Tabung 135º 80º 80º 90º Benda Bola 180º 145º 130º 90º