Arduino Robotik Dersleri 6: Buton Kontrollü RGB LED

şerafettin kahramanşerafettin kahraman


Ocak 2018 Arduino Başlangıç (11) 0 Okunma Sayısı: 217


Arduino Robotik Dersleri 6: Buton Kontrollü RGB LED

Merhaba arkadaşlar. Bu dersimizde Buton kontrollü RGB led uygulması  yapacağız.RGB uygulamasi için gerekli RGB ledı ve diğer malzemeleri aşağıdaki linklerden temin edebilirsiniz.
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 RGB leddeki farklı renkleri her seferinde kodu değiştirmeden elde edebileceğiz.

Arduino Uno Robotik Dersleri 6: Buton Kontrollü RGB LED in buton ile kontrolü

 

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 🙂

arduino buton kontrolu ders rgb led yakma

Makaleye yorum yapmak silmek ve düzenlemek için giriş yapınız.

Giriş Yap

Misafir kullanıcı olarak sorularınızı aşağıya yazabilirsiniz.

Yorum:

Blog Arama

Son yorumlar

  • https://downloads.arduino.cc/packages/package_index.json dosya imza doğrulama başarısız. Dosya yoksayıldı. BU HATAYI ALMAKTAYIM COZEMEDIM
  • sorun yaşıyordum teşekkür ediyorum faydalı oldu. Bu konuda diğer uygulama yazılarınızı da bekliyoruz.
  • Vin girişine 12 volt verdim. Bazı yerlerde 20 volta kadar yazıyor. Bir katıldı ve ses çıktı. Ir ile perde kontrol esiyordum. Çalışmadı normal görünüyor. Şu anda l293n devresinden 5 volt ile besleniyor. Sizce sorun olmuş mudur. Ben yanlış bir işlem mi yaptım aceba
  • Merhaba ; Öncelikle vermiş oldugunuz bilgiler için çok teşekkürler.Ne zamandan beridir istedigim bir devre var fakat kuramıyorum .Projem ise şu arduinonun herhangi bir analog girşine 5 volt giriş saglandıgında çıkışından led yakmak istiyorum bu konuda yardımcı olurmusunuz.Şimdiden Teşekkkürler..
  • Uyarı için teşekkürlerler. Arduinoya yeni başlayan arkakaşlar dediğiniz gibi sıkıntı yaşayabilirdi.