Evet arkadaşlar, bir önceki yazımda RGB Led temelleri ve örnek uygulama yapmıştık bu yazımda da devam niteliğinde bir uygulama paylaşacağım. Bu uygulama da Buton ile RGB Led Renk Değiştirme Uygulaması olacak. Hobi amaçlı yada odanızda dekor amaçlı yaptığınız bir aydınlatma hatta direk odanızın aydınlatmasını RGB Ledlerle yapıp farklı renklerde aydınlatma yapabilirsiniz. Bunun için renk seçimini butonlar yardımıyla yapmak basit seçeneklerden birisi olacaktır. Önceki yazımızda bahsettiğimiz gibi RGB Ledlerde Renk pinleri olan Red Green Blue değerler 0-255 arasında değişmekteydi. Bu uygulamada bu RGB led renk pinlerine gönderilecek olan değerleri butonlar yardımıyla kendimiz değiştireceğiz. Şemamız ve gerekli malzemeler aşağıdaki gibi olacaktır.
Malzemler
1 x Arduino Uno
1 x RGB Led (Ortak Katot)
3 x Direnç 100 ohm
3 x Switch Buton
Yeteri kadar Jumper kablo
Şemadaki butonlar sırasıyla 7 nolu pindeki buton Kırmızı (Red), 6 nolu pindeki buton Yeşil (Green) ve 5 nolu pindeki buton da Mavi (Blue) renk miktarını kontrol edecek. Şimdi uygulama ile ilgili arduino kodunu paylaşalım.
Malzemler
1 x Arduino Uno
1 x RGB Led (Ortak Katot)
3 x Direnç 100 ohm
3 x Switch Buton
Yeteri kadar Jumper kablo
Şemadaki butonlar sırasıyla 7 nolu pindeki buton Kırmızı (Red), 6 nolu pindeki buton Yeşil (Green) ve 5 nolu pindeki buton da Mavi (Blue) renk miktarını kontrol edecek. Şimdi uygulama ile ilgili arduino kodunu paylaşalım.
int RedPin = 11;
int GreenPin = 10;
int BluePin = 9;
int ButonRED = 7;
int ButonGreen = 6;
int ButonBlue = 5;
int RedValue=0;
int GreenValue=0;
int BlueValue=0;
void setup()
{
pinMode(RedPin, OUTPUT);
pinMode(GreenPin, OUTPUT);
pinMode(BluePin, OUTPUT);
pinMode(ButonRed,INPUT);
pinMode(ButonGreen,INPUT);
pinMode(ButonBlue,INPUT);
}
void loop()
{
if(digitalRead(ButonRed)== HIGH)
{
delay(15);
RedValue++;
if(RedValue > 255)
{
RedValue = 0;
}
}
if(digitalRead(ButonGreen)== HIGH)
{
delay(15);
GreenValue++;
if(GreenValue > 255)
{
GreenValue = 0;
}
}if(digitalRead(ButonBlue)== HIGH)
{
delay(15);
BlueValue++;
if(BlueValue > 255)
{
BlueValue = 0;
}
}
analogWrite(RedPin,RedValue);
analogWrite(GreenPin,GreenValue);
analogWrite(BluePin,BlueValue);
}
Uygulamada butona basıldıktan sonra 15 milisaniye kadar bekle kullanmamızın nedeni butona basılıp çekilene kadar geçen sürede çok hızlı saydırma yapmasını engellemektir.
Not: uygulama Fritzing şemasında Buton Topraklama Dirençleri unutulmıştur. Sizler eklemeyi unutmayın !!
2 yorum
Click here for yorumkod da hata var
Replyhatalı kod
ReplyConversionConversion EmoticonEmoticon