Cara Mengontrol Motor Servo Menggunakan Arduino

Assalamualaikum Warahmatullahi wabaraktuh, Gimana kabarnya temen temen kali ini Kita akan Belajar mengontrol Motor Servo menggunakan Aduino. nah sebelum kita mulai belajar kita kali ini alangkah baiknya kita kenalan dulu sama si servo.

Cara Kerja Motor Servo

Posisi motor servo diatur oleh panjang pulsa. Servo akan menerima pulsa dari arduino atau part kontrol yang lain sekitar 20 milidetik sekali. Jika pulsa yang masuk berdurasi 1 milidetik maka sudut servo akan menjadi nol, jika 1,5 milidetik maka akan berada pada posisi tengah dan jika 2 milidetik akan berada pada 180 derajat. Titik akhir servo dapat bervariasi dan biasanya motor servo yang kita sering jumpai  hanya berputar sekitar 170 derajat. jika kalian menginginkan servo yang dapat berputar sejauh 360 derajat maka kalain bisa membeli servo model continous yang harganya lebih mahal.

Untuk memulai praktik kita kali ini. ada beberapa part yang harus dipersiapkan, berikut adalah daftar partnya:

  1. Arduino Uno atau yang lain
  2. Motor Servo
  3. Breadboard
  4. Kabel Jumper

Setelah komponen diatas sudah siap sekarang kita buat rangkaiannya, buat rangkaiannya seperti gambar berikut ini.

setelah rangkaian berhasil dibuat makaselanjutnya kita tinggal mengupload sketch dibawah ini ke Arduino.

#include <Servo.h>
Servo myservo; // membuat objek servo di library Servo.h
int pos = 0; // geser servopada posisi 0 derajat
void setup() {
myservo.attach(9); //definisikan pin yang digunakan untuk mengontrol motor servo adalah pin 9
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // menjalankan fungsi for loop dari 0 - 180 dan nilai ini akan digunakan sebagai nilai posisiservo
myservo.write(pos); // mengatur posisi servo berdasarkan nilai dari for loop
delay(15); // beri jeda 15 miliseconds untuk setiap perubahan posisi
}
for (pos = 180; pos >= 0; pos -= 1) { // menjalankan fungsi for loop dari 180 - 0 dan nilai ini akan digunakan sebagai nilai posisiservo
myservo.write(pos); // mengatur posisi servo berdasarkan nilai dari for loop
delay(15); // beri jeda 15 miliseconds untuk setiap perubahan posisi
}
}

Nah, setelah program diatas dimasukan kedalam arduino maka motorservo akan bergerak kekanan dan kekiri sejauh 180 derajat, lalu jika kita ingin membuat servo bergerak berdasarkan variable tertentu bgaimana?

pada koding berikutnya ini kita akan menggerakan servo berdasarkan posisi potensio. berikut ini adalah koding dan gambar rangkaianyanya.

#include <Servo.h>
Servo myservo;
int Potensio = A0;
int val;
void setup() {
myservo.attach(9);
}
void loop() {
val = analogRead(Potensio);// membaca nilai analog dari pin A0
val = map(val, 0, 1023, 0, 180); //memetakan nilai dari 0 - 1023 menjadi 0 - 180
myservo.write(val); // set posisi servo
delay(15); // beri jeda 15 miliseconds
}

Jika program diatas di uploud maka motor servo akan bergerak sesuai dengan posisi potensio yang dapat kita ubah ubah

sekian tutorial kali ini, semoga bermanfaat, jika ada yang perlu ditanyakan silahkan sampaikan di kolom komentar. Wassalamu’alaikum.

About Giri Wahyu Pambudi

Giri Wahyu Pambudi - Seorang Pemuda Desa yang berkeinginan ikut membangun Indonesia dengan Sedikit Ilmu yang dimiliki SMK N 2 Wonogiri lulus 2015 UNIV Negeri Yogyakarta lulus 2019 2019 - Sekarang Bekerja di SMK Gajah Mungkur 1 Wuryantoro, Wonogiri

Check Also

Cara Menggunakan / Mengakses Keypad menggunakan Arduino

Assalamu’alaikum teman – teman, kali ini kita akan belajar Arduino lagi, kali ini kita akan …

Tinggalkan Balasan