BELAJAR ARDUINO : Mengatur Nyala Terang Redup Lampu Dengan Potensiometer

Pada Latihan kali ini kita akan membuat sebuah lampu yang bisa kita atur nyala terang redupnya menggunakan potensiometer sebagai inputannya.

Potensiometer biasa kita sebut juga sebagai variabel resistor. Memiliki tiga kaki, ketika ada tegangan 5V masuk di antara kaki no 1 dan 3, pada kaki tengah atau no 2 dapat mengeluarkan tegangan antara 0V sampai dengan 5V tergantung dari posisi knob potensiometer.

Pembagi Tegangan merupakan rangkaian sederhana yang dapat merubuah sebuah tegangan menjadi lebih kecil hanya dengan menggunakan dua resistor. Sebuah potensiometer merupakan aplikasi dari rangkaian pembagi tegangan yang sangat bagus. Tegangan dibagi secara proporsional berdasarkan hambatan anatara kaki tengah dengan kaki ground. Rangkaian pembagi tegangan tersebut akan kita aplikasikan pada latihan ini dengan menggunakan potensiometer.

Kebutuhan Komponen

  • Arduino = 1 Pcs
  • Breadboard = 1 Pcs
  • Potensiometer= 1 Pcs
  • Resistor 330 Ohm = 1 Pcs
  • Lampu LED = 1 Pcs
  • Kabel Jumper secukupnya

Skema

Rangkaian

Source Code

/*
Mengatur nyala terang redup lampu
*/

int ledPin = 6;       //pin yang terhubung dengan LED
int potPin = A0;       //pin yang terhubung dengan potensiometer

int potPosition;            //variabel ini akan menyimpan nilai dari tegangan masukan ke A0 yang berdasarkan posisi dari knob potensiometer
int calibratedpotPosition;  //variabel ini akan menyimpan nilai yang telah diskalakan/terkalibrasi dari nilai potPosition

void setup() {
  
  Serial.begin(115200);  //inisialisasi komunikasi serial pada 115200 bits per second.
  pinMode(ledPin, OUTPUT);    //Menentukan pin 6 sebagai output untuk sebuah LED.
}

void loop() {
  potPosition = analogRead(potPin);   //membaca tegangan dari pin A0 dan menyimpannya sebagai nilai potPosition
  Serial.println(potPosition);    //menampilkan nilai potPosition pada serial monitor

  calibratedpotPosition = map(potPosition, 0, 1023, 0, 255);  //menskalakan nilai potPosition dari 0 - 1023 menjadi 0 - 255.
                                                              //fungsi map() penggunaanya untuk sebuah bilangan skala yang linear.
                                                              //map(inputValue, fromMin, fromMax, toMin, toMax);

  analogWrite(ledPin, calibratedpotPosition);    //menggunakan fungsi analogWrite untuk dapat mengeluarkan output tegangan linear
                                            //dari sebuah pin digital/PWM antara 0 - 255 atau 0 - 5V. 
}

Kesimpulan

Serial Monitor merupakan salah satu fitur paling penting yang terdapat di dalam software Arduino IDE. Ketika kita membuat sebuah proyek dengan Arduino, ini akan sangat membantu untuk melihat dan mengetahui apakah nilai variable yang kamu gunakan di dalam program sesuai atau untuk mengetahui saat program kita mengalami masalah ketika ada kode yang tidak bekerja dengan seperti yang kita harapkan. Pada latihan ini akan memngenalkan kita dengan Serial Monitor. Untuk membuka serial monitor kamu bisa mengklik icon yang bergambar kaca pembesar.

Baca juga :  Membuat Timer ON OFF dengan Arduino

ANALOG OUTPUT (PWM) dengan perintah digitalWrite() dapat membuat sebuah pin menjadi kondisi ON (5V) atau OFF (0V), tapi bagaimana ketika kita ingin 2.5V? perintah analogWrite() yang dapat mengeluarkan output 2.5V dengan cara membolak-balikan kondisi pin ON dan OFF dengan perbandingan waktu yang tertentu secara terus menerus, sehingga dengan perbandingan waktu 50% dari 5V akan menjadi 2.5V. Jadi dengan begitu mau tegangan berapapun antara 0 – 5V bisa memungkinkan, yang seperti ini yang dinamakan Pulse-Width-Modulation (PWM).

Kita akan melihat nyala LED terang, redup atau bahkan mati tergantung dari posisi knob potensiometer. Dengan memutar-mutar knob potensiometer akan mengatur tingkat kecerahan nyala LED. Selain itu kita juga dapat membuka serial monitor dan melihat nilai yang terbaca oleh analog pin ketika kita memutar-mutar potensiometer, jika kita tidak dapat melihat nilai tersebut pastikan kita telah memilih baudrate yang sesuai 115200.