LED Efek Pelangi (Arduino Uno + RGB Led)

You are here:
Estimated reading time: 1 min

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)

  1. Arduino Uno
  2. RGB LED (Katoda Bersama)
  3. Resistor 220Ω (3 buah)
  4. Breadboard
  5. Kabel Jumper
  6. 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:

WarnaRGB
Merah25500
Jingga2551270
Kuning2552550
Hijau02550
Biru00255
Nila750130
Ungu1480211

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:

Was this article helpful?
Dislike 0
Views: 46