«

»

Aug 31

Mengendalikan Servo dengan Software Arduino

Poros motor servo standard umumnya dapat berputar dengan span 180.  Untuk menempatkan poros pada posisi tertentu, dilakukan pengendalian melalui lebar pulsa positif.

Software Arduino menyediakan pilihan cara untuk mengendalikan motor servo, secara hardware dan secara software.

Pengendalian secara software dapat dilakukan dengan memanfaatkan pustaka SoftwareServo. Perlu diperhatikan tahapan refresh, minimal satu kali dalam 50 ms, agar servo tetap dalam posisinya.

Pengendalian secara hardware dapat dilakukan dengan memanfaatkan pustaka Servo. Pada software Arduino 0016 atau lebih awal, pustaka ini hanya mendukung 2 motor servo yang terhubung dengan pin 9 dan 10. Pada Arduino 0017 ke atas, pustaka ini mendukung hingga 12 buah motor servo pada hampir semua board Arduino, dan 48 buah servo pada board Arduino Mega.

Namun, kami mengupayakan agar kemudahan yang diusung oleh software Arduino dapat di-implementasikan pada board bukan Arduino.

Pada software Arduino 0017 yang telah di-modifikasi oleh tim R&D NEXT SYSTEM Robotics Learning Center, pustaka Servo dapat mendukung hingga 12 servo dengan board berbasis mikrokontroler AVR ATmega8535/16/32.

Berikut adalah sebuah contoh pengendalian sebuah servo yang terhubung dengan pin 9, dengan pustaka servo yang disertakan dalam software Arduino 0017 atau yang lebih baru. Poros servo akan berputar mengikuti putaran poros potensiometer yang dihubungkan dengan input analog 0 (ADC0).

#include <Servo.h>

Servo myservo;  

int pos = 0;
int pot = 0;  

void setup()
{
  myservo.attach(9);
} 

void loop()
{
  pot =analogRead(0);
  pos = map(val,0,1024,0,179);
  myservo.write(pos);
  delay(15);
}