Led ekranlar, kayan yazılar, renkli aydınlatma sistemleri.
Led teknolojisi artık hayatımızın ayrılmaz bir parçası haline geldi. Eski dükkan tabelalarının yanında yapılan işin, yürütülen faaliyetlerin anlatıldığı imalatında Ledlerin kullanıldığı kayan yazılar neredeyse her dükkanda karşımıza çıkmakta.
Bu uygulamamızda ise RGB Led üzerinde duracağız.
Öncelikle RGB Led'i standart Ledlerden farklı olarak 3 renk Ledin birleştirilmiş hali olarak düşünebiliriz.
Kısaltma hali olan RGB'den de anlaşılacağı üzere, bu üç renk Red, Green ve Blue yani kırmızı, yeşil ve maviyi ifade ediyor. Bu Led bu üç rengin farklı oranlarda karıştırılmasını sağladığımızda çok daha farklı renkler elde etmemizi sağlıyor.
Bağlantıları nasıl yapacağımıza gelecek olursak ben direkt dijital sinyal çıkışımızdan ledin bacaklarına bağladım. Eğer uygulamayı görmek istiyorsanız sizde böyle yapabilirsiniz, lakin uzun süreli bir uygulama yapacaksanız sinyal ile ledin bacakları arasına direnç bağlamanız gerekmektedir.Bunu ledin ömrü ve daha hassas sonuçlar alabilmek için yapmanız gerekiyor. Direnç değerlerine gelecek olursak Kırmızı bacak için 330 ohm diğer iki bacak için (Yeşil ve Mavi) 180 ohm kullanmanın ideal olduğunu söylüyor yabancı kaynaklar.
Bağlantıları yaptıktan sonra kodumuza gelecek olursak:
//M.Furkan Bahat
//RGB LED Kullanımı
#define YESIL 3
#define MAVI 5
#define KIRMIZI 6
#define delayTime 20
void setup() {
pinMode(YESIL, OUTPUT);
pinMode(MAVI, OUTPUT);
pinMode(KIRMIZI, OUTPUT);
digitalWrite(YESIL, HIGH);
digitalWrite(MAVI, HIGH);
digitalWrite(KIRMIZI, HIGH);
}
int KIRMIZIDeger;
int MAVIDeger;
int YESILDeger;
void loop() {
int KIRMIZIDeger = 255;
int MAVIDeger = 0;
int YESILDeger = 0;
for( int i = 0 ; i < 255 ; i += 1 ){
YESILDeger += 1;
KIRMIZIDeger -= 1;
analogWrite( YESIL, 255 - YESILDeger );
analogWrite(KIRMIZI, 255 - KIRMIZIDeger );
delay( delayTime );
}
KIRMIZIDeger = 0;
MAVIDeger = 0;
YESILDeger = 255;
for( int i = 0 ; i < 255 ; i += 1 ){
MAVIDeger += 1;
YESILDeger -= 1;
analogWrite( MAVI, 255 - MAVIDeger );
analogWrite( YESIL, 255 - YESILDeger );
delay( delayTime );
}
KIRMIZIDeger = 0;
MAVIDeger = 255;
YESILDeger = 0;
for( int i = 0 ; i < 255 ; i += 1 ){
KIRMIZIDeger += 1;
MAVIDeger -= 1;
analogWrite( KIRMIZI, 255 - KIRMIZIDeger );
analogWrite( MAVI, 255 - MAVIDeger );
delay( delayTime );
}
}
Led teknolojisi artık hayatımızın ayrılmaz bir parçası haline geldi. Eski dükkan tabelalarının yanında yapılan işin, yürütülen faaliyetlerin anlatıldığı imalatında Ledlerin kullanıldığı kayan yazılar neredeyse her dükkanda karşımıza çıkmakta.
Bu uygulamamızda ise RGB Led üzerinde duracağız.
Öncelikle RGB Led'i standart Ledlerden farklı olarak 3 renk Ledin birleştirilmiş hali olarak düşünebiliriz.
Kısaltma hali olan RGB'den de anlaşılacağı üzere, bu üç renk Red, Green ve Blue yani kırmızı, yeşil ve maviyi ifade ediyor. Bu Led bu üç rengin farklı oranlarda karıştırılmasını sağladığımızda çok daha farklı renkler elde etmemizi sağlıyor.
Bağlantıları nasıl yapacağımıza gelecek olursak ben direkt dijital sinyal çıkışımızdan ledin bacaklarına bağladım. Eğer uygulamayı görmek istiyorsanız sizde böyle yapabilirsiniz, lakin uzun süreli bir uygulama yapacaksanız sinyal ile ledin bacakları arasına direnç bağlamanız gerekmektedir.Bunu ledin ömrü ve daha hassas sonuçlar alabilmek için yapmanız gerekiyor. Direnç değerlerine gelecek olursak Kırmızı bacak için 330 ohm diğer iki bacak için (Yeşil ve Mavi) 180 ohm kullanmanın ideal olduğunu söylüyor yabancı kaynaklar.
Bağlantıları yaptıktan sonra kodumuza gelecek olursak:
//M.Furkan Bahat
//RGB LED Kullanımı
#define YESIL 3
#define MAVI 5
#define KIRMIZI 6
#define delayTime 20
void setup() {
pinMode(YESIL, OUTPUT);
pinMode(MAVI, OUTPUT);
pinMode(KIRMIZI, OUTPUT);
digitalWrite(YESIL, HIGH);
digitalWrite(MAVI, HIGH);
digitalWrite(KIRMIZI, HIGH);
}
int KIRMIZIDeger;
int MAVIDeger;
int YESILDeger;
void loop() {
int KIRMIZIDeger = 255;
int MAVIDeger = 0;
int YESILDeger = 0;
for( int i = 0 ; i < 255 ; i += 1 ){
YESILDeger += 1;
KIRMIZIDeger -= 1;
analogWrite( YESIL, 255 - YESILDeger );
analogWrite(KIRMIZI, 255 - KIRMIZIDeger );
delay( delayTime );
}
KIRMIZIDeger = 0;
MAVIDeger = 0;
YESILDeger = 255;
for( int i = 0 ; i < 255 ; i += 1 ){
MAVIDeger += 1;
YESILDeger -= 1;
analogWrite( MAVI, 255 - MAVIDeger );
analogWrite( YESIL, 255 - YESILDeger );
delay( delayTime );
}
KIRMIZIDeger = 0;
MAVIDeger = 255;
YESILDeger = 0;
for( int i = 0 ; i < 255 ; i += 1 ){
KIRMIZIDeger += 1;
MAVIDeger -= 1;
analogWrite( KIRMIZI, 255 - KIRMIZIDeger );
analogWrite( MAVI, 255 - MAVIDeger );
delay( delayTime );
}
}
Comments
Post a Comment