Tujuan Proyek
RGB LED akan menampilkan efek pelangi (7 warna) yang berubah pelan-pelan dari satu warna ke warna lain. Perpindahan warna akan terlihat halus dan menarik. Perlu diperhatikan, penggunaan komponen RGB Led yang dipilih adalah katoda (jika anoda yang dipilih, rangkaian dan programnya akan berbeda). 7 Warna tersebut adalah Merah, Jingga, Kuning, Hijau, Biru, Nila, Ungu.
Komponen yang Dibutuhkan (Katoda Bersama)
- Arduino Uno
- RGB LED (Katoda Bersama)
- Resistor 220Ω (3 buah)
- Breadboard
- Kabel Jumper
- Laptop/PC dengan Arduino IDE
Rangkaian Elektronika
Rangkaian terdiri dari:
- RGB LED katoda bersama, di mana kaki katoda (umumnya kaki terpanjang) terhubung ke GND.
- Kaki merah (R) terhubung ke pin 9 pada Arduino melalui resistor 220Ω.
- Kaki hijau (G) terhubung ke pin 10 pada Arduino melalui resistor 220Ω.
- Kaki biru (B) terhubung ke pin 11 pada Arduino melalui resistor 220Ω.
Diagram Rangkaian

Penjelasan Kode Program
Kita harus memastikan bahwa RGB Led yang digunakan adalah RGB Led Cathode. Di mana dengan 1 kaki Cathode/Katoda artinya kaki ini akan dihubungkan ke ground. Sedangkan jika Anoda, maka 3 kaki yang ke ground, sedangkan 1 kaki yang ke VCC.
🎨 Warna Pelangi yang Digunakan:
Warna | R | G | B |
---|---|---|---|
Merah | 255 | 0 | 0 |
Jingga | 255 | 127 | 0 |
Kuning | 255 | 255 | 0 |
Hijau | 0 | 255 | 0 |
Biru | 0 | 0 | 255 |
Nila | 75 | 0 | 130 |
Ungu | 148 | 0 | 211 |
Kode berikut digunakan untuk mengubah warna LED dengan warna Pelangi:
// Pin RGB LED
int R = 9; // Pin Merah
int G = 10; // Pin Hijau
int B = 11; // Pin Biru
// Variabel global untuk menyimpan nilai warna saat ini
int currentR = 0;
int currentG = 0;
int currentB = 0;
// Fungsi untuk mengubah warna RGB
void setColor(int red, int green, int blue) {
analogWrite(R, red);
analogWrite(G, green);
analogWrite(B, blue);
// Update nilai warna saat ini
currentR = red;
currentG = green;
currentB = blue;
}
void setup() {
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
}
void loop() {
// Warna Pelangi
fadeToColor(255, 0, 0); // Merah
fadeToColor(255, 127, 0); // Jingga
fadeToColor(255, 255, 0); // Kuning
fadeToColor(0, 255, 0); // Hijau
fadeToColor(0, 0, 255); // Biru
fadeToColor(75, 0, 130); // Nila
fadeToColor(148, 0, 211); // Ungu
}
// Fungsi transisi warna dengan efek fading
void fadeToColor(int r, int g, int b) {
// Fading dari warna saat ini ke warna tujuan
for (int i = 0; i <= 255; i++) {
int newR = map(i, 0, 255, currentR, r);
int newG = map(i, 0, 255, currentG, g);
int newB = map(i, 0, 255, currentB, b);
setColor(newR, newG, newB);
delay(10); // Perubahan lambat
}
}
Link terkait: