Potansiyometre ile bir ledin parlaklığını arduino kullanarak kontrol eden uygulama.
Kullanılan Malzemeler
1 Adet Arduino uno
1 Adet 330R Direnç
1 Adet Led
1 Adet 10K Potansiyometre
Devre Kurulumu :
Potansiyometrenin orta ucu A0 pinine 1 ucu gnd diğer ucu 5v bağlanır. Ledin parlaklığını analogWrite komutu ile belirtebilmek için led pwm pinlerden herhangi birine bağlanabilir. Örnekte 5 numaralı pine bağlanmıştır. Ledi korumak amacı ile 1 adet direnç kullanılmıştır.

Potansiyometre den alınan bilgi analogRead ile okunduğundan dolayı 0-1023 arasında bir değer olacaktır, ancak analogWrite komutu 0-255 arasında değerler alabilir. Bunun için potansiyometreden okunan değer map fonksiyonu ile 0-255 arası bir değere dönüştürülmüştür.
Map Fonksiyonu : Belirli bir aralıktaki sayının, başka bir aralıkta hangi sayıya karşılık geldiğini hesaplamak için kullanılır. Kullanım şeklinde belirtilen sayinin , sayi altdegeri ve sayi ust degeri arasında olabileceği belirtilir. Bu şartlara uygun olarak sayi için yeni belirtilen aralıkta karşılığı bulunur. Yeni bulunan değer geri döndürür.
Kullanım Şekli:int yeniDeger=map(sayi, sayi_altdeger, sayi_ustdeger, sayi_yenialtdeger, sayi_yeni_ustdeger);
Kodlama: Arduino ile bir ledin parlaklığını kontrol eden örnek uygulama
int ledPin=5; //5 numarali pwm pini
int potPin=A0; //analog in A0 pini
int potDegeri=0;
void setup() {
//ledin bagli olduğu pin cikis olarak tanimlaniyor
pinMode(ledPin,OUTPUT);
}
void loop(){
//potPinden okunan degere degiskene aliniyor
potDegeri=analogRead(potPin);
//okunan deger 0 - 1023 arasi bir deger oldugundan map ile 0-255 arasindaki bir degere donusturuluyor
potDegeri=map(potDegeri, 0, 1023, 0, 255);
//pwm pinine bagli olan lede potansiyometre tarafindan belirtilen ayara gore deger gonderiliyor
analogWrite(ledPin, potDeger);
//50 millisaniye bekle
delay(50);
}
