Dalam pembuatan beberapa projek elektronika yang membutuhkan indikator cahaya, kita dapat menggunakan LED, karena lebih murah dan praktis. Sebuah LED RGB, bisa menjadi pilihan yang tepat untuk dapat memancarkan cahaya yang warnanya dapat diatur melalui sinyal PWM dari mikrokontroller. Oleh karena itu, pada artikel ini saya akan membagikan tutorial dasar menghubungkan ESP32 ke RGB LED Common Anode.
Penjelasan RGB LED Common Anode
RGB LED adalah jenis lampu LED yang memiliki tiga warna dasar didalamnya: merah (Red), hijau (Green), dan biru (Blue), sedangkan Istilah Common Anode merujuk pada konfigurasi tertentu dari kaki-kaki LED.
Dalam RGB LED Common Anode, katoda (terminal negatif) dari semua tiga LED (merah, hijau, dan biru) terhubung ke satu terminal, yang disebut “anode” (terminal positif). Ini berarti, untuk mengendalikan warna dan kecerahan pada LED, kita perlu menyediakan tegangan pada kaki anode, sementara menghubungkan kaki katoda ke mikrokontroller.
Untuk membayangkannya, perhatikan gambar berikut:
Gambar diatas merupakan perbandingan Common Anode vs. Common Cathode. Gambar ini saya ambil dari website https://makeabilitylab.github.io. Untuk penjelasan lebih detail bagaimana penggunaan LED Common Anode vs. Common Cathode, silahkan anda baca disini.
Rangkaian Dasar
Perlu di ingat bahwa ESP32 secara default menggunakan 3.3V untuk pin IO (Input Output)nya. Untuk mengurangi itentitas cahaya, saya menggunakan 3 buah resistor dengan nilai 330Ω. Perhatikan gambar berikut:
Kode Program
Pada rangkaian, saya menggunakan pin 14 untuk LED merah, pin 13 untuk LED Hijau dan pin 12 untuk LED biru. Sedangkan untuk mengendalikan LED saya menggunakan sinyal PWM agar dapat menentukan kecerahan LED tersebut.
Baca juga: Apa itu sinyal PWM pada Mikrokontroller?
Berikut adalah kode programnya:
int redPin = 14;
int greenPin = 13;
int bluePin = 12;
void setup() {
}
void loop() {
//Warna Merah
setColor(0, 255, 255);
delay(1000);
//Warna Green
setColor(255, 0, 255);
delay(1000);
//Warna Blue
setColor(255, 255, 0);
delay(1000);
//Warna Ungu
setColor(0, 255, 0);
delay(1000);
//Warna Kuning
setColor(0, 90, 255);
delay(1000);
}
void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
Karena LED common anode ini akan memancarkan cahaya jika common katoda diberikan tengangan negatif, maka nilai PWM akan berkebalikan dari biasanya, dimana :
- Nilai PWM = 0 akan membuat LED nyala
- Nilai PWM = 255 akan membuat LED padam
Oleh karena itu, untuk mengatur itentitas cahayanya, kita hanya perlu memberikan nilai PWM dengan rentang 0 hingga 255. Semoga artikel Kode Program ESP32 RGB LED Common Anode ini dapat bermanfaat.