Rehber Arduino Buton Ve RGB Led

Mithat Guner

Lider
Yönetici
Admin
1 Ekim 2016
1,415
1,291
1,094
Çevrimdışı
#1
Merhaba arkadaşlar. Bugün sizlerle beraber buton kontrollü RGB LED uygulaması yapacağız.Gerekli malzemeler:
  • Arduino UNO
  • Breadboard
  • 1 adet ortak anot veya ortak katot RGB LED
  • 3 adet 220 Ω direnç
  • 3 adet push buton
  • İki ucu erkek jumper kablo
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.



Kodlarımız :

Kod:
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;




**** setup()

{

  pinMode(kirmiziLEDPin, OUTPUT);

  pinMode(yesilLEDPin, OUTPUT);

  pinMode(maviLEDPin, OUTPUT);

  pinMode(kirmiziSwitchPin, INPUT_PULLUP);

  pinMode(yesilSwitchPin, INPUT_PULLUP);

  pinMode(maviSwitchPin, INPUT_PULLUP);

}




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

}




**** 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.Sizin kullandığınız LED, ortak katot yapıya sahipse, ilk RBG uygulamamızdaki değişikliklerin aynısını burada uygulayabilirsiniz.