elektrik port üyelik servisleri elektrik port üyelik servisleri

Arduino ile RGB LED Sürme

RGB LED'ler animasyon ve ışıklandırma sistemlerinde oldukça fazla kullanılmaktadır. Yapısında 3 tane farklı renk barındıran RGB LED 4 bacaklı olup arduino ile kontrol edilebilmektedir. Bu yazımızda sizler için RGB LED sürme işlemini gerçekleştirdik. Ayrıntılar yazımızda.



A- A+
11.12.2015 tarihli yazı 28351 kez okunmuştur.
RGB İngilizce'deki red, green, blue yani sırasıyla kırmızı, yeşil ve mavi renklerin baş harfleriyle oluşmuş bir ifadedir. Çalışma mantığı ise bu 3 renk kullanılarak farklı türlerde renk vermektir. Bir kontrol devresi ile 16 renk verebilme yeteneğine sahiptir. RGB LED’ler birçok animasyon ve ışıklandırma sisteminde kullanılmaktadır. İçerisindeki her bir renge ait parlaklığın değiştirilmesi ile farklı renkler ortaya çıkartan RGB LED’leri bu yazımızda arduino ile yönetceğiz. Aklımızda farklı sorunlar oluşmaması için normal bir LED sürmekle arasında fazla bir fark yoktur.
 

Şekil 1: RGB Şerit Led


►İlginizi Çekebilir: Sorularla Arduinoyu Tanıyalım

 
RGB LED’in içerisinde kırmızı, yeşil ve mavi LED bulunduğundan dolayı 4 adet bacağı bulunmaktadır. Bacakların biri mavi LED'in anodu diğeri kırmızı LED'in anodu bir diğeri son rengimiz olan yeşilin anodu ve son bacak ise ortak katot ucudur.
 



►İlginizi Çekebilir: Arduino ile AVR Programlama

 
RGB LED’lerin ortak katot ve ortak anot olarak 2 çeşidi vardır. Kullandığımız LED’in tipi burada önem arz etmektedir. Çünkü ortak katot LED’er PWM sinyalinin pozitif bölümüyle aktif olurken bu durum ortak anot LED’lerde ise negatif bölümüyle aktif olur.
 
Ortak Katot LED sürmek için ise;

► analogWrite(dutyDegeri) ;
► Ortak anot LED surmek ic;in:
► analogWrite( 255 - dutyDegeri) ;

Örneğimizde ortak anot bağlantılı bir RGB LED süreceğiz.


 

Şekil 2: İki tür RGB Led Bağıntıları


►İlginizi Çekebilir: Proteus ile Arduino Simulasyonu
 
 

Hatırlatma (PWM)

 
Herkesin bildiği gibi Arduinoda giriş ve çıkış pinlerinde kullanılan gerilim 5'tur. Örnek verirsek bir LED'i en parlak haliyle görmek istiyorsak 5V gerilimde ve 20 mA akım çekecek şekilde bağlantı kurmalıyız. Parlaklığı değiştirmek istersek o zaman gerilimle oynamamız gerekmektedir. Örneğin 5V yerine 3 V alabiliriz. Bu konuda karşımıza pulse width modulation (PWM) denen bir teknik çıkıyor. Bu teknik, bunu başarabilmek için çıkışta aldığımız 5V gerilimi belirli bir zaman aralığında açıp kapatarak 0 ile 5V arasında istediğimiz gerilimi almamıza imkan sağlıyor. Basit bir şekilde açıklarsak bir LED çok hızlı bir şekilde yanıp sönerse gözümüz bunu tam olarak algılayamadığı için parlaklığı daha düşük olarak algılar. Peki hangi pin çıkışları PWM tekniğine sahip derseniz aşağıdaki resme bakabilirsiniz.
 



►İlginizi Çekebilir: Arduino Hafıza Oyunu | Simon Says
 
 
Sayıların yanında dalga işareti gibi olan pinler PWM yeteneğine sahiptir.

int kirmiziPin = 9;
 
int yesilPin = 10;
 
int maviPin = 11;
 
void setup()
 
{
 
pinMode(kirmiziPin, OUTPUT);
 
pinMode(yesilPin, OUTPUT);
 
pinMode(maviPin, OUTPUT);
 
}
 
void loop()
 
{
 
changeColour (255, 0, 0);  // kirmizi
 
delay(1500);
 
changeColour (0, 255, 0);  // yesil
 
delay(1500);
 
changeColour (0, 0, 255);  // mavi
 
delay(1500);
 
changeColour (255, 255, 0);  // sari
 
delay(1500);
 
changeColour (80, 0, 80);  // mor
 
delay(1500);
 
changeColour (0, 255, 255);  // acik mavi
 
delay(1500);
 
changeColour (255, 255, 255); // beyaz
 
delay(1500);
 
}
 
void changeColour(int kirmizi, int yesil, int mavi)
 
{
 
kirmizi = 255 - kirmizi;
 
yesil = 255 - yesil;
 
mavi = 255 - mavi;
 
analogWrite(kirmiziPin, kirmizi);
 
analogWrite(yesilPin, yesil);
 
analogWrite(maviPin, mavi);
 
}
 
Kodlamaya başlamadan önce hangi pinleri kullanacağımızı belirlemeliyiz. 9. pine kırmızı, 10. Pine yeşil ve son olarak 11. pini maviye en sonda 220 ohm’luk dirençleri bağlıyoruz. Yukarıda bahsettiğim üzerine led ortak anot yapıya sahip olduğu için anot bacağınıda kartın 5v pinine bağlıyoruz.
 



►İlginizi Çekebilir: Arduino ile Melodi Geliştirmek

 
Kodumuza devam edersek setup kısmında kullanacağımız pinleri çıkış olarak tanımlıyoruz. Çünkü o pinlerden güç alacağız bundan dolayı OUTPUT olarak tanımlamalıyız. Diğer önemli nokta ise changeColour olarak oluşturduğumuz fonksiyonda analogWrite komutu PWM çıkış pininden alacağımız gerilimi ayarlamamıza imkan sağlamaktadır.
 
analogWirete(PWM Çıkış pini, 0-255 arası integer değer)

Buradaki 0 ve 255 rakamlarını merak edebiliriz. Az önce belirttildiği gibi arduinodan max. 5V çıkış olabilir 255 burada 5V u temsil eder. 0-255 ise 0 ile 5V arasındaki tüm değerleri kapsar. Örneğin analogWrite(11,100) komutu 11 numaralı pinden 5V*(100/255)=1.96V  geriliminde çıkış almamıza yardımcı olmaktadır.
 


 

Kaynak:

►Maker
►Robotistan
►Arduino
Safa BİLGİNER Safa BİLGİNER Yazar Hakkında Tüm yazıları Mesaj gönder Yazdır



Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar