Ocak 2018 Arduino Başlangıç (11) 0 Okunma Sayısı: 1384
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.
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