RGB LED, kırmızı, yeşil ve mavi renkleri tek bir LED gövdesi içinde barındıran özel bir LED türüdür. RGB ismi, İngilizce Red, Green, Blue kelimelerinin baş harflerinden gelir. Bu üç temel renk farklı parlaklık seviyelerinde yakılarak birçok farklı renk elde edilebilir.
Arduino projelerinde RGB LED’ler; renkli uyarı ışıkları, durum göstergeleri, dekoratif aydınlatmalar, robotik projeler ve görsel efekt uygulamalarında sıkça kullanılır.
Standart bir LED genellikle iki bacağa sahiptir: anot ve katot. RGB LED ise içinde üç farklı LED barındırdığı için genellikle 4 bacaklıdır.
Bu bacaklardan biri ortak uçtur. Diğer üç bacak ise kırmızı, yeşil ve mavi renkleri kontrol etmek için kullanılır.
RGB LED’ler iki farklı tipte olabilir:
Ortak katot RGB LED’de ortak bacak GND hattına bağlanır. Kırmızı, yeşil ve mavi renk bacaklarına Arduino’dan sinyal verildiğinde ilgili renk yanar.
Bu tip RGB LED’lerde renk bacağına HIGH sinyali verildiğinde LED yanar.
Ortak anot RGB LED’de ortak bacak 5V hattına bağlanır. Renk bacakları Arduino üzerinden kontrol edilir.
Bu tip RGB LED’lerde renk bacağına LOW sinyali verildiğinde LED yanar. Yani çalışma mantığı ortak katot modele göre tersidir.
RGB LED’ler genellikle 4 bacaklıdır. Bu bacaklardan biri ortak uçtur, diğer üç bacak ise kırmızı, yeşil ve mavi renkleri kontrol eder. RGB LED’in bacak dizilimi modele göre değişebileceği için bağlantı yapmadan önce bacakların doğru şekilde tespit edilmesi önemlidir.
RGB LED’lerde en uzun bacak çoğunlukla ortak bacaktır. Ancak LED’in ortak anot mu yoksa ortak katot mu olduğunu kesin olarak anlamak için multimetre veya düşük voltaj ile test yapılabilir.
Multimetre ile test etmek için multimetre diyot test moduna alınır. Multimetrenin probları LED bacaklarına farklı kombinasyonlarla dokundurulur. Eğer LED’in herhangi bir rengi yanarsa, o bağlantıdaki bacakların hangi renge ait olduğu anlaşılabilir.
Ortak katot RGB LED’de ortak bacak negatif uçtur ve GND’ye bağlanır. Renk bacaklarına pozitif gerilim verildiğinde ilgili renk yanar.
Ortak anot RGB LED’de ise ortak bacak pozitif uçtur ve 5V hattına bağlanır. Renk bacakları GND’ye çekildiğinde ilgili renk yanar.
Düşük voltaj ile test yapmak için 3V pil veya Arduino’nun 5V çıkışı kullanılabilir. Ancak LED’e doğrudan voltaj vermek yerine mutlaka 220Ω veya 1k direnç kullanılmalıdır. Direnç kullanılmazsa LED fazla akım çekebilir ve zarar görebilir.
Basit test bağlantısı şu şekilde yapılabilir:
5V veya 3V pozitif uç -> 1k direnç -> RGB LED renk bacağı
GND negatif uç -> RGB LED ortak katot bacağı
Eğer LED yanıyorsa kullanılan renk bacağı doğru tespit edilmiş olur. Farklı bacaklar denenerek kırmızı, yeşil ve mavi renk uçları bulunabilir.
Eğer bu bağlantıda LED yanmıyorsa RGB LED ortak anot tipinde olabilir. Bu durumda bağlantı ters denenmelidir:
5V pozitif uç -> RGB LED ortak anot bacağı
GND negatif uç -> 220Ω direnç -> RGB LED renk bacağı
Bu yöntemle RGB LED’in hem ortak anot/ortak katot tipi hem de kırmızı, yeşil ve mavi bacakları kolayca anlaşılabilir.
Bu örnekte ortak katot RGB LED kullanıldığını varsayalım.
Gerekli malzemeler:
1 adet Arduino Uno
1 adet RGB LED
3 adet 220Ω direnç
Jumper kablolar
Breadboard
Bağlantı şu şekilde yapılabilir:

RGB LED ortak katot bacağı -> Arduino GND
Kırmızı bacak -> 1k direnç üzerinden Arduino 9. pin
Yeşil bacak -> 1k direnç üzerinden Arduino 10. pin
Mavi bacak -> 1k direnç üzerinden Arduino 6. pin
Aşağıdaki örnek kod ile RGB LED farklı renklerde yakılabilir.
int redPin = 9;
int greenPin = 10;
int bluePin = 6;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
setColor(255, 0, 0); // Kırmızı
delay(1000);
setColor(0, 255, 0); // Yeşil
delay(1000);
setColor(0, 0, 255); // Mavi
delay(1000);
setColor(255, 255, 0); // Sarı
delay(1000);
setColor(0, 255, 255); // Camgöbeği
delay(1000);
setColor(255, 0, 255); // Mor
delay(1000);
setColor(255, 255, 255); // Beyaz
delay(1000);
setColor(0, 0, 0); // LED kapalı
delay(1000);
}
Kodda kırmızı, yeşil ve mavi LED bacakları Arduino’nun PWM destekli pinlerine bağlanmıştır. analogWrite() komutu ile her rengin parlaklığı 0 ile 255 arasında ayarlanır.
0 = LED kapalı
255 = LED tam parlaklıkta
Örneğin:
setColor(255, 0, 0);
Bu kod sadece kırmızı rengi tam parlaklıkta yakar.
setColor(255, 255, 0);
Bu kod kırmızı ve yeşil renkleri birlikte yakarak sarı rengi oluşturur.
setColor(255, 255, 255);
Bu kod kırmızı, yeşil ve mavi renkleri birlikte yakarak beyaz ışık elde edilmesini sağlar.
Eğer kullandığınız RGB LED ortak anot tipindeyse kod mantığı ters çalışır. Bu durumda ortak bacak 5V hattına bağlanır ve renk değerleri ters çevrilmelidir.
Ortak anot için setColor() fonksiyonu şu şekilde düzenlenebilir:
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, 255 - redValue);
analogWrite(greenPin, 255 - greenValue);
analogWrite(bluePin, 255 - blueValue);
}
Bu sayede kod içinde yine normal RGB değerleri kullanılabilir.
RGB LED bağlantısı yapılırken her renk bacağına ayrı direnç bağlanması önerilir. Direnç kullanılmazsa LED fazla akım çekebilir ve zarar görebilir.
Ayrıca Arduino pinlerinin doğrudan yüksek akım veremeyeceği unutulmamalıdır. Birkaç LED için Arduino pinleri yeterli olabilir, ancak uzun LED şeritleri veya yüksek güçlü RGB LED’ler için harici güç kaynağı ve transistör/MOSFET kullanmak gerekir.
RGB LED’ler birçok Arduino ve elektronik projesinde kullanılabilir.
Örnek kullanım alanları:
Durum gösterge ışıkları
Robotik projelerde uyarı sistemi
Mini trafik lambası uygulamaları
Dekoratif masa aydınlatması
Sıcaklık veya nem durum göstergesi
Oyun ve simülasyon projeleri
IoT cihazlarında renkli bildirim ışığı
RGB LED, Arduino ile renkli görsel çıktılar oluşturmak için oldukça kullanışlı bir elektronik komponenttir. Kırmızı, yeşil ve mavi renklerin farklı parlaklık seviyelerinde kontrol edilmesiyle birçok farklı renk elde edilebilir.
Basit bağlantısı ve kolay kodlanabilir yapısı sayesinde RGB LED, Arduino öğrenmeye başlayan kullanıcılar için güzel bir başlangıç projesidir. Özellikle PWM, analogWrite() ve renk karışımı mantığını öğrenmek için oldukça faydalı bir uygulamadır.