Home » Microcontroller » Arduino #4: Mengatur Kecerahan LED dengan Potensiometer

Arduino #4: Mengatur Kecerahan LED dengan Potensiometer

by YogaBayu
by YogaBayu

Hai teman – teman, kembali lagi bersama dosenit.com. Pada pertemuan kemarin kita telah membahas mengenai running led. Kalau teman-teman ketinggalan mengenai pembahasan running LED dapat mengunjungi link berikut running LED.

Pada project kali ini kita akan membahas mengenai “Mengatur kecerahan LED dengan menggunakan potensiometer“. Project ini merupakan salah satu project dasar yang sangat sederhana degan komponen yang mudah didapat tentu nya.

Kalau teman-teman ada yang belum mengetahui mengenai apa itu potensiometer, singkat nya potensiometer adalah salah satu jenis resistor yang nilai nya dapat berubah-ubah atau biasa disebut dengan resistor variabel.

Dasar dari project kali ini adalah mengkonversi input analog berupa nilai potensiometer kedalam satuan digital. Untuk mengkonversi tersebut membutuhkan fungsi arduino yaitu ADC atau Analog to Digital Converter yang sesuai artinya yaitu mengubah input nilai analog menjadi digital.

Oke langsung saja kita mulai….

Alat dan Bahan

  • 1 buah Arduino
  • 1 buah resistor 1k
  • 1 buah potensiometer 10 K
  • 1 buah LED
  • Laptop yang sudah terinstal Arduino IDE

Rangkaian

Rangkaian

Penjelasan rangkaian:

  • Kaki kiri potensiometer -> +5v
  • Kaki tengah potensiometer -> A1
  • Kaki kanan potensiometer -> GND
  • Pin 9 -> resistor 1k -> anoda LED -> katoda -> GND

Untuk mendapat nilai dari potensiometer kita membuatnya jadi rangkaian pembagi tegangan atau voltage devider. Perhatikan ilustrasi gambar berikut ini:

pembagi tegangan
rangkaian voltage devider

Rangkaian voltage devider diatas sama dengan rangkaian potensiometer pada project ini dimana :

  • Nilai R1 sama dengan nilai antara kaki kiri potensiometer dengan kaki tengah potensiometer
  • Nilai R2 sama dengan nilai antara kaki kanan potensiometer dengan kaki tengah potensiometer
  • Vout sama dengan tegangan yang keluar dari kaki tengah itu lah sebabnya kenapa pada project ini kaki tengah potensiometer terhubung ke analog input arduino

Program

int led = 9; //deklarasi pin led
int pinPot = A1; //deklarasi pin analog yang terhubung dengan potensio
int nilaiPot = 0; // variabel untuk menyimpan data potensio
     
void setup() { 
   pinMode(led, OUTPUT); // Mengatur pin 13 untuk output lampu LED
   Serial.begin(9600); //inisialisasi komunikasi serial pada baudrate 9600
} 

void loop() { 
    nilaiPot = analogRead(pinPot); // membaca data keluaran dari potensio 
    nilaiPot = map(nilaiPot, 0, 1023, 0, 255); // ubah nilai keluaran potensio (0-1023) jadi (0-255) 
    analogWrite(led, nilaiPot); //memberi nilai pin 13 sesuai hasil mapping untuk mengatur kecerahan LED
  	Serial.print("nilai ADC: "); //menampilkan kata-kata "nilai ADC: " pada serial monitor atau komunikasi serial
    Serial.println(nilaiPot);  //menampilkan nilaiPot pada serial monitor dengan diakhiri ganti baris atau enter
}  

Penjelasan Program

Untuk memperoleh nilai keluaran atau output potensiometer kita menggunakan perintah analogRead(). Perintah ini berarti membaca nilai analog dari pin yang dideklarasikan.

Kemudian dengan menggunakan fungsi map() kita merubah nilai range dari 0-1023 ke 0-255. jika timbul pertanyaan “Kenapa kita mapping atau ubah rentang nilai nya terlebih dahulu ?”, karena pada arduino analogRead memiliki rentang nilai antara 0 -1023 dan analogWrite memiliki rentang 0-255, oleh karena itu data dari analogRead perlu diubah ke rentang yang lebih kecil sebelum masuk ke pin PWM 9 (ditandai ada tanda “~” pada pin arduino) sebagai ouput.

fungsi analogWrite() berarti mengirim signal PWM (Pulse With Modulation) ke pin digital 9 arduino dengan nilai dari variabel nilaiPot. kecerahan LED tergantung pada nilaiPot ini. semakin besar nilai nilaiPotmaka semakin cerah LED dan semakin kecil nilai nilaiPotmaka akan semakin redup LED.

Sedikit informasi saja untuk membuat rangkaian diatas saya menggunakan aplikasi proteus. Sekian dari saya , ada kurang lebihnya mohon maaf. Terimkasih

You may also like