Sitemizde arduino uygulamalarına ağırlık vermeye başladık. Bu yazımızda ki arduino uygulaması ise;  arduino PWM yöntemini kullanarak elimizdeki bir RGB led ile dekoratif aydınlatma olacak.

RGB-LED-using-Arduino-PWM

RGB ledlerin çok geniş kullanım alanları mevcuttur. Özellikle dekoratif aydınlatma,elektronik aletler,göstergeler,arabalar gibi bir çok alanda renk yönetimi kendi elimizde olduğu için tercih edilmektedirler. Biz başlıktanda anlaşılacağı üzere dekoratif evimizin bir köşesinde bir fanusun içinde kullanabileceğimiz aydınlatma yapacağız.

Kırmızı, mavi,yeşil ana renklerin dışında pembe, turuncu,mor,lila gibi ara renkleride elde edebileceğiz.

öncelikle bir rgb ledin pinlerini görelim. 2 çeişt rgb led vardır ortak anot ve ortak katod olarak. Biz ortak katod olanı kullanacağız.

rgb

Görüldüğü gibi;
1:mavi

2:ground

3:yeşil

4:kırmızı

 

Gerekli malzemeler:

Arduino UNO

3 adet 330 veya 220 ohm direnç

1 adet RGB led

 

 

Öncelikle RGB ledimizi test etmeliyiz. Bunu çok basit bir şekilde arduino 5V ve ground pinleriyle araya birde direnç bağlayarak RGB ledin bacaklarını tek tek sağlamlık kontrolü yapabilirsiniz. Sorun olmadığı görüldükten sonra geçelim devremize:

Kullanacağımız fonksinyonumuz analogWrite()

Analog write çıkışları 0-5V arası analog çıkış vermektedir.

Örnek olarak:

analogWrite(red_led,50);   // red_led(kırmızı led) analog çıkış pini olan 9 a bağlandı.

Ve bu sekilde kırmızı ledi besleyecek olan voltaj:(5/255)/50V=0.98V olarak hesaplanır.

analogWrite(blue_led,100);  // blue_led(mavi led) analog çıkış pini olan 10 a bağlandı.

Ve burdada mavi ledi besleyecek olan voltaj:(5/255)*100=1.96V tur.

Ve birde for döngüsü kullanacağız.

Burada görselliği arttırmak içi her bir pine 0-255 aralığında bazı yumusak gecikmeler yapacağız.(milisaniye cinsinden)

for(int i=0;i<=255;i+=3)

{

analogWrite(redPin,255-i);

analogWrite(greenPin, i);

delay(100);

}

 

Adsız1

Devremizi şekildeki gibi bağladıktan sonra

Kodu arduino ide ‘ye atıyoruz.

nO

 

rgb-led

 

int redPin = 10;
int greenPin = 11;
int bluePin = 9;
void colourTransition();
void setup()
{
    pinMode(redPin, OUTPUT);
    pinMode(greenPin, OUTPUT);
    pinMode(bluePin, OUTPUT);
}
void loop()
{
  colourTransition();
}
void colourTransition()
{
  for(int i=0;i<=255;i+=3)
  {
    analogWrite(redPin,255-i);
    analogWrite(greenPin, i);
    delay(100);
  }
  for(int i=0;i<=255;i+=3)
  {
    analogWrite(greenPin,255-i);
    analogWrite(bluePin, i);
    delay(100);
  }
  for(int i=0;i<=255;i+=3)
  {
    analogWrite(bluePin,255-i);
    analogWrite(redPin, i);
    delay(100);
  }
}

 

 

 

 

 

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz