Potansiyometre ile LED’in Parlaklığını Değiştirmek

Potansiyometre ile üretilen gerilimi Analog giriş pini ile nasıl okuyabileceğimizi gösterdik. Şimdi okunan gerilim değerine göre LED’in parlaklığını nasıl değiştirebiliriz bununla ilgili örnek bir proje geliştirelim. Amacımız Potansiyometreden alınan gerilimi LED’e göndermeyi sağlamaktır. Bu proje için aşağıda verilen devre elemanlarını temin etmemiz gerekiyor.

  • LED x 1
  • Direnç (330 Ohm) x 1
  • 10k Ohm Potansiyometre x 1

Devremizin şeması aşağıdaki gibi olacaktır.

Yukarıda görülen devrede bağlantı işlemi aşağıdaki gibi yapılmıştır.

  • Potansiyometrenin soldan ilk bacağı GND pinine bağlandı.
  • Orta bacağı A0 Analog giriş pinine bağlandı. Üretilen gerilim bu pin ile Arduino kartına gönderilecek.
  • Sağdaki bacak 5V’lık çıkış pinine bağlandı.
  • LED’in Anot yani (+) bacağı 9 nolu PWM çıkış pinine bağlandı.

Devremizin kodu aşağıdaki gibidir.


int analogInPin = A0

int analogOutPin = 9;

int potValue = 0;

int ledValue = 0;

void setup() {

}


void loop() {

   potValue = analogRead(analogInPin);

   ledValue = map(potValue, 0, 1023, 0, 255);

   analogWrite(analogOutPin, ledValue);

   delay(1);

}

Kodların açıklaması şu şekildedir:

int analogInPin = A0
int analogOutPin = 9;

A0 ve 9 nolu pinleri değişkenlere atadık.

int potValue = 0;
int ledValue = 0;

potValue, potansiyometreden okunan analog değeri, ledValue ise LED’e gönderilecek analog değeri tutmak için oluşturulan değişkenlerdir.


potValue = analogRead(analogInPin);

analogRead() komut A0 analog giriş pininden analog veri okumayı sağlar.

ledValue = map(potValue, 0, 1023, 0, 255);

Potansiyometreden okunan veri analog olup 0 ile 1023 arasındadır. LED’in parlaklığını ayarlamak için bu aralıkta bulunan değerin 0 ile 255 arasındaki bir değere dönüştürülmesi gerekiyor. Çünkü PWM çıkış pinlerine 0 ile 255 arasında bir değer gönderebiliriz. map() komutu, alınan potValue değerini (0 ile 1023 arasında ise) 0 ile 255 arasındaki bir değere dönüştürerek ledValue değişkenine atamayı sağlar.

 

analogWrite(analogOutPin, ledValue);

map() komutu ile elde edilen değer analogWrite komutu ile 9 nolu PWM çıkışına bağlı LED’e gönderilir. Bu şekilde LED’in parlaklığı Potansiyometre ile ayarlanır.

Bu uygulama hakkında ayrıntılı bilgiler edinmek için kanalımda yayınladığım şu videoyu izlemenizi tavsiye ediyorum.