Pada artikel kali ini, kita akan membahas tentang cara mengontrol LED, motor servo, dan motor kipas dengan potensiometer pada board Arduino. Potensiometer merupakan komponen elektronik yang berfungsi sebagai pengatur resistansi listrik, sehingga bisa digunakan untuk mengontrol nilai variabel seperti kecepatan, posisi, atau level kecerahan. Dalam tutorial ini, kita akan mempelajari cara menggunakan potensiometer untuk mengontrol kecerahan LED, sudut putaran motor servo, dan kecepatan putaran motor kipas pada board Arduino. Tutorial ini sangat cocok bagi pemula yang ingin mempelajari dasar penggunaan potensiometer dalam rangkaian elektronik pada board Arduino.
Tujuan Percobaan :
1. Menggunakan Analog input pada arduino
2. Membuat program sederhana dengan menggunakan analog input untuk intesitas cahaya LED & Motor Servo.
Alat dan Bahan :
1. Arduino Uno
2. Potensio Meter
3. Bread Board
4. Kawat Jumper
5. Motor Servo
6. Motor Kipas(opsional)
Untuk jalur kabel/sekematiknya bisa lihat di foto & lalu tambahkan saja jalur motor servo seperti di bawah ini:
Orange : siyal input (PWM), terhubung ke pin 9 Arduino
Merah : Vcc, terhubung dengan pin 5V Arduino
Coklat : Gnd, terhubung dengan pin GND Arduino
Untuk Kipasnya:
Positif –> Output Potensio(kaki tengah)
Gnd —> Gnd
Code:
//Create by @info_tech_id
//Sertakan library Servo
#include <Servo.h>
Servo myservo;
//variabel untuk perhitungan sudut putar
int sudut;
int potPin = A0;
int LEDPin = 11;
int readValue;
int writeValue;
void setup() {
myservo.attach(9); // servo terhubung pin 9
pinMode(potPin, INPUT);
pinMode(LEDPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
//membaca sinyal analog input di A0
sudut = analogRead(A0);
//konversi hasil analog (0-1023) menjadi hasil sudut (0-180)
sudut = map(sudut, 0, 1023, 0, 180);
//set posisi sudut motor servo
myservo.write(sudut);
delay(15);
readValue = analogRead(potPin);
writeValue = (255./1023.)* readValue;
analogWrite(LEDPin, writeValue);
}
Program di atas adalah contoh kode untuk mengontrol motor servo dan LED menggunakan Arduino Uno dan sensor potensiometer. Program ini menggunakan library Servo untuk mengendalikan motor servo dan menggunakan pin analog input untuk membaca nilai dari sensor potensiometer dan mengontrol kecerahan LED.
Pada bagian pertama program, library Servo diimport dengan menggunakan perintah #include <Servo.h>
. Kemudian, variabel myservo
dideklarasikan sebagai objek dari kelas Servo
dan variabel sudut
dideklarasikan sebagai integer untuk menyimpan nilai sudut putaran motor servo. Variabel potPin
dideklarasikan sebagai pin analog input untuk membaca nilai dari sensor potensiometer dan variabel LEDPin
dideklarasikan sebagai pin digital output untuk mengontrol kecerahan LED. Selain itu, variabel readValue
dan writeValue
juga dideklarasikan untuk membaca nilai dari sensor potensiometer dan mengontrol kecerahan LED.
Pada fungsi setup()
, pin untuk motor servo diatur dengan menggunakan perintah myservo.attach(9)
. Pin untuk sensor potensiometer dan LED juga diatur dengan menggunakan perintah pinMode(potPin, INPUT)
dan pinMode(LEDPin, OUTPUT)
.
Pada fungsi loop()
, nilai dari sensor potensiometer dibaca dengan menggunakan perintah analogRead(potPin)
dan kemudian dikonversi menjadi nilai kecerahan LED dengan menggunakan perintah writeValue = (255./1023.)* readValue
. Nilai kecerahan LED kemudian dikirim ke pin digital output dengan menggunakan perintah analogWrite(LEDPin, writeValue)
. Selain itu, nilai dari sensor potensiometer juga dikonversi menjadi nilai sudut putaran motor servo dengan menggunakan perintah sudut = map(sudut, 0, 1023, 0, 180)
dan kemudian nilai sudut putaran motor servo diatur dengan menggunakan perintah myservo.write(sudut)
. Program kemudian menunggu selama 15 milidetik sebelum kembali membaca nilai dari sensor potensiometer dan mengulang kembali proses pengontrolan kecerahan LED dan sudut putaran motor servo.
Program ini dapat digunakan sebagai contoh untuk mengontrol berbagai perangkat seperti motor servo, LED, dan sensor lainnya dengan menggunakan nilai analog input dari sensor potensiometer atau sensor lainnya.
Program di atas sangat berguna untuk mengontrol motor servo dan LED dalam proyek-proyek elektronik. Motor servo adalah perangkat yang sangat berguna dalam mengontrol posisi dan sudut putaran suatu objek, sementara LED adalah perangkat yang sering digunakan sebagai indikator atau sebagai sumber cahaya dalam proyek-proyek elektronik.
Dalam program di atas, sensor potensiometer digunakan untuk membaca nilai analog input yang kemudian dikonversi menjadi nilai kecerahan LED dan nilai sudut putaran motor servo. Ini memungkinkan kita untuk secara presisi mengontrol kecerahan LED dan posisi atau sudut putaran motor servo sesuai dengan kebutuhan proyek.
Dalam proyek-proyek yang lebih kompleks, kita dapat menggunakan kombinasi sensor dan perangkat lainnya untuk menciptakan interaksi yang lebih kompleks. Misalnya, kita dapat menggunakan sensor suhu untuk mengontrol kecepatan putaran motor servo atau kecerahan LED, atau menggunakan sensor gerak untuk mengontrol posisi motor servo atau kecerahan LED. Dengan kombinasi sensor dan perangkat lainnya, kita dapat menciptakan sistem yang lebih kompleks dan interaktif yang dapat digunakan dalam berbagai aplikasi, seperti robotika, otomasi rumah, dan sebagainya.
Dalam hal ini, program di atas dapat dianggap sebagai langkah awal dalam mempelajari penggunaan sensor dan perangkat lainnya dalam mengontrol perangkat elektronik dan menciptakan sistem yang lebih kompleks dan interaktif.
Selain itu, program di atas juga menggunakan library Servo yang memudahkan dalam mengontrol motor servo. Library Servo ini menyediakan fungsi-fungsi yang dapat digunakan untuk mengatur posisi motor servo dengan mudah. Dalam program di atas, fungsi myservo.write(sudut) digunakan untuk mengatur posisi motor servo sesuai dengan nilai sudut yang dibaca dari sensor potensiometer.
Selain itu, program di atas juga menggunakan fungsi map() untuk mengkonversi nilai analog input menjadi nilai sudut yang dibutuhkan oleh motor servo. Fungsi ini sangat berguna dalam mengubah nilai input dari sensor menjadi nilai yang berguna dalam mengontrol perangkat elektronik.
Program di atas juga menggunakan fungsi analogWrite() untuk mengontrol kecerahan LED. Fungsi ini memungkinkan kita untuk mengontrol kecerahan LED dengan mudah menggunakan sinyal PWM (Pulse Width Modulation). Dalam program di atas, nilai kecerahan LED dihitung dari nilai analog input yang dibaca dari sensor potensiometer, kemudian dikonversi menjadi nilai antara 0 hingga 255 menggunakan formula (255./1023.)* readValue. Nilai ini kemudian digunakan untuk mengontrol kecerahan LED menggunakan fungsi analogWrite().
Program di atas sangat berguna bagi pemula yang ingin mempelajari cara mengontrol motor servo dan LED menggunakan sensor potensiometer. Program ini juga dapat dijadikan dasar untuk mengembangkan sistem yang lebih kompleks dan interaktif dengan menggunakan kombinasi sensor dan perangkat lainnya. Dengan mempelajari dan memahami program ini, kita dapat meningkatkan kemampuan kita dalam membangun proyek-proyek elektronik yang lebih kompleks dan inovatif.
Link Video hasilnya:
Demikianlah tutorial tentang cara mengontrol LED, motor servo, dan motor kipas dengan potensiometer pada board Arduino. Dalam tutorial ini, kita telah mempelajari dasar penggunaan potensiometer sebagai alat pengatur variabel dan bagaimana mengintegrasikannya dengan komponen lain pada board Arduino. Dengan memahami konsep dasar ini, kamu dapat membuat berbagai macam proyek yang lebih kompleks dan menarik dengan menggunakan potensiometer sebagai pengatur variabelnya. Teruslah berkreasi dan eksplorasi lebih jauh untuk mengembangkan kemampuan kamu dalam dunia elektronik dan pemrograman dengan board Arduino.