Cara mudah mengontrol servo dengan arduino

Belajar robot: Cara mudah mengontrol servo dengan arduino - Servo merupakan salah satu jenis motor penggerak aktuator yang dapat dengan presisi mengatur sudut putarnya. Berbeda dengan motor DC biasa yang hanya difungsikan bergerak berputar kencang untuk laju robot sebagai roda. Motor servo banyak digunakan untuk robot atau peralatan dengan kontrol pergerakan sudut 0-180 derajat atau 0-380 derajat, sebagai contoh aplikasi biasa digunkan untuk robot arm/penjepit, robot berkaki seperti humanoid dan robot laba-laba atau sejenisnya dan juga digunakan untuk mengontrol pergerakan sudut sayap pada robot terbang jenis fly wing.

Dalam kesempatan kali ini saya akan memberikan gambaran dan aplikasi servo dengan menggunakan board arduino, dimana kia dapat mengatur sudut putar servo hanya mengatur dutysicle pada frekuensi yang sudah ditetapkan yaitu kisaran 50hz. Berikut ini adalah cara menyambungkan kabel servo terhadap pin arduino UNO yaitu kabel hitam terhubung ke gnd, kabel merah terhubung ke vcc, kabel kuning terhubung ke pin3 dan menambahkan satu buah komponen potensio meter yang berfungsi untuk memberikan input ADC.

koneksi motor servo dengan arduino uno

kabel pin motor servo
Dutysicle adalah lebar pulsa yang dapat memberikan pergerakan servo sesuai dengan sudut putar yang kita inginkan dengan lebar pulsa keseluruhan adalah 20ms kemudian kita dapat mengaturnya antara pulsa higt=1 dan low=0.

Untuk 1.5ms dengan T = 20ms => rasio 1,5/20
untuk 1ms dengan T = 20ms => rasio 1/20
Untuk 2ms dengan T = 20ms => rasio 2/20

lebar pulsa untuk pergerakan sudut servo
Berikut ini adalah code program untuk mengontrol pergerakan servo dengan menggunakan arduino, sangat mudah dan sederhana sekali karena dalam arduino sudah dilengkapi library untuk pengontrol servo yaitu servo.h yang dapat diakses dengan perintah #include "Servo.h";

#include "Servo.h";
Servo monServo;

void setup(){
monServo.attach(2);
monServo.write(90);
delay( 2000 );
}

void loop(){
for( int iAngle=0; iAngle<= 180; iAngle+=10 )
{
monServo.write(iAngle);
delay(50);
}
}


Program di atas memberikan perintah kepada servo untuk berputar 180 derajat dengan 10derajat perstep, atau dapat juga membuat satu sudut servo saja dengan perintah monServo.write(90); monServo adalah inisial perubahan nama dari code Servo monServo;

karena dalam praktek ini menambahkan satubuah komponen yaitu potensio maka saya memberika program untuk mengendalikan potaran sudut servo dengan menggunakan potensiometer yang digunakan sebagai pengontrol perubahan tegangan analog menjadi sinyal digital atau ADC.

#include "Servo.h";
#define poten A0
#define SERVO 3
int val,tp,tp0;
Servo myservo ;

void setup(){

Serial.begin(9600);
pinMode(SERVO,LOW);
pinMode(poten,LOW);

}

void loop(){

tp=millis();
val=analogRead(poten);
Serial.print(val); //visualisation de pas d’echantillonnage
val = map(val, 0, 1023, 127, 254);// par test on doit trouver le max et le min de PWM on le trouve //par test
Serial.println(val);
analogWrite(SERVO,val);
Serial.println(tp-tp0);// temps de lecture du sketch
tp0=tp;

}

Hanya sedikit tutorial tentang servo yang dapat saya sampaikan kali ini, semoga bermanfaat dan membantu menyelesaikan permasalahan anda dalam pemrograman servo menggunakan arduino.
Kamu SUKA Artikel ini?
Cara mudah mengontrol servo dengan arduino Rating: 4.5 Diposkan Oleh: pujar

0 comments:

Post a Comment

Anda tidak dapat menggunakan beberapa tag HTML
seperti <b>, <i>, <a>, <p> dan lainnya