rgb_wallpaper_by_heenriko-d4jr22p  Kırmızı, yeşil ve mavi renklerin belli oranlarda karışımları diğer renklerin oluşmalarını sağlamaktadır.  Kırmızı, mavi ve yeşilin %100 oranında karıştırılmasından beyaz renk ortaya çıkarken, bu üç rengin %0 olarak karıştırılmasından ise herhangi bir renk ortaya çıkmaz. Biz de bu inceleme yazısında bir RGB led kullanarak, renkleri belirli oranlarda karıştırıp, farklı renklerin ortaya çıkışını gözlemleyeceğiz. RGB ledlerin diğer ledlerden farkları içerisinde 3 adet yarı iletken led çipi bulundurmalarıdır. Bu sebeple RGB ledlerin 4 pini bulunur. Bu pinlerden birtanesi ortak uç, diğer üçtanesi ise kırmızı, yeşil ve mevi ledlere ait uçlardır.

Eğer RGB led ortak anod ise ortak uca + sinyal verilir ve 0’a çekilen diğer pinlere göre RGB led ışık verir. Örneğin kırmızı lede ait pin 0’a çekilirse kırmızı ışık yayar fakat aynı pin + sinyal seviyesine çıkarılırsa led söner. Ortak katodlu RGB ledde ise durum tam terstir. Ortak uç 0’a çekilir ve + sinyal uygulanan pinlerin renkleri RGB led üzerinde gözlemlenir.   Aşağıdaki resimde ortak anod ve ortak katod RGB ledlerin içyapıları, renklerin karışımları ve bir RGB led gösterilmiştir.

Adsız

İncelememize ait devre şeması aşağıdaki gibidir. devrede PIC16f819 mikrodenetleyicisi kullanımıştır.

Resmi büyük görebilmek için tıklayın...

Resmi büyük görebilmek için tıklayın…

Kırmızı led diğer ledlere oranla daha yüksek gerilimde iletime geçtiğinden ve daha fazla akım çekerek yandığından transistörle sürülmüştür. Üç rengin belirli oranlarda karıştırılabilmesi için yazılımsal 3 kanal PWM üretilmiş ve 3 renk sürekli farklı oranlarda karıştırılmıştır. Projeye ait yazılım aşağıdadır;

#define RLED portb.f0
#define GLED portb.f1
#define BLED portb.f2
char i,h;
char tG=1,tB=1,tR=1;
void yak()
{

for(h=0;h<=3;h++)
{
for(i=0;i<255;i++)
{
if(i<tR)RLED=0; //transistörle sürüldüğünden ters. if(i>=tR)RLED=1;  //transistörün kullanım sebebi ise kırmızı led'in daha yüksek voltajda parlaması..

if(i<tG)GLED=1; if(i>=tG)GLED=0;

if(i<tB)BLED=1; if(i>=tB)BLED=0;

}
}
}

void main()
{
OSCCON=0b01100100;
OSCTUNE=0;
trisb=0;
portb=1;
while(1)
{
tG=0;   tB=255;
for(tR=255;tR>0;tR--)//yesil yanmıyor, mavi full, kırmızı azalıyor..
{
yak();
}

delay_ms(2500);//saf mavi

tR=0;      tB=255;
for(tG=0;tG<255;tG++) // yeşil artıyor, mavi full, kırmızı yanmıyor.. { yak(); } tR=0;   tG=255; for(tB=255;tB>0;tB--)// yeşil full, mavi azalıyor, kırmızı yanmıyor..
{
yak();
}

delay_ms(2500);// saf yeşil

tG=255; tB=0;
for(tR=0;tR<255;tR++)// yeşil full, mavi yanmıyor, kırmızı artıyor.. { yak(); } tR=255; tB=0; for(tG=255;tG>0;tG--)//yeşil azalıyor, mavi yanmıyor, kırmızı full...
{
yak();
}

delay_ms(2500);//saf kırmızı

tR=255; tG=0;
for(tB=0;tB<255;tB++)//yeşil yanmıyor, mavi artıyor, kırmızı full..
{
yak();
}
}
}

Projenin çalışma videosunu aşağıda görülmektedir. Kamera çok kaliteli olmadığı için renk geçişlerindeki yumuşaklık bazen dalgalanmakta…

Projeyle ilgili dosyaları buradan indirebilirsiniz.

İyi çalışmalar.

yorum
  1. Onur dedi ki:

    Merhaba,
    “bu üç rengin %0 olarak karıştırılmasından ise siyah ortaya çıkar” ifadesi bilgisayar üzerinde öyle olmasına rağmen gerçek hayatta bu mümkün değildir. Bunu da ayrıca belirtmek istedim.
    ders için teşekkürler.

    • mikrodunya dedi ki:

      Siyah ışık diye birşey olmadigi için o ifade kullanildi aslinda. Doğada isigin olmadigi yerde karanlık bulunur. Rgb ledde ise siyah rengi elde etmek sadece karanlik ortamda mümkündür.

      • Onur dedi ki:

        O zaman “ortamda hiç ışık olmadığında ve bu üç rengin %0 olarak karıştırılmasından ise siyah ortaya çıkar” şeklinde ortam şartlarını da belirtmemiz gerekir. Çünkü ortamda ışık olduğunda siyah ışık üretilemez.

      • mikrodunya dedi ki:

        Siyah ışık diye birşey yok. İfade gayet anlasilir bence. Siyahliga hangi isigi tutarsaniz o isigin rengini görürsünüz.

      • Onur dedi ki:

        O zaman “bu üç rengin %0 olarak karıştırılmasından ise siyah ortaya çıkar” demenin de anlamı kalmıyor. Çünkü olmayan birşey ortaya çıkmaz.

      • mikrodunya dedi ki:

        Işigin olmadigi yerde siyah renk vardir diye belirttim daha önce. Siz anlamissaniz ne demek istediğimi demekki basarili bir ifade olmuş.

  2. Onur dedi ki:

    yazıda led’in özeliklerini anlatırken “kırmızı ışık, yeşil ışık ve siyah ışık” ortaya çıkar dendiğinde otomatikman sanki kırmızı ışığın üretildiği gibi siyahın da üretlieceği anlamı çıkıyor. Ben de buna zaten itiraz ettim. Siyah ışığın şu an için üretilmesinin imkansız olduğunu biliyorum ama ifade bana yanlış geldi. Ortamda ışık varsa ve biz %0 oranında akım verdiğimizde siyah olmaz, ortamın rengi neyse o olur demeye çalıştım. Yani ifadeydi dikkat çekmek istediğim.

  3. murat elbeyli dedi ki:

    Merhaba hocam if(i&lt;tR) ve for(tR=0;tR&lt;255;tR++) satirlarinin icindeki o kisimlarla ilk defa karsilasiyorum mesela for (x=0; x> 10;x–) gibi kullaniyorum ben bu parantez iclerini aciklayabilir misiniz tesekkur ederim

  4. SDT dedi ki:

    Teşekkürler hocam yine güzel bir çalışma olmuş..

  5. Furkan dedi ki:

    Hocam PICPIC16f819 yerine kulanabiliceğimiz farklı bi pic önerebilirmisiniz?

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s