Continuous Servo Arduino MG995 MG996R

Posted on

Tower Pro Servo Motor

Assalamu’alaikum Warahmatullah Wabarakatuh teman-teman semua. Kali kita akan belajar tentang Motor servo MG995 dan MG996R. Berdasarkan berbagai informasi, bahwa MG995 dan MG996R merupakan servo motor yang dapat bergerak secara kontinue tanpa ada batasan derajat putar. Kita akan belajar Continuous Servo Arduino.

Nah teman-teman semua, jika teman-teman pernah menggunakan motor servo seperti Tower Pro SG90, maka motor servo tersebut termasuk kedalam jenis Servo standar dan dapat dikontrol menggunakan sudut derajat yang di tentukan.


Konsep Dasar

Pada kode program Example yang dapat ditemukan pada Arduino IDE untuk Servo, kita dengan mudah menggerakkan motor servo dengan perintah “myservo.write(derajat);”, maka servo akan bergerak menuju derajat tersebut. Pada servo MG995 dan MG996R tidaklah demikian.

Karena MG995 dan MG996R Tower Pro 360 adalah tipe servo dengan rotasi terus menerus (kontinue), maka ada 3 kondisi yang harus di tentukan.

  1. Posisi diam
  2. Berputar ke kiri
  3. Berputar ke kanan

Dari ketiga posisi tersebut, maka perintah dasarnya adalah menggunakan perintah “writeMicroseconds”.

Berdasarkan beberapa percobaan yang saya lakukan, nilai microsecond untuk ketika kondisi tersebut adalah:

  1. Posisi diam (1500)
  2. Berputar ke kiri (1000)
  3. Berputar ke kanan (2000)

Untuk dapat mempraktekkan nilai diatas, silahkan teman-teman menghubungkan servo ke Ardunino. Gunakan pada salah satu Pin PWM dari 3, 5, 6, 9, 10, atau 11. Jika teman-teman belum mengetahui cara merangkainya, teman-teman bisa melihat rangkaiannya disini.

Kode Program Servo MG995 Arduino

Setelah itu, saya menulis kode program dasarnya. Silahkan upload copy baris program dibawah , kemudian pastekan ke Arduino IDE. Lalu upload ke Arduino Uno.

#include <Servo.h>
Servo servo;

void setup() {
  // kita gunakan pin 9 (PWM)
  servo.attach(9);
}

void loop() {
  // putar ke kiri
  servo.writeMicroseconds(1000);
  delay(2000);

  // hentikan putaran
  servo.writeMicroseconds(1500);
  delay(1000);

  // putar ke kanan
  servo.writeMicroseconds(2000);
  delay(2000);

  // hentikan putaran
  servo.writeMicroseconds(1500);
  delay(1000);
}

Anda dapat melihat hasilnya.

Jika pada posisi tertentu tidak bekerja, misalnya tidak bisa berputar ke kiri dengan lancar, teman-teman dapat mencoba merubah nilai mikroseconds nya lebih besar atau lebih kecil sedikit dari nilai 1000. 

Dari apa yang saya pelajari, setiap servo terkadang memiliki perintah yang sedikit berbeda dengan servo lainnya. Dari itu silahkan teman-teman kalibrasi nilai yang cocok untuk servo teman-teman semua.

Semoga bermanfaat. Jika teman-teman merasa artikel Continuous Servo Arduino MG995 MG996R berguna untuk yang lain, silahkan share agar teman-teman yang lain memahami cara kerja dari servo kontinue 360 derajat MG995 dan MG996R dari Tower Pro.