Bugün sizlerle beraber buton kontrollü RGB LED uygulaması yapacağız.

Gerekli malzemeler:

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.

   //nedrinbarkinoren.com

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);
}

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.

Bir Cevap Yazın

Trending

Nedrin Barkın ÖREN sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin