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

| Arduino | Servo | Potensiometer |
|---|---|---|
| D6 | pin signal (kabel oranye) | |
| A0 | wiper (pin signal) | |
| 5V | pin power (kabel merah) | pin masuk |
| GND | pin 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
