Mengontrol servo dengan Potensiometer

Mengontrol servo dengan Potensiometer

Setelah memahami cara mengontrol LED dengan menggunakan potensiometer, kita lanjutkan lagi pembahasan kita ke peragaan berikutnya yaitu mengontrol motor servo dengan potensiometer.

Seperti yang telah kita ketahui sebelumnya, motor servo adalah sejenis motor yang dapat bergerak dan berhenti kearah sudut tertentu. untuk mengatur derajat yang diinginkan , kita harus menuliskan angka 0-180 didalam fungsi Servo.write. Contohnya:

void loop(){
Servo.write(90);
}

Untuk peragaan kali ini, kita akan menggunakan putaran potensiometer untuk memutar lengan servo kearah yang kita inginkan. Jika kita putar potensiometer ke kanan maka servo akan bergerak ke kanan dan begitu juga sebaliknya.

Gambar Rangkaian

ArduinoServoPotensiometer
D6pin signal (kabel oranye)
A0wiper (pin signal)
5Vpin power (kabel merah)pin masuk
GNDpin GND (kabel coklat)pin keluar

Coding

Langkah pertama dalam menulis kode untuk peragaan ini adalah menuliskan variabel-variabel untuk servo dan potensiometer, selain itu jangan lupa menambahkan library servo dengan cara mengetikkan #include <servo.h>.

#include <Servo.h> 
//potensiometer
int potPin = A0;
int nilaiPot;

//servo

int servoPin = 6;

Servo myservo;

Berikutnya, kita aktifkan pin digital 6 untuk mengontrol servo dengan mengetikkan servo.attach(servoPin); didalam void setup().

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

Selanjutnya pada void loop(), kita tuliskan program untuk membaca nilai analog dari potensiometer terlebih dahulu

nilaiPot = analogRead(potPin);

Selanjutnya, kita akam mengkonversi nilai analog yang dibaca tadi menjadi derajat putaran pada servo

int angle = map(nilaiPot,0,1023,0,180);

fungsi map () diatas akan merubah nilai antara 0 – 1023 pada potensiometer menjadi nilai antara 0-180. Setelah itu, kita ketikkan fungsi pembacaan servo dengan mengetikkan:

myservo.write(angle);

Jika semua baris program telah diketikkan dengan benar dan telah berhasil di upload, maka hasilnya akan terlihat seperti video dibawah ini

keseluruhan program diatas dapat kita lihat dibawah ini:

#include <Servo.h> 
//potensiometer
int potPin = A0;
int nilaiPot;

//servo
int servoPin = 6;
Servo myservo;

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

void loop()
{
  nilaiPot = analogRead(potPin);
  int angle = map(nilaiPot,0,1023,0,180);
  myservo.write(angle);
}

Bagaimana? mudah kan?
Selamat berkarya

Motor Servo dan Cara Mengontrolnya dengan Arduino

Motor Servo dan Cara Mengontrolnya dengan Arduino

Motor servo adalah salah satu jenis motor yang sering digunakan untuk membuat perangkat robotik. Motor servo memiliki keunikan tersendiri dibandingkan dengan motor DC biasa karena motor servo dapat berputar antara 0 – 180 derajat untuk tipe positional dan 0-360 derajat untuk yang bertipe continuous selain itu motor servo ini juga sangat akurat sehingga sering digunakan untuk sebagai penggerak lengan robot yang membutuhkan keakuratan posisi dalam mengambil atau meletakkan barang.

Menghubungkan Arduino dengan Servo

Sebelum menghubungkan motor servo ke Arduino, ada baiknya kita memperhatikan spesifikasi servo yang akan kita gunakan. Servo dengan spesifikasi dibawah 250 mA bisa langsung diberi tenaga dari pin power 5 volt yang terdapat pada Arduino, sedangkan servo yang memiliki kebutuhan arus diatas 250 mA harus di supply dengan menggunakan power supply terpisah. Untuk kabel signal (biasanya berwarna oranye) pada servo kita hubungkan ke salah satu pin digital Arduino yang memiliki kemampuan PWM (~). Perhatikan gambar berikut

Rangkaian servo dengan supply langsung ke Arduino
Rangkaian servo dengan power supply eksternal

Coding

#include <Servo.h> 

int servoPin = 9;

Servo myservo;

void setup() {
    servo.attach(servoPin);
}

void loop() {
    myservo.write(0);
    delay (2000);
    myservo.write(45);
    delay(1000);
    myservo.write(90);
    delay(1000);
    myservo.write(135);
    delay(1000);
    myservo.write(180);
    delay(1000);
}

Keterangan Program

#include <Servo.h> 

menambahkan library “Servo” kedalam sketch yang sedang ditulis

int servoPin = 9;

Memasukkan nomor pin yang digunakan kedalam variabel “servoPin”. nama variabel bisa disesuaikan dengan jumlah pin yang terhubung dengan servo. Misalnya, int servoPin1, int servoPin2, int servoPin3, dst.

Servo myservo;

memberikan nama object untuk setiap servo yang digunakan. jika servo yang digunakan lebih dari 1 maka bisa dibuat object name myservo1, myservo2, myservo3 dst.

servo.attach(servoPin);

Menghubungkan servo yang akan di kontrol oleh Arduino

myservo.write(45);

Menggerakkan servo kearah yang diinginkan. angka yang terdapat didalam kurung adalah posisi putaran servo. jika servo ingin digerakkan sejauh 90 derajat makan ketikkan myservo.write(90);

Jika program sudah berhasil di upload ke Arduino, maka hasilnya akan terlihat seperti video dibawah ini

Gimana? mudahkan?
selamat mencoba ya….