Potansiyometre ile LED parlaklığı ayarlama

Potansiyometre ile LED parlaklığı ayarlama

 

 

Bu yazımızda Arduino ile potansiyometre kullanarak bir led’in parlaklığını artırıp azaltan uygulamayı kodlayıp devre kurulumunu yapacağız. 

 

    *Gerekli Malzemelerden Başlayalım.

 

 

uyarı Bu uygulamada yapmak istediğimiz, potansiyometreden gelen sinyali analog olarak ölçerek, sinyalin büyüklüğü oranında ledin parlaklığını ayarlamak. 

uyarıKodların tamamına göz gezdirin ardından adım adım bütün komutları ayrıntılarıyla açıklayacağız.


int ledPin=5;
int potansiyometrePin=A0;
int potansiyometreDegeri;

void setup(){

}
void loop(){
  potansiyometreDegeri=analogRead(potansiyometrePin);
  potansiyometreDegeri=map(potansiyometreDegeri, 0, 1023, 0, 255);
  analogWrite(ledPin, potansiyometreDegeri);
  delay(10);
}

 


PROGRAM ADIMLARI

Potansiyometre ile led parlaklığı ayarlama kodu )

 

ADIM 1 :

int ledPin=5;

Setup() ve Loop() fonksiyonlarından önce tanımlamalar, sabitler ve değişkenler oluşturulabilir. Bizde kullanacağımız ledin hangi pine bağlanacağını, potansiyometrenin hangi pine bağlanacağını önceden yazıyoruz.

Kodlarımız arttıkça veya sensörlerimiz ve kullandığımız pin sayısı arttıkça kod karmaşası artar. Bu kod karmaşasını engellemek ve kodu daha anlaşılır hale getirmek için kullanacağımız pinleri, hangi görev ya da sensör için kullanacaksak onunla ilişkili bir isimle tanımlayıp kullanmak gerekir.

Burada “int ledPin=5;” ifadesi ledin 5 numaralı pine bağlanacağını belirtir. Program içerisinde 5 numaralı pin demek yerine ledPin diyerek daha anlamlı ve anlaşılır kod yazılmasını sağlıyoruz.

ADIM 2 :

int potansiyometrePin=A0;

“int potansiyometrePin=A0;” ifadesi, potansiyometrenin bağlandığı pinin A0 pini olduğunun tanımlanmasıdır. PotansiyometrePin adında bir değişken oluşturup bu değişkene A0 değişkenini atarsak, artık A0 demek PotansiyometrePin demektir. Fark ettiyseniz PotansiyometrePin A0’dan çok daha anlamlı ve bilgi verici. (PotansiyometrePin bizim verdiğimiz değişken adıdır. İstediğiniz ismi verebilirsiniz.)

 

ADIM 3:

int potansiyometreDegeri;

Bu komut ile potansiyometreDegeri adında bir değişken oluşturuyoruz. Fakat bu değişkene şuan bir değer atamadık. Bunu nedeni bu değişkeni loop() fonksiyonunda kullanmak için hazırladık. Aşağıdaki adımlarda ayrıntılı bilgi alacaksınız.

 

ADIM 4 :

void setup(){ }

 

void setup() bir fonksiyondur. Arduino çalışmaya başladığında ilk olarak Setup fonksiyonunu okur. Bu fonksiyonun temel görevi, yapacağımız proje için Arduino’nun ön ayarların yapılmasını yani kurulumunun yapılmasını sağlamaktır.

Bu kısımda herhangi bir şey yazmamıza gerek yok. İçini boş bırakıyoruz.

 

ADIM 5 :

void loop(){}

Loop() fonksiyonu Arduino çalıştığı sürece, içerisindeki komutları sürekli olarak tekrar eder. Yani loop bir sonsuz döngüdür. Loop fonksiyonunun içerisinde yazacağımız komutlar, sürekli olarak çalışır.

Yaptığımız projede, potansiyometrenin değeri sürekli olarak, tekrar tekrar okunacak ve elde edilen değere göre ledin parlaklığı ayarlanacak. Bu nedenle potansiyometrenin değerinin okunması ve ledin parlaklığının ayarlanması işlemleri LOOP() fonskiyonun içinde yapılmak zorundadır.

 

ADIM 6 :

potansiyometreDegeri=analogRead(potansiyometrePin);

analogRead() fonksiyonu ile potansiyometrePin adlı pinden değer okunuyor ve potansiyometreDegeri adlı değişkene kaydediliyor.

ÖnemliOkunan bu değer 0-1023 arasında bir değerdir. (10bitlik ADC kullandığı için)

 

ADIM 7 :

potansiyometreDegeri=map(potansiyometreDegeri, 0, 1023, 0, 255);

potansiyometreDegeri 0-1023 arasında bir sayı. Bizim led’e sinyal göndereceğimiz PWM pini 0-255 arasında bir değer alabiliyor. Bu nedenle 0-1023 arasındaki sayısı 0-255 arasına indiriyoruz. Bu işi yapan özel bir fonksiyon tanımlı map() fonksiyonu.

 

ADIM 8 :

analogWrite(ledPin, potansiyometreDegeri);

analogWrite() komutu pinlere analog sinyal göndermek için kullanılır. potansiyometreDegeri değişkenindeki değeri ledPin adlı pine gönderiyoruz. Led potansiyometreden gelen değer kadar parlak yanıyor.

ADIM 9 :

delay(10);

delay() komutu belirlenen süre kadar arduino’yu bekletir yani duraksatır. delay(10) yazarak 10ms aralıklarla potansiyometredeki değeri ölçmesini sağlıyoruz.

 


Önemli Noktalar :

 

uyarı Bu projede led’in bağlı olduğu pin PWM pini olmalıdır. Arduino uno için söyleyecek olursak, 3, 5, 6, 9, 10 ve 11 numaralı pinleri kullanabilirsiniz.

 

 

DEVRE KURULUMU

 

potansiyometre ile led parlaklık

potansiyometre ile led parlaklık

Devre kurulumunda görüldüğü üzere, beyaz kablo ile Arduino’nun GND ucundan potansiyometrenin soldaki bacağına bağlanıyor. Yeşil kablo Arduino’nun 5v ucundan potansiyometrenin sağdaki bacağına bağlanıyor. Sarı kablo, Arduino’nun A0 ucundan potansiyometrenin ortadaki bacağına bağlanıyor.

LED’in artı ucu 5 numaralı dijital pine, eksi ucu ise 220 ohm direnç üzerinden GND ucuna bağlanıyor. 

Kolay gelsin.

 

Cevap

This site uses Akismet to reduce spam. Learn how your comment data is processed.