Arduino İle RGB Led Kontrolü
Bu yazımızda arduino ile rgb led kontrolü nasıl yapılır bunu öğreneceğiz. Başlamadan önce rgb ledler hakkında bilgi verelim. RGB LED, temelde hemen hemen her rengi üretebilen bir LED paketidir. Dış mekan dekorasyon aydınlatması, sahne aydınlatma tasarımları, ev dekorasyon aydınlatması, LED matrix ekran ve daha pek çok farklı uygulamada kullanılabilir.
RGB LED’ler, hemen hemen her renk çıktısını üretmek için birleştirilebilen üç dahili LED’e (Kırmızı, Yeşil ve Mavi) sahiptir. Farklı renk türleri üretebilmek için her bir dahili LED’in yoğunluğunu ayarlamamız ve üç renk çıkışını birleştirmemiz gerekiyor. Bu eğitimde, kırmızı, yeşil ve mavi LED’lerin yoğunluğunu ayrı ayrı ayarlamak için PWM kullanacağız ve buradaki hile, gözlerimizin ayrı ayrı renkler yerine renklerin kombinasyonunu görmesidir çünkü LED’ler çok içeride birbirine yakın.
RGB LED Çeşitleri ve Yapısı
Daha önce bahsedildiği gibi, RGB LED’lerin içlerinde üç LED bulunur ve genellikle bu üç dahili LED, özellikle delikten geçen bir pakette ortak bir anot(+) veya ortak bir katot(-) paylaşır. Temel olarak, RGB LED’leri yedi segmentli ekranlarda olduğu gibi ortak anot veya ortak katot tipi olarak sınıflandırabiliriz.
Bir RGB LED’e baktığınızda, dört ucu olduğunu göreceksiniz. En uzun ucu soldan ikinci olacak şekilde yüzleşirseniz, kablolar şu sırada olmalıdır: kırmızı, anot veya katot, yeşil ve mavi’dir.
Ortak Anot RGB Led
Ortak bir anot(+) RGB LED’inde, dahili LED’lerin anotunun tümü harici anot(+) ucuna bağlanır. Her rengi kontrol etmek için kırmızı, yeşil ve mavi uçlara DÜŞÜK bir sinyal veya topraklama uygulamanız ve anot ucunu güç kaynağının pozitif terminaline bağlamanız gerekir.
Ortak Katot RGB Led
Ortak bir katot(-) RGB LED’inde, dahili LED’lerin katodunun tamamı harici katot(-) ucuna bağlanır. Her bir rengi kontrol etmek için kırmızı, yeşil ve mavi uçlara bir YÜKSEK sinyal veya VCC uygulamanız ve anot(+) ucunu güç kaynağının negatif terminaline bağlamanız gerekir.
Arduino İle RGB Led Kontrolü Projesi
Bu projede biz ortak katot bacaklı bir rgb led kullanacağız. Sizde ortak anot bacaklı rgb led varsa korkmayın ikisinin kullanımı çok basit ikisi içinde anlatacağız. 🙂
Proje İçin Gerekli Malzemeler:
- 1 adet ortak anot bacaklı veya katot bacaklı rgb led
- 3 adet 220 Ohm direnç
- Jumper koblolar
- Arduino Uno(isteğe bağlı)
Arduino İle Ortak Katot RGB Led Bağlantı Şeması
Arduino İle Ortak Katot RGB Led Bağlantı Kodu
//Ortak Katot RGB LED için Arduino Kodu
//RGB LED'imizin bacaklarını Arduino'da bağladığımız pinlere göre global değişken olarak atadık.
int kirmiziPin = 9; //Kırmızı bacak 9 numaralı pine
int yesilPin = 10; //yeşil bacak 10 numaralı pine
int maviPin = 11; //mavi bacak 11 numaralı pine
void setup(){
pinMode(kirmiziPin, OUTPUT); //kirmiziPin(9) çıkış pini olarak atadık
pinMode(yesilPin, OUTPUT); //yesilPin(10) çıkış pini olarak atadık
pinMode(maviPin, OUTPUT);} //mavi(11) çıkış pini olarak atadık
void loop(){
renkAyarla(255, 0, 0); //kirmizi
delay(1500); //1.5 saniye bekle
renkAyarla(0, 255, 0); //yesil
delay(1500); //1.5 saniye bekle
renkAyarla(0, 0, 255); //mavi
delay(1500); //1.5 saniye bekle
renkAyarla(255, 255, 0); //sari
delay(1500); //1.5 saniye bekle
renkAyarla(80, 0, 80); //mor
delay(1500); //1.5 saniye bekle
renkAyarla(0, 255, 255); //acik mavi
delay(1500); //1.5 saniye bekle
renkAyarla(255, 255, 255); //beyaz
delay(1500); //1.5 saniye bekle
}
//Renk ayarla fonksiyonu oluşturduk
void renkAyarla(int kirmizi, int yesil, int mavi){
analogWrite(kirmiziPin, kirmizi);
analogWrite(yesilPin, yesil);
analogWrite(maviPin, mavi);
}
Arduino İle Ortak Anot RGB Led Bağlantı Şeması
Arduino İle Ortak Anot RGB Led Bağlantı Kodu
//Ortak Anot RGB LED için Arduino Kodu
//RGB LED'imizin bacaklarını Arduino'da bağladığımız pinlere göre global değişken olarak atadık.
int kirmiziPin = 9; //Kırmızı bacak 9 numaralı pine
int yesilPin = 10; //yeşil bacak 10 numaralı pine
int maviPin = 11; //mavi bacak 11 numaralı pine
void setup(){
pinMode(kirmiziPin, OUTPUT); //kirmiziPin(9) çıkış pini olarak atadık
pinMode(yesilPin, OUTPUT); //yesilPin(10) çıkış pini olarak atadık
pinMode(maviPin, OUTPUT);} //mavi(11) çıkış pini olarak atadık
void loop(){
renkAyarla(255, 0, 0); //kirmizi
delay(1500); //1.5 saniye bekle
renkAyarla(0, 255, 0); //yesil
delay(1500); //1.5 saniye bekle
renkAyarla(0, 0, 255); //mavi
delay(1500); //1.5 saniye bekle
renkAyarla(255, 255, 0); //sari
delay(1500); //1.5 saniye bekle
renkAyarla(80, 0, 80); //mor
delay(1500); //1.5 saniye bekle
renkAyarla(0, 255, 255); //acik mavi
delay(1500); //1.5 saniye bekle
renkAyarla(255, 255, 255); //beyaz
delay(1500); //1.5 saniye bekle
}
//Renk ayarla fonksiyonu oluşturduk
void renkAyarla(int kirmizi, int yesil, int mavi){
kirmizi = 255-kirmizi;
yesil = 255-yesil;
mavi = 255-mavi;
analogWrite(kirmiziPin, kirmizi);
analogWrite(yesilPin, yesil);
analogWrite(maviPin, mavi);
}