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); }