Sunday, March 18, 2018

Mengontrol Motor Servo Dengan Arduino

1. Dasar Teori

Motor servo adalah sebuah motor dengan sistem umpan balik tertutup dimana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor.
Secara umum terdapat 2 jenis motor servo. Yaitu motor servo standard dan motor servo Continous. Servo motor tipe standar hanya mampu berputar 180 derajat. Motor servo standard sering dipakai pada sistim robotika misalnya untuk membuat " Robot Arm" ( Robot Lengan ). sedangkan Servo motor continuous dapat berputar sebesar 360 derajat. motor servo Continous sering dipakai untuk Mobile Robot. Pada badan servo tertulis tipe servo yang bersangkutan. Motor servo standar yang kali ini dipakai memiliki 3 buah kabel yaitu, power, ground dan signal.
  • * Kabel warna merah merupakan kabel power yang berfungsi untuk mengkoneksikan dengan tegangan 5V pada board arduino.
  • * Kabel yang berwarna coklat/hitam merupakan kabel ground yang nantinya akan dihubungkan dengan ground yang ada pada board arduino.
  • * Kabel kuning yang merupakan kabel pin signal servo yang akan dihubungkan dengan pin 9 pada board arduino.

2. Alat dan Bahan

Komputer/Laptop/Netbook
Arduino Mikrokontroler 
Servo Motor (beserta kabel)
Kabel jumper Male to Female Secukupnya

3. Cara Kerja

?
Kode Program Motor Servo Arduino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <Servo.h>
// membuat nama objek servo untuk pengontrolan servo
Servo myservo;         
// variable untuk menyimpan posisi servo
int pos = 0;           
void setup()
{
 // objek servo diletakan pada pin 9
 myservo.attach(9);    
}
void loop()
{
 // start dari 0 derajar sampai 180 derajat
 for(pos = 0; pos < 180; pos += 1) 
 {
  // pada posisi 1 derajat
  // memberitahu servo untuk pergi ke posisi  'pos'
  myservo.write(pos);
  // tunggu 15ms untuk pencapaian  posisi servo   
  delay(15);                 
 }
 // start dari 180 derajat ke 0 derajat
 for(pos = 180; pos>=1; pos-=1) 
 {
  // memberitahu servo untuk pergi ke posisi  'pos'                               
  myservo.write(pos);                
  // tunggu 15ms untuk pencapaian  posisi servo   
  delay(15);                       
 }
}
Sekian tutorial dari saya, semoga bermanfaat.

No comments: