Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Minggu, 21 Juni 2026

Arduino Mengontrol Motor Servo Menggunakan Potensiometer

Motor servo merupakan salah satu komponen yang sangat populer dalam dunia elektronika, robotika, dan sistem otomasi berbasis mikrokontroler. Komponen ini mampu bergerak ke posisi sudut tertentu dengan tingkat akurasi yang cukup tinggi, sehingga sering digunakan pada berbagai proyek seperti lengan robot, sistem kemudi otomatis, kamera pan-tilt, hingga berbagai perangkat kendali mekanis lainnya. Dengan bantuan Arduino, proses pengendalian motor servo menjadi lebih mudah karena tersedia library khusus yang dapat digunakan untuk mengatur posisi servo hanya dengan beberapa baris kode.

 

Salah satu cara paling sederhana untuk mengontrol motor servo adalah menggunakan potensiometer. Potensiometer berfungsi sebagai input analog yang menghasilkan nilai berdasarkan posisi putaran knopnya. Ketika potensiometer diputar, Arduino akan membaca perubahan nilai tersebut dan mengubahnya menjadi data yang dapat digunakan untuk mengendalikan sudut putaran motor servo. Dengan metode ini, pengguna dapat mengontrol posisi servo secara langsung dan real-time hanya melalui putaran potensiometer.

 

Pada tutorial ini, Anda akan mempelajari cara menghubungkan potensiometer dengan motor servo menggunakan Arduino Uno. Selain itu, Anda juga akan memahami bagaimana Arduino membaca nilai analog dari potensiometer, mengonversinya menjadi rentang sudut tertentu menggunakan fungsi map(), lalu menggerakkan motor servo sesuai dengan nilai yang diperoleh. Tutorial ini sangat cocok bagi pemula yang ingin memahami konsep dasar input analog dan pengendalian aktuator menggunakan Arduino.

Perangkat Keras yang Dibutuhkan

- Arduino Uno R3

- Kabel USB

- Motor servo

- Potensiometer

- Kabel jumper 

Cara Kerja Sistem

Secara sederhana, Arduino akan membaca nilai analog yang dihasilkan oleh potensiometer melalui pin analog A0. Nilai yang terbaca berada pada rentang 0 hingga 1023. Nilai tersebut kemudian diubah menjadi rentang sudut yang dapat dipahami oleh motor servo, yaitu antara 0 hingga 180 derajat.

Setelah proses konversi selesai, Arduino akan mengirimkan perintah ke motor servo untuk bergerak sesuai dengan sudut yang dihasilkan. Akibatnya, setiap perubahan posisi potensiometer akan langsung memengaruhi posisi motor servo secara real-time.

 

Baca juga: Arduino dan MG996R - Cara Mengontrol Motor Servo Torsi Tinggi dengan Arduino 

Membaca Nilai Potensiometer

Langkah pertama adalah membaca nilai analog dari potensiometer menggunakan fungsi analogRead().

 

int analogValue = analogRead(A0);


Perintah di atas akan menghasilkan nilai antara 0 hingga 1023, tergantung pada posisi putaran potensiometer.

Mengubah Nilai Analog Menjadi Sudut Servo

Karena motor servo bekerja pada rentang sudut 0 hingga 180 derajat, maka nilai analog perlu dikonversi terlebih dahulu menggunakan fungsi map().

 

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


Fungsi tersebut akan mengubah nilai 0 menjadi 0 derajat dan nilai 1023 menjadi 180 derajat. Nilai lainnya akan disesuaikan secara proporsional.

Menggerakkan Motor Servo

Setelah sudut diperoleh, Arduino dapat menggerakkan servo menggunakan fungsi write().

 

myServo.write(angle);


Perintah tersebut membuat motor servo bergerak ke posisi sudut yang sesuai dengan hasil pembacaan potensiometer.

Wiring Diagram Arduino Mengontrol Motor Servo Menggunakan Potensiometer

Kode Program Arduino Lengkap


#include <Servo.h>


Servo myServo; // Membuat objek servo


void setup() {


  // Memulai komunikasi serial

  Serial.begin(9600);


  // Menghubungkan servo ke pin digital 9

  myServo.attach(9);

}


void loop() {


  // Membaca nilai potensiometer (0 - 1023)

  int analogValue = analogRead(A0);


  // Mengubah nilai menjadi sudut servo (0 - 180)

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


  // Menggerakkan servo sesuai sudut

  myServo.write(angle);


  // Menampilkan data pada Serial Monitor

  Serial.print("Analog: ");

  Serial.print(analogValue);

  Serial.print(", Angle: ");

  Serial.println(angle);


  delay(100);

}


Penjelasan Program

Library Servo.h digunakan untuk mempermudah pengendalian motor servo pada Arduino. Dengan library ini, pengguna tidak perlu membuat sinyal PWM secara manual karena seluruh proses pengaturan posisi servo sudah ditangani oleh library.

 

Pada bagian deklarasi program dibuat sebuah objek servo bernama myServo. Objek ini berfungsi sebagai penghubung antara program dan motor servo yang terpasang pada Arduino. Di dalam fungsi setup(), komunikasi serial diaktifkan dengan kecepatan 9600 bps menggunakan Serial.begin(9600). Selain itu, servo dihubungkan ke pin digital 9 menggunakan perintah myServo.attach(9).

 

Pada fungsi loop(), Arduino terus-menerus membaca nilai potensiometer melalui pin analog A0. Nilai yang diperoleh kemudian dikonversi menjadi rentang sudut servo menggunakan fungsi map(). Hasil konversi tersebut digunakan untuk mengatur posisi motor servo melalui perintah myServo.write(angle). Selanjutnya, nilai analog dan sudut servo ditampilkan pada Serial Monitor sehingga pengguna dapat memantau perubahan data secara langsung saat potensiometer diputar.

Koneksi Rangkaian

Hubungkan kaki tengah potensiometer ke pin A0 Arduino. Salah satu kaki lainnya dihubungkan ke pin 5V, sedangkan kaki yang tersisa dihubungkan ke GND. Untuk motor servo, kabel sinyal dihubungkan ke pin digital 9 Arduino. Kabel VCC servo dihubungkan ke pin 5V, sedangkan kabel GND servo dihubungkan ke pin GND Arduino. Pastikan seluruh koneksi terpasang dengan benar agar sistem dapat bekerja secara optimal.

Langkah-langkah Menjalankan Program

1. Hubungkan Arduino Uno ke komputer menggunakan kabel USB. 

2. Setelah itu buka aplikasi Arduino IDE dan pilih board Arduino Uno serta port yang sesuai dengan perangkat yang digunakan. 

3. Salin seluruh kode program yang telah disediakan kemudian tempelkan ke editor Arduino IDE. 

4. Selanjutnya klik tombol Upload dan tunggu hingga proses unggah program selesai. 

 

5. Setelah program berhasil diunggah, buka Serial Monitor melalui menu Tools. 

6. Putar potensiometer secara perlahan dan amati perubahan posisi motor servo. 

7. Pada saat yang sama, nilai analog serta sudut servo akan ditampilkan pada Serial Monitor secara real-time.

Hasil Pengujian

Ketika potensiometer diputar ke posisi minimum, nilai analog yang terbaca mendekati 0 sehingga motor servo berada pada posisi sekitar 0 derajat. Sebaliknya, saat potensiometer diputar ke posisi maksimum, nilai analog akan mendekati 1023 dan servo bergerak hingga sekitar 180 derajat. Perubahan posisi servo akan berlangsung secara bertahap mengikuti perubahan nilai potensiometer. Hal ini memungkinkan pengguna melakukan kontrol posisi servo dengan lebih presisi dan mudah.

 

 

Baca juga: Arduino dan Sensor Cahaya (LDR) - Cara Membaca Intensitas Cahaya Menggunakan Arduino Uno

 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.  

0 on: "Arduino Mengontrol Motor Servo Menggunakan Potensiometer"