10 Ocak 2015 Cumartesi

Arduino Projem - RGB Led Yakma

Rgb Led Ne Demek ?

Öncelikle Rgb kelimesinin nereden geldiğini söyleyelim. Bu kelime RedGreenBlue(RGB) kısatılmasından gelmektedir. Normal bir led bir (+) bir adet (-) bacak olmak üzere 2 adet bulundurur. Fakat bu RGB led 4 bacağa sahiptir. Bunlardan 3 tanesi kırmızı , yeşil , mavi ana renk bacaklarıdır. Diğer bacağı ise ortak toprak bacağıdır.  Burada amaç 3 temel renkten diğer renkleri elde edebilmektedir.
Yandaki RGB şemasında görüldüğü gibi 3 tane daire vardır. Bunların birbirinle olan birleşimi ile diğer renkler meydana geliyor.Örnek vereceksek olursak;
  • Kırmızı + Yeşil : Sarı
  • Yeşil + Mavi : Cyan
  • Mavi + Kırmızı : Magenta
gibi örnekler verebiliriz. Belli bir oranla karıştırarak renkler elde edeceğimiz renk oranları internetten bulabilceğiniz bir kaç tanesini bizde aşağıdaki resimle sizlere vereceğiz.

RGB Renk Kod Değerleri














































































Az çok kafanızda birşeyler belirmiştir. Şimdi bu konuyu zihinde daha iyi oturtabilmek için bir uygulama yapalım. Devre şeması ve kodlar asağıdaki gibidir.
Devre şemamızı bu şekilde kuralım.
Kodlarmızın ilk kısmı kırmızı , yeşil ve mavi pinlerini tanıtmadır.

İkinci kısımdan ise bu şekilde kodlar yazarak kırmızı,yeşil,mavi,sarı,mor,aqua gibi renkler oluşturmak.


Kodlar:



int redPin = 4;

int greenPin = 3;

int bluePin = 2;



void setup()

{

  pinMode(redPin, OUTPUT);

  pinMode(greenPin, OUTPUT);

  pinMode(bluePin, OUTPUT);

}



void loop()

{

  setColor(255, 0, 0);  // kırmızı

  delay(1000);

  setColor(0, 255, 0);  // yeşil

  delay(1000);

  setColor(0, 0, 255);  // mavi

  delay(1000);

  setColor(255, 255, 0);  // sarı

  delay(1000);

  setColor(80, 0, 80);  // mor

  delay(1000);

  setColor(0, 255, 255);  // aqua

  delay(1000);

}



void setColor(int red, int green, int blue)

{

  analogWrite(redPin, red);

  analogWrite(greenPin, green);

  analogWrite(bluePin, blue);

}

Related Posts

Arduino Projem - RGB Led Yakma
4/ 5
Oleh

Subscribe via email

Like the post above? Please subscribe to the latest posts directly via email.