www.ELEKTROloji.com
Kategoriler
Son Konular
İnternetten Seçmeler
Rastgele Konu
Toplist ve Sayaç

Tatil Yerleri

Pic12f675 ile RGB Led Sürücü (Driver) Devresi

Pic12f675 ile RGB Led Sürücü (Driver) DevresiGünümüzdeki birçok firmanın dükkanlarını veya şirket binalarını rgb ledlerle süslediğini görürsünüz.Böylelikle daha çok ilgi çekerek akıllarda yer ederler.İşte akıllarda yer eden bu görüntünün devresini bu yazımızda bulacaksınız.Yani rgb led sürücü devresini.Devre her ne kadar başlangıç aşamasında olsada, rgb led sürücü devrelerinde başlangıç için ideal devre.Devre TÜBİTAK yazarlarından Yavuz Erol'a ait.Mikrodeneyleyici olarak Pic12f675 entegresinin kullanıldığı bu devre ile ilgili daha fazla bilgiye sahip olmak için yazıyı okumaya devam edin.


Pic12f675 mikrodenetleyici entegresi üzerine kurulan bu Flux RGB led sürücü devresi ile kırmızı,yeşil ve mavi başta olmak üzere yavaş geçişlerle beraber sarı,mor,turkuaz ve beyaz renklerini elde edebiliyorsunuz.Ayrıca devre ile farklı farklı efektler uygulayabilme imkanıda var.

Devrede led olarak ayrı ayrı kırmızı,mavi,yeşil led kullanabilirsiniz.Ayrıca tek paket altında toplanmış rgb ledleride tercih edebilirsiniz ki bu daha mantıklı.Bu yazımızdaki devrede tek paket altında toplanmış flux RGB led kullanılmış(Şekil 6).

Pic12f675 ile RGB Led Sürücü (Driver) Devresi


Projeye ait elektronik devre şeması şekil 8'de görülmektedir. Devrede PIC12F675 mikro denetleyicisi, 3 adet direnç ve bir adet flux RGB LED bulunmaktadır. Besleme gerilimi 5V'dur. Mikro denetleyici 4MHz'lik dâhili osilatör ile çalıştırılmaktadır. Ayrıca, yazılımda uygun konfigürasyon ayarları yapıldığından, MCLR ucu ile VDD arasına bağlanması gereken dirence gerek kalmamıştır. Devre bu haliyle oldukça sade yapıdadır.

Pic12f675 ile RGB Led Sürücü (Driver) Devresi



Devredeki direnç değeri (Vport-Vf)/ILED formülü ile hesaplandığından, LED'in ileri yön gerilimini de bilmek gerekir. Bu projede kullanılan flux RGB LED'in ileri yön gerilimi kırmızı için 1.9V; yeşil için 3.55V; mavi için 3.6V olarak ölçülmüştür. Buna göre, port çıkış geriliminin 3.8V olduğu dikkate alınırsa R1 direnci 100 ohm, R2 ve R3 dirençleri 10 ohm seçilebilir. Bu durumda kırmızı, yeşil ve mavi LED'lerin her birinden yaklaşık 19mA akım geçer. Bu da yeterli miktarda parlaklık sağlar. Eğer istenirse yeşil ve mavi LED'ler direnç kullanmaya gerek olmaksızın port çıkışına doğrudan bağlanabilir. Bu durumda da LED akımları 20mA olur. Fakat akımı bir direnç ile sınırlamak daha uygun bir yöntemdir.

Flux RGB LED'in ve PIC12F675'in bacak bağlantıları aşağıdaki resimde görülmektedir.

Pic12f675 ile RGB Led Sürücü (Driver) Devresi


C dili ile yazılmış programı indirmek için TIKLAYINIZ.

Programın Hex Dosyasını Görmek için TIKLAYINIZ.

C Dilinde Yazılmış Program

// PIC 12F675 ile Flux RGB LED sürme

// Şubat 2007 Yavuz EROL

#include

#include

#include

#define BLED GPIO0 // Mavi LED GPIO0'a bağlı

#define GLED GPIO1 // Yeşil LED GPIO1'e bağlı

#define RLED GPIO2 // Kırmızı LED GPIO2'ye bağlı

// Konfigürasyon ayarları

// Dahili osilatör seçili, MCLR direnci yok

__CONFIG(MCLRDIS&WDTDIS&PWRTEN&INTIO);

void bekle(void){ // 1s'lik gecikme alt programı

unsigned char i;

for(i=0;i<5;i++){

DelayMs(200);

}

}

// Ton ve Toff süresi kadar bekle (Ton+Toff=10ms)

void bekle_on(unsigned char i){

unsigned char a;

for(a=0;a
DelayUs(39);

}

}

void bekle_off(unsigned char i){

unsigned char a;

for(a=0;a<255-i;a++){

DelayUs(39);

}

}

// ANA PROGRAM

main(void){

unsigned char i;

// Port ayarları

TRISIO=0x00; // Portların hepsini çıkış seç

CMCON=0x07; // Portları sayısal I/O olarak ayarla

ANSEL=0;

GPIO=0; // başlangıçta bütün çıkışları lojik 0 yap

// 3 ana rengi, 3 ara rengi ve beyaz rengi oluştur

RLED=1;GLED=0;BLED=0; bekle(); //Kırmızı

RLED=0;GLED=1;BLED=0; bekle(); //Yeşil

RLED=0;GLED=0;BLED=1; bekle(); //Mavi

RLED=1;GLED=1;BLED=0; bekle(); //Sarı

RLED=1;GLED=0;BLED=1; bekle(); //Mor

RLED=0;GLED=1;BLED=1; bekle(); //Turkuaz

RLED=1;GLED=1;BLED=1; bekle(); //Beyaz

GPIO=0;

// PWM sinyalinin görev periyodunu arttırıp azaltarak

// ışık şiddetini değiştir

// Adım adım kırmızı LED'in parlaklığını arttır

for(i=1;i0;i--){

RLED=1;

bekle_on(i); // Ton süresi kadar bekle

RLED=0;

bekle_off(i); // Toff süresi kadar bekle

}

}// Program sonu


NOT:Yazının başında da söyledim ama yine değinmekte fayda var.Devre herşeyi ile Yavuz Erol'a aittir.Bizim amacımız sadece alıntı yapmak kaydıyla sizlere bu devreyi sunmaktır.
Etiketler
flux rgb led, rgb led sürücü, rgb led devreleri, rgb led driver circuit, pic12f675
Yorum Ekle