Arduino ile Nefes Alan LED Efekti

Bu uygulamada Arduino’nun PWM kontrolü sayesinde bir LED’ in parlaklığını kontrol edeceğiz. Daha önceki uygulamalarımızda Arduino’ nun dijital pinlerine bağladığımız LED’ e HIGH ve LOW şeklinde iki durum atayabiliyorduk. LED ya yanıyordu ya da sönük duruma geçiyordu, PWM kontrolü sayesinde bundan sonra LED’ in parlaklık seviyesini de kontrol edebileceğiz.

Bu yazıda PWM’ in nasıl çalıştığı ile ilgili detaylara girmeyeceğiz sadece bilmemiz gereken PWM ile kontrol edeceğimiz LED’ e 0-5 V aralığındaki değerleri gönderebiliyoruz. Bu sayede 0V değeri tamamen sönük 5V değeri ise tam güç olarak karşımıza çıkıyor. Bu iki değerin arasındaki tüm değerleri uygulayabiliyoruz.

Bunun için analogWrite fonksiyonunu kullanmamız gerekiyor. analogWrite fonksiyonunda parantez içine PWM destekleyen pin numarasını ve 0-255 aralığındaki değeri yazmamız yeterli olacaktır. Öncelikle bağlantıları aşağıdaki gibi yapıyoruz.

Bağlantımız görüldüğü gibi çok basit tek dikkat edilmesi gereken analogWrite fonksiyonunun çalışabilmesi için PWM destekleyen pinlerden birini kullanmamız gerektiği. Bu Arduino modeline göre değişebilir UNO için 3, 5, 6, 9, 10 ve 11 numaralı pinlerdir.

Aşağıdaki kodlara bakarsak setup bölümünde pinMode kullanılmadığı görülebilir, analogWrite kullanımı için pinMode kullanılmasına gerek yoktur. Nefes alma efektini sağlamak için LED parlaklığını 0 dan başlayarak 255 değerine kadar arttıran bir for döngüsü, yine parlaklığı 255’den 0 değerine kadar azaltmak için bir başka for döngüsü kullanılmıştır.

void setup() {
  
}

void loop() {
  for (int i=0;i<256;i++){
    analogWrite(9,i);
    delay(5);
  }
  for (int i=255;i>0;i--){
    analogWrite(9,i);
    delay(5);
  }
}