Kontrol Servo Motor dengan Arduino
Motor servo merupakan jenis motor yang dapat kontrol sudutnya (sudut putar motor). Misalnya kita menghendaki putaran sudut 450 atau 800. Motor servo banyak dipakai untuk system robotika dan Arduino. Ada banyak jenis motor servo namun untuk diskusi kali ini kita ambil sebuah motor servo DC SG90S, selain murah juga sering dipakai untuk aplikasi Arduino.
Motor servo SG90S mampu berputar sekitar 1800 (setengah lingkaran). Bentuknya lumayan kecil dengan ukuran panjang 3,2 cm lebarnya 1,2 cm dan tinggi 3,2 cm. Motor servo SG90S mempunyai 3 pin (kabel konektor) yang biasanya berwarna Orange, Coklat dan Merah.
- Kabel Orange : PWM control
- Kabel Coklat : Ground
- Kabel Merah : VCC
Motor Servo SG90S ini dikontrol putarannya dengan sinyal PWM (Pulse Width Modulation) yang nantinya diberikan oleh Arduino. Sinyal PWM untuk kontrol servo mempunya duty cycle 1-2 ms dengan frekuensi 50Hz.
Baik, sekarang motor servo ini kita hubungkan dengan Arduino UNO. Cukup kabel Orange (PWM) ke salah satu pin PWM Arduino UNO. Terdapat 6 pin PWM yaitu yang bertanda ~. Perhatikan pin 3,5,6,9,10 dan 11 semuanya ada tanda ~. Kemudian kabel Merah ke pin 5V dan kabel hitam ke GND.
Pada percobaan arduino kontrol servo kali ini kita memakai pin pwm 9, jadi kabel orange terhubung ke pin 9 Arduino UNO seperti pada rangkaian berikut :
Program Arduino kontrol motor servo sangat simpel, disini kita hanya mengontrol posisi motor servo pada 3 posisi : sudut 0, sudut 90 dan sudut 180.
//Sertakan library Servo #include <Servo.h> Servo myservo; void setup() { myservo.attach(9); // servo terhubung pin 9 } void loop() { //sudut 0 myservo.write(0); delay(2000); //sudut 90 myservo.write(90); delay(2000); //sudut 180 myservo.write(180); delay(2000); }
Setelah ditulis kemudian simpan (Save) dan Upload ke Arduino UNO. Hasilnya motor servo akan berputar pada posisi 00 setelah 2 detik kemudian berputar kea rah sudut 900 setelah 2 detik kemudian berputar kea rah 1800. Demikian seterusnya motor servo akan berputar pada posisi sudut – sudut tersebut.
Pemrograman motor servo harus menyertakan library servo :
#include <Servo.h>
Ini untuk memudahkan kita dalam pemrogramannya, lihat saja untuk memutar motor servo pada posisi x cukup dengan perintah :
myservo.write(sudut);
Nilau sudut antara 0 sampai 180. Pada bagian inisialisasi program jangan lupa untuk menentukan pin pwm yang terhubung dengan pin sinyal (kabel orange) dari motor servo, disini adalah pin 9 Arduino sehingga inisialisasinya :
myservo.attach(9);
Alhamdulillah sudah cukup materi dasar kontrol motor servo dengan Arduino, semoga bermanfaat.
Pingback: Kontrol Posisi Servo dengan Arduino dan Potensio
Pingback: Kontrol Robot Arm dengan Arduino
Bisa ajari aku pakai fpga buat Cnc gak Gan?
Maaf mas kami belum masuk kesana ..
Trims dah mampir