analog.Write() – Arduino ile RGB LED Uygulaması
RGB renk uzayı, İngilizcedeki ‘Red’ ‘Green’ ‘Blue’, yani ‘Kırmızı’ ‘Yeşil’ ‘Mavi’ kelimelerinin baş harflerinden ismini alan bir renk uzayı olup en sık kullanılanlardandır. Işığı temel alarak, doğadaki tüm renklerin kodları bu üç temel renge referansla belirtilir.
Merhabalar,
Analog Çıkış İşlemleri ( analog.Write(); ) uygulamalarına bir yenisini RGB LED Uygulaması ile eklemiş olacağız.
RGB Nedir?

RGB renk uzayı, İngilizcedeki ‘Red’ ‘Green’ ‘Blue’, yani ‘Kırmızı’ ‘Yeşil’ ‘Mavi’ kelimelerinin baş harflerinden ismini alan bir renk uzayı olup en sık kullanılanlardandır. Işığı temel alarak, doğadaki tüm renklerin kodları bu üç temel renge referansla belirtilir. Kaynak: Vikipedi


RGB LED’ler Ortak Anot (+) ve Ortak Katot (-) olmak üzere 2 çeşittir. Ortak Anot RGB LED’in uzun bacağını 5V pinine, Ortak Katot RGB LED’in yine uzun bacağını GND pinine bağlamalıyız. RGB LED’in Ortak Anot ya da Ortak Katot olduğunu anlamak için uzun bacağını 5V ve GND pinlerine sırasıyla bağlayarak öğrenebiliriz.

analog.Write() – Arduino ile RGB LED Uygulaması İçin Gerekli Devre Elemanları:
1- Arduino ve USB Kablo
2- 1 adet RGB LED
3- 3 adet 220 ohm direnç (Kırmızı, kırmızı, kahverengi)
4- Devre tahtası
5- Jumper kablolar
analog.Write() – Arduino ile RGB LED Uygulaması Devre Şeması:
analog.Write() – Arduino ile RGB LED Uygulaması Devresi:
analog.Write() – Arduino ile RGB LED Uygulama Kodları:
/* BlogKod.com - analog.Write() - Arduino ile RGB LED Uygulaması */
// RGB LED pinlerini mutlaka PWM pinlerine bağlamalıyız!!!
const int kirmizi_RED = 3; // Kırmızı LED 3 nolu PWM pine
const int yesil_GREEN = 6; // Yeşil LED 6 nolu PWM pine
const int mavi_BLUE = 5; // Mavi LED 5 nolu PWM pine
int gecikme = 1000;
void setup() {
// Kırmızı, yeşil ve mavi pinleri çıkış olarak tanımlıyoruz
pinMode(kirmizi_RED, OUTPUT);
pinMode(yesil_GREEN, OUTPUT);
pinMode(mavi_BLUE, OUTPUT);
}
void loop() {
beyaz_renk();
delay(gecikme);
kirmizi_renk();
delay(gecikme);
yesil_renk();
delay(gecikme);
mavi_renk();
delay(gecikme);
sari_renk();
delay(gecikme);
cyan_renk();
delay(gecikme);
mor_renk();
delay(gecikme);
}
// analogWrite() fonksiyonu ile 0-255 arası değerleri,
// PWM pinlerine bağlı LED'lere uyguluyoruz
// Gelen değere göre renk skalası değişecektir
/* ÖNEMLİ NOT!!!
Ortak Anotlu RGB LED için kodlar şöyle revize edilmeli;
Çıkış pinine göndereceğimiz değeri 255'den farkını almalıyız.
Yani pine gidecek olan değer (255-değer) olmalı
analogWrite(kirmizi_RED,(255-değer));
analogWrite(yesil_GREEN,255-(değer));
analogWrite(mavi_BLUE,(255-değer));
*/
void beyaz_renk()
{
analogWrite(kirmizi_RED, 255);
analogWrite(yesil_GREEN, 255);
analogWrite(mavi_BLUE, 255);
}
void kirmizi_renk()
{
analogWrite(kirmizi_RED, 255);
analogWrite(yesil_GREEN, 0);
analogWrite(mavi_BLUE, 0);
}
void yesil_renk()
{
analogWrite(kirmizi_RED, 0);
analogWrite(yesil_GREEN, 255);
analogWrite(mavi_BLUE, 0);
}
void mavi_renk()
{
analogWrite(kirmizi_RED, 0);
analogWrite(yesil_GREEN, 0);
analogWrite(mavi_BLUE, 255);
}
void sari_renk()
{
analogWrite(kirmizi_RED, 255);
analogWrite(yesil_GREEN, 255);
analogWrite(mavi_BLUE, 0);
}
void cyan_renk()
{
analogWrite(kirmizi_RED, 0);
analogWrite(yesil_GREEN, 255);
analogWrite(mavi_BLUE, 255);
}
void mor_renk()
{
analogWrite(kirmizi_RED, 255);
analogWrite(yesil_GREEN, 0);
analogWrite(mavi_BLUE, 255);
}
analog.Write() – Arduino ile RGB LED Uygulama Videosu:
Bir sonraki uygulamamızda görüşmek üzere…


Çok güzel
RGB de Fonksiyon kullanıp harika birşeyler yaratmışsınız
Analog verileri sadece öğrenmek yerine işlev kazandırmak Hoş 🙂