Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Dersleri 6: Buton Kontrollü RGB LED
#1
Merhaba arkadaşlar. Bugün sizlerle beraber buton kontrollü RGB LED uygulaması yapacağız.

Gerekli malzemeler: Daha önceki derslerimizde beraber RGB LED uygulaması yapmıştık. Yine aynı şekilde dijital giriş dersimizde push butonlar ile LED yakıp söndürmeyi öğrenmiştik. Bu uygulamayı geçmişte yaptığımız iki uygulamanın birleşimi olarak düşünebiliriz. 3 adet butonumuz RBG LED’in kırmızı, yeşil ve mavi renklerinin parlaklıklarını kontrol edecek. Bu şekilde farklı renkleri her seferinde kodu değiştirmeden elde edebileceğiz.

rgb_fader_updated_bb-1024x471.png
Devre şeması 17/01/2017 tarihinde güncellenmiştir.

Kodumuz:

int kirmiziLEDPin = 11;
int yesilLEDPin = 10;
int maviLEDPin = 9;

int kirmiziSwitchPin = 7;
int yesilSwitchPin = 6;
int maviSwitchPin = 5;

int kirmizi = 0;
int mavi = 0;
int yesil = 0;

void setup()
{
 pinMode(kirmiziLEDPin, OUTPUT);
 pinMode(yesilLEDPin, OUTPUT);
 pinMode(maviLEDPin, OUTPUT);
 pinMode(kirmiziSwitchPin, INPUT_PULLUP);
 pinMode(yesilSwitchPin, INPUT_PULLUP);
 pinMode(maviSwitchPin, INPUT_PULLUP);
}

void loop()
{
 if (digitalRead(kirmiziSwitchPin) == LOW)
 {
   kirmizi ++;
   if (kirmizi > 255) {
     kirmizi = 0;
   }
 }
 if (digitalRead(yesilSwitchPin) == LOW)
 {
   yesil ++;
   if (yesil > 255) {
     yesil = 0;
   }
 }
 if (digitalRead(maviSwitchPin) == LOW)
 {
   mavi ++;
   if (mavi > 255) {
     mavi = 0;
   }
 }
 renkAyarla(kirmizi, yesil, mavi);
 delay(10);
}

void renkAyarla(int kirmizi, int yesil, int mavi)
{
 kirmizi = 255 - kirmizi; //ortak katot kullanılıyorsa silin
 yesil = 255 - yesil; //ortak katot kullanılıyorsa silin
 mavi = 255 - mavi; //ortak katot kullanılıyorsa silin
 analogWrite(kirmiziLEDPin, kirmizi);
 analogWrite(yesilLEDPin, yesil);
 analogWrite(maviLEDPin, mavi);
}


RGB LED kodumuzu hatırlayacak olursak, orada bulunan renkAyarla fonksiyonunu bu uygulamamızda tekrar kullandığımızı görebilirsiniz. Yaptığımız uygulamada, her bir renk için parlaklığı arttıran bir push buton mevcut. Bu butonlara basıldığı sürece o rengin parlaklık değeri artıyor, 255’e ulaştığında ise tekrardan 0’lanıyor.

Sizin kullandığınız LED, ortak katot yapıya sahipse, ilk RBG uygulamamızdaki değişikliklerin aynısını burada uygulayabilirsiniz.

İpucu: Her rengin o anki parlaklık değerini görmek isterseniz, seri port ekranına yazdırabilirsiniz. setup fonksiyonuna Serial.begin(9600) satırını ekl… hadi biraz da siz düşünün. Seri port haberleşme dersimizden kopya çekebilirsiniz 1f642.svg
Ara
Cevapla PGM
Teşekkür verenler:


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi



En Güncel Paylaşım Platformu ! -

Online Shopping App
Online Shopping - E-Commerce Platform
Online Shopping - E-Commerce Platform
Feinunze Schmuck Jewelery Online Shopping