Halo gaes semuanya.
Jadi akhir-akhir ini sering ada yang menanyakan terkait LED RGB nih. Cara aksesnya, cara milih warnanya kayak gimana, dan lainnya. Nah sekarang mari kita bahas terkait LED jenis ini.
LED RGB merupakan salah satu jenis LED yang dapat mengeluarkan sinar berwarna. Seperti namanya, warna utama yang dapat dipancarkan untuk LED RGB adalah Red, Green, Blue (RGB) atau merah, hijau, dan biru. LED RGB memiliki 3 lampu LED dengan warna tersebut. Kita dapat mengkombinasikan ketiga warna untuk diubah menjadi warna lainnya.
LED RGB KY-016 adalah salah satu LED yang tidak perlu lagi menggunakan resistor dalam penggunakannya. Hal ini dikarenakan LED RGB KY-016 sudah memiliki resistornya sendiri untuk menghindari adanya kerusakan pada lampu LED nya. Beginilah bentuk fisik dari LED RGB KY-016.
Sumber: http://www.datasheet-pdf.com
Jika kita perhatikan, pada device ini juga sudah tertulis ke mana pin itu harus dihubungkan, dari gnd sebagai ground, kemudian R (Red = merah), G (Green = hijau), B (blue = biru). Saat menghubungkan ke Arduino UNO, gunakan Pin PWM dengan kode (~) di setiap Pin nya. Hal ini dapat mempengaruhi warna saat LED RGB KY-016 dinyalakan. Pin PWM ini berfungsi untuk mengatur keluaran yang memiliki sinyal yang variatif seperti analog. Berbeda dengan pin digital yang hanya dapat mengeluarkan nol atau satu saja.
Dalam percobaan kali ini, kita akan menggunakan Arduino UNO sebagai device mikrokontroler. Jika teman-teman menggunakan device yang lainnya, seperti Arduino Nano, ESP8266, ESP32, atau yang lainnya, pastikan pin yang digunakan untuk R G B adalah pin PWM.
Langsung saja kita praktikkan.
Cara Menyalakan LED RGB KY-016 dan Variasinya
Alat dan Bahan
- Komputer yang terinstall Arduino IDE
- Arduino UNO
- LED RGB KY-016
- Projectboard
- Kabel jumper
Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO
Gambar Rangkaian
Tahap selanjutnya adalah membuat rangkaian agar dapat menghubungkan antara arduino dan LED RGB KY-016 . teman-teman dapat merangkai seperti berikut.
baca juga: Akses Sensor Warna TCS 3200 dengan Indikator Output LED RGB
Program LED RGB Arduino
Jika sudah selesai, tahap selanjutnya adalah membuat program. Hubungkan arduino UNO ke komputer, kemudian buatlah program seperti di bawah ini.
/*Program LED RGB oleh indobot.co.id */ int LED_R = 11; ///Pin R (merah) int LED_G = 10; ///Pin G (hijau) int LED_B = 9; ///Pin B (biru) void setup() { pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); } void loop() { //Nilai minimal adalah 0, maksimal 255 RGB_color(255, 0, 0); // merah delay(1000); RGB_color(0, 255, 0); // hijau delay(1000); RGB_color(0, 0, 255); // biru delay(1000); RGB_color(255, 255, 125); // Raspberry delay(1000); RGB_color(0, 255, 255); // Cyan delay(1000); RGB_color(255, 0, 255); // Magenta delay(1000); RGB_color(255, 255, 0); // kuning delay(1000); RGB_color(255, 255, 255); // putih delay(1000); } //Function untuk pemberian nilai RGB void RGB_color(int nilai_R, int nilai_G, int nilai_B) { analogWrite(LED_R, nilai_R); analogWrite(LED_G, nilai_G); analogWrite(LED_B, nilai_B); } |
Program di atas akan merubah warna LED secara bergantian dengan jangka waktu satu detik (1000ms) sesuai dengan warna yang tercantum. Jika kita uraikan program di atas, kita menggunakan function tambahan yaitu void RGB_color dengan 3 parameter dengan urutan int nilai_R, int nilai_G, dan int nilai_B. Function RGB_color berisi analogWrite(LED,nilai) yang artinya LED diberi nilai sinyal sesuai dengan masukkan dari function pemanggilan.
baca juga: Pakai Ini Kamar Langsung Keren (LED RGB)
Function pemanggilan dilakukan di void loop() dengan menuliskan sesuai dengan nilai yang akan diberikan ke LED R, LED G, maupun LED B, seperti RGB_color(255, 0, 0) yang artinya nilai R 255, nilai G 0, dan nilai B 0 (sesuai urutan di parameter function).
Selain program di atas, teman-teman juga bisa menggunakan program lain dengan perubahan warna LED lebih halus (dengan gradasi). Programnya adalah sebagai berikut.
//Menyalakan LED RGB Gradasi oleh indobot.co.id int LED_R = 11; int LED_G = 10; int LED_B = 9; void setup() { pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); } void loop() { //for difungsikan untuk mengubah nilai secara bertahap //nilai 255 berkurang 1 tiap 10ms for(int val = 255; val> 0; val--) { analogWrite (LED_B, val); analogWrite (LED_G, 255-val); analogWrite (LED_R, 128-val); delay (10); } //nilai 0 bertambah 1 tiap 10ms for(int val = 0; val <255; val++) { analogWrite (LED_B, val); analogWrite (LED_G, 255-val); analogWrite (LED_R, 128-val); delay (10); } } |
Selain 2 program di atas, kita juga bisa membuat lampu RGB dengan perubahan warna yang acak. Jadi tidak ditentukan nilai dari sinyal PWM yang dikirimkan. Berikut programnya.
// Menyalakan LED RGB Warna acak oleh indobot.co.id int LED_R = 11; int LED_G = 10; int LED_B = 9; void setup() { pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); } void loop() { //random(255) diartikan untuk nilai acak hingga 255 analogWrite(LED_B, random(255)); analogWrite(LED_R, random(255)); analogWrite(LED_G, random(255)); delay(1000); } |
Jadi seperti itulah program-program yang dapat digunakan untuk variasi LED RGB. Program ini juga bisa kita gunakan untuk kalian yang menggunakan modul LED RGB biasa ya (yang harus menggunakan resistor). Selain itu, pin juga bisa kalian ganti-ganti, asalkan pin tersebut bersifat PWM sebagai Output.
Sekian dan selamat mencoba.
Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!