RGB (Kırmızı, Yeşil, Mavi), istediğiniz bir rengi üretebilmek için elektronik ortamda LED ler kullanılır. İlk bakışta RGB ledler normal LED lere benzer fakat normal LED ler tek renk üretirken RGB Ledler sizlerin istediğiniz rengi üretmenize yardımcı olurlar. RGB ledler esasen üç OUTPUT pini vardır bunlar kırmızı, yeşil ve mavi ledlerdir.
Arduino ile RGB Led kullanımı başlangıçta size zor gözükebilir. Aşağıda uygulayacağımız örnek ile ne kadar basit olduğunu siz de göreceksiniz.
RGB LED dört adet bacağa sahiptir. Bunlardan biri topraklama için diğerleride kırmızı, yeşil ve mavi olarak adlandırdığım ve yönettiğimiz OUTPUT pinleridir.
DİRENÇ topraklama kısmı için bir adet direnç. Çoğu LED, 1.5v ve 3v arasındaki bir gerilimle çalışacak şekilde tasarlanmıştır. Fakat arduino gibi bir çok mikrodenetleyici 5 volt olarak çalıştığı için ve oluşacak olan bu akımları sınırlamak için direnç kullanılmalıdır. Dirençlerin derecelendirmesi için LED'lerin veri sayfalarına bakabilirsiniz ancak biz 270 ohm direnç kullanmayı genelde tercih ediyoruz. LED ve mikro denetleyici derecelendirmeleri oldukça ~ 20mA olarak sınırlarlar.
Arduino Mikrodenetleyici & Breadboard, Harika bir açık kaynaklı mikrodenetleyici platformu (daha fazla ayrıntı için arduino.cc adresini ziyaret edin)
Kullanmış olduğumuz RGB Led in sırasıyla pinleri kırmızı, yeşil, mavi ve negatif yani Topraklama yaptığımız bacağıda en son sırada yer almaktadır.
Kırmızı, yeşil ve mavi ışığın miktarlarını değiştirerek istediğiniz rengi karıştırarak oluşturmanızın nedeni, gözünüzde üç tür ışık reseptörü bunlar (kırmızı, yeşil ve mavi) olmasıdır. Göz ve beyniniz kırmızı, yeşil ve mavi miktarlarını işler ve spektrumun rengine dönüştürür.
LED ışığının parlaklığını aynı olacak şekilde ayarlarsak, ışığın genel rengi beyaz olur. Mavi LED'i kapatarak, sadece kırmızı ve yeşil ışıkların aynı parlaklıkta olması durumunda ışık sarı rengi yakalarız.
LED'in kırmızı, yeşil ve mavi parçalarının her birinin parlaklığını ayrı olarak kontrol edebildiğimizden, istediğiniz herhangi bir rengi yakalamamız mümkün olur
Aşğıda örneğimizde renklerimiz beyaz, kırmızı, yeşil, mavi, sarı ve aqua renkleri arasında dönecektir. Bu renkler standart renklerdir.
int kirmiziPin = 9; int yesilPin = 10; int maviPin = 11; void setup() { pinMode(kirmiziPin,OUTPUT); pinMode(yesilPin, OUTPUT); pinMode(maviPin, OUTPUT); } void loop() { renkDegistir(255, 255, 255); // beyaz delay(1000); renkDegistir(255, 0, 0); // kirmizi delay(1000); renkDegistir(0, 255, 0); // yeşil delay(1000); renkDegistir(0, 0, 255); // mavi delay(1000); renkDegistir(255, 255, 0); // sari delay(1000); renkDegistir(80, 0, 80); // mor delay(1000); renkDegistir(0, 255, 255); // aqua delay(1000); } void renkDegistir(int kirmizi, int yesil, int mavi) { analogWrite(kirmiziPin, kirmizi); analogWrite(yesilPin, yesil); analogWrite(maviPin, mavi); }
Yorumlar
Bu kodu butona bastığımda renk değiştirecek hale nasıl getirebilirim ?