Arduino Untuk Pemula - Bagian 8 (Motor Servo)


Motor Servo adalah suatu motor yang tersusun atas kombinasi beberapa gear, potensiometer (sensor posisi), dan rangkaian kontrol (driver motor) sehingga suatu servo dapat dikontrol kecepatan putar dan posisinya dengan sangat akurat. Terdapat dua jenis servo di pasaran, yaitu servo standard dan servo kontinu (continuous servo). Servo standard biasanya mampu berputar dari 0° hingga 180°. Sedangkan countinuous servo mampu berputar layaknya motor DC biasa (360°) dan dapat dikontrol kecepatan putarnya.

kabel servo
Servo analog pada umumnya memiliki 3 kabel. Kabel VCC (5v) biasanya berwarna merah, sedangkan kabel GND biasanya berwarna hitam atau cokelat dan kabel sinyal biasanya berwarna oranye atau kuning. Cara menkoneksikan servo analog dengan arduino cukup mudah, yaitu sbb:
  • VCC ke 5v 
  • GND ke GND
  • Sinyal ke pin digital
Namun perlu dipahami bahwa pada dasarnya servo adalah motor DC sehingga konsumsi arusnya cukup besar. Untuk menghidupkan satu atau dua servo sekaligus mungkin masih bisa dilakukan melalui VCC arduino, namun jika kamu menginginkan untuk menghidupkan lebih dari 2 servo, ada baiknya untuk menggunakan power supply tambahan. Tapi jangan lupa ya untuk menyambungkan semua GND nya 😊

Selanjutnya, mari kita mencoba mengontrol servo dengan arduino. Alat-alat yang diperlukan adalah :
  • Arduino board
  • kabel jumper
  • servo analog
  • projectboard (opsional)
Selanjutnya kita akan menghubungkan servo ke arduino seperti pada skema yang sudah dijelaskan di atas. Atau ikuti skema di bawah ini :
Kemudian kita akan coba menggerakkan servo tersebut dengan 3 gerakan.
  1. gerakan 0 ke 90
  2. gerakan 90 ke 180
  3. gerakan 180 ke 90
  4. kemudian gerakan 90 ke 0
  5. begitu seterusnya


Maka program yang dituliskan seperti di bawah ini
#include <Servo.h>
Servo servo1; //nama servonya adalah servo1, boleh nama yang lain
void setup()
{
  servo1.attach(2); //pin sinyal servo terkoneksi pada pin 2 arduino
}
void loop()
{
  servo1.write(90);
  delay(2000);
  servo1.write(180);
  delay(2000);
  servo1.write(90);
  delay(2000);
  servo1.write(0);
  delay(2000);
}

Bagaimana jika kita ingin membuat servo berputar 180 derajat secara perlahan dan bolak-balik?
Mari kita coba program di bawah ini
#include <Servo.h>
int posisi=0;
Servo servo1;
void setup()
{
  servo1.attach(2);
  servo1.write(0); // set posisi inisial servo pada 0 derajat
  delay(1000);
}
void loop()
{
  for (posisi = 0; posisi <= 180; posisi += 1)
  {
    servo1.write(posisi);            
    delay(15);                    
  }
  for (posisi = 180; posisi >= 0; posisi -= 1)
  {
    servo1.write(posisi);          
    delay(15);                    
  }

Cukup mudah bukan?
Untuk selanjutnya kamu bisa bermain-main dengan menggabungkan komponen servo dengan sensor jarak ultrasonic untuk membuat object detector. Proyek ini cukup menarik dan sangat mudah dibuat namun menurut saya berpeluang besar untuk bisa dikembangkan. Jangan khawatir, saya akan segera menuliskan post tentang object follower menggunakan 1 servo dan 1 sensor ultrasonic. Tapi, kamu coba dulu ya :)

Sekian artikel tentang motor servo kali ini. tunggu artikel-artikel lainnya ya :)
Semoga bermanfaat. 

Share on Facebook
Share on Twitter
Share on Google+

Related to Arduino Untuk Pemula - Bagian 8 (Motor Servo)

1 comments:

Silakan meninggalkan pesan disini...