Pembahasan Pada Program Perangkat Lunak Arduino IDE

4.1.1. Pembahasan Pada Program Perangkat Lunak Arduino IDE

Pada penelitian dengan sistem lengan robot dengan penggerak motor stepper dan motor servo, program perangkat lunak arduino IDE digunakan untuk menulis program, pembacaan data serial dilakukan dari perangkat lunak arduino IDE yang akan dikirimkan ke mikrokontroler arduino. Pengiriman berupa data pulsa - pulsa digital ke mikrokontroler arduino dan nantinya akan diolah dan dikirimkan lagi ke driver motor stepper untuk menggerakan motor stepper. Program yang ditulis pada perangkat lunak arduino IDE selain pembacaan dan pengiriman data adalah program untuk mengatur kecepatan motor stepper, kemudian step yang digunakan yang mempengaruhi berapa derajat yang dibuat dalam satu step, karena motor stepper dapat menghasilkan step dari full step yang memiliki derajat 1,8° dalam setiap stepnya, kemudian ada half step yaitu setengah dari full step, 14 step yaitu setengah dari half step, 18 step yaitu setengah dari 14 step, 116 step yaitu setengah dari 18 step, dan terakhir 132 step yaitu setengah dari 116 step. Karena driver motor stepper yang digunakan bisa mencapai 132 step maka nantinya yang akan digunakan adalah 132 step sehingga pergerakan akan bisa lebih teliti. Gambar 4.1. Merupakan tampilan umum dari perangkat lunak arduino IDE yang akan digunakan dalam menulis program pada mikrokontroler arduino Uno R3 Gambar 4.1. Gambar Tampilan Perangkat Lunak Arduino IDE PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Sebelum melakukan penulisan program utama untuk menjalankan sistem. Seluruh dungsi dan variable yang digunakan dalam proses pengoperasian program harus dideklarasikan terlebih dahulu. Pendefinisian fungsi dan variable pada sistem lengan robot dengan penggerak motor stepper dan motor servo ini merupakan program inisiasi. Inisiasi pada sistem adalah inisiasi untuk library motor servo dan driver motor stepper yang akan digunakan. Inisiasi batasan mapping pulsa pulsa digital yang dapat dibaca motor servo dan driver motor stepper. Gambar 4.2. di bawah ini adalah contoh dari program untuk menggerakan motor stepper dengan konfigurasi full step dan berputar searah jarum jam sebanyak 200 step. Gambar 4.2. Contoh Program Full Step Dari percobaan yang dilakukan berhasil membuat motor stepper berputar searah jarum jam sebanyak 200 kali dengan radius setiap step adalah 1,8° pada titik pusatnya. Dari hasil yang diamati maka untuk motor stepper dapat berputar satu putaran penuh adalah 200 step jika menggunakan konfigurasi full step. Pada Gambar 4.3 konfigurasi yang digunakan adalah 132 step PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 4.3 Konfigurasi Untuk 132 step Pada gambar 4.3 konfigurasi yang digunakan adalah 132 step yaitu masukan sinyal pada pin MS1 dikondisikan HIGH, masukan sinyal pada MS2 dikondisikan HIGH dan masukan sinyal pada MS3 juga dikondisikan HIGH sehingga jika setiap step pada konfigurasi full step adalah 1,8° maka setiap step pada konfigurasi 132 step adalah 0,05625° sehingga untuk membuat motor stepper dapat berputar satu putaran penuh, pada konfigurasi 132 step membutuhkan 6400 step. pada driver DRV8825 untuk mengubah konfigurasi dari step yang digunakan adalah dengan mengubah masukan sinyal pada MS1 MS2 dan MS3 dengan masukan sinyal high atau low, maka terdapat sembilan konfigurasi masukan high dan low pada pin MS1 MS2 dan MS3. Pada tabel 4.1 di tunjukan konfigurasi dari sinyal masukan untuk MS1 MS2 dan MS3 dari full step hingga 132 step Tabel 4.1 Konfigurasi Masukan sinyal MS1 MS2 dan MS3 M0MS1 M1MS2 M2MS3 Mikrostep Low Low Low Full step High Low Low Half step Low High Low 14 step High High Low 18 step Low Low High 116 step High Low High 132 step Low High High 132 step High High High 132 step Penempatan kontroler joystick pada arduino adalah pada pin analog 0 A0 analog 1 A1 dan analog 2 A2 pada masing masing pin analog telah dihubungkan ke kontroler sebagai berikut, untuk sudut X maka pin kontroler X dihubungkan ke pin analog 0 A0 pada arduino, kemudian untuk sudut Y maka pin kontroler Y dihubungkan ke pin analog 1 A1 Pada arduino sedangkan untuk sudut Z maka pin kontroler Z dihubungkan ke pin analog 2 A2 pada arduino. Karena pada satu controler hanya terdapat 2 pin analog yaitu Pin X dan Y maka kontroler yang digunakan ada 2 buah kontroler joystick pada kontroler pertama akan digunakan sebagai sudut X dan sudut Y sedangkan pada kontroler kedua pin X akan digunakan sebagai sudut Z. Pada gambar 4.4 adalah konfigurasi dari kontroler joystick pada arduino Gambar 4.4 konfigurasi kontroler pada arduino Pada gambar 4.5 akan ditunjukan konfigurasi dari pin MS1 MS2 dan MS3 pada arduino. Karena ketiga driver motor stepper menggunakan konfigurasi yang sama yaitu konfigurasi 132 step maka untuk MS1 pada ketiga driver dijadikan satu yaitu pada pin 5 pada arduino, kemudian untuk MS2 pada ketiga driver dijadikan satu yaitu pada pin 4 pada arduino, PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI sedangkan untuk MS3 pada ketiga driver juga dijadikan satu yaitu pada pin 6 pada arduino sehingga lebih hemat dalam penggunaan pin pada arduino. Karena pin pada arduino hanya terbatas pada pin digital sebanyak 13 pin dan analog sebanyak 8 pin Gambar 4.5 konfigurasi dari MS1 MS2 dan MS3 pada pin arduino Pada gambar 4.6 adalah konfigurasi untuk pin direction pin step dan pin sleep untuk ketiga driver stepper, untuk driver pertama pin direction dihubungkan ke pin digital 2 sedangkan pin step pada driver pertama dihubungkan ke pin digital 3 dan pin sleep pada driver pertama dihubungkan ke pin digital 7. Konfigurasi untuk driver kedua adalah pada pin direction driver kedua dihubungkan ke pin digital 9 kemudian pin step pada driver kedua dihubungkan ke pin digital 8 dan pin sleep pada driver kedua dihubungkan ke pin digital 10. Kemudian untuk konfigurasi untuk driver ketiga adalah pada pin direction driver ketiga dihubungkan ke pin digital 12 kemudian untuk pin step pada driver ketiga dihubungkan ke pin digital 11 sedangkan untuk pin sleep pada driver ketiga dihubungkan ke pin digital 13. Gambar 4.6 konfigurasi pin direction, step dan sleep ketiga driver Untuk program utama pada gambar 4.7 diperlihatkan inputan yang diberikan berupa pembacaan nilai analog dari kontroler joystick yaitu antara 0 sampai 1023. Untuk menggerakan motor stepper maka dibuat jika nilai analog kurang dari 300 maka motor akan berputar CW dan jika joystick dilepas maka motor akan berhenti berputar. Dan jika nilai analog diatas 400 maka motor stepper akan berputar CCW. Gambar 4.7 program utama penggerak motor stepper

4.2. HASIL PERANCANGAN PERANGKAT KERAS