Arduino Ders 5: Potansiyometre İle Led Yakma

Geçen yazımızda sizlerle birlikte potansiyometre’den değer okumuştuk. Bu yazımızda ise sizlerle birlikte Potansiyometre ile led yakmayı öğreneceğiz. Geçen yazımızda da bahsettiğimiz gibi potansiyometre bir değiştirilebilir dirençtir.

Elektrik ile alakalı en basit yasadan gidecek olursak “V=I.R” dir. v dediğmiz volt’tur ve devremizde her zaman 5v vardır. Volt sabitken direnç azalırsa(R) akım artar(I) ve led’imizden daha fazla verim alırız. Direnç artarsa akım azalacağından dolayı alacağımız verim de düşük olacaktır. Bu şekilde arduino kartımıza potansiyometre’den ne kadar akım geçmiş ise o kadar akım vermesini söyleyeceğiz.  Devremizin basit mantığını anladığımıza göre devremiz için gerekli olan malzemeleri alalım. Gerekli olan malzemeler:

1 adet arduino uno kart,

1 adet breadboard,

1 adet potansiyometre,

1 adet yeşil led,

1 adet 330 ohm direnç renk kodu turuncu-turuncu-kahverengi,

5 adet erkek-erkek jumper kablo,

Malzemelerimizi aldığımıza göre devremizi kuralım.


İlk önce breadboard’ın herhangi bir yerine potansiyometrer’mizi koyalım.

Ardından sağ veya sol bacağından jumper kablo yardımıyla kartta bulunan 5v yerine koyalım.

Diğer bacaktan ise breadboard’da bulunan eksi hattına jumper kablo yerleştirelim.

Ortada bulunan son bacaktan ise kartta bulunan analog girişlerden birine bağlayalım.

Ardından led devremizi kuralım. Led’in eksi bacağından breadboard’ın eksi hattına direnç koyalım.

led’in Artı bacağından ise kartta bulunan 3 numaralı dijital girişe bağlayalım.

Bunu nedeni ise 3 numaralı pin’ini “PWM” pin’i olmasından dolayıdır. PWM pin’inin önemi ise dijital sinyal ile birlikte analog sinyal verebilmesidir. PWM pin’inlerinin yanlarında dalga işareti vardır.

En son olarak breadboard’ın eksi hattından jumper kablo yardımıyla kartta bulunan GND pin’ine bağlayalım.

böylece devremizi kurduk. Hadi kod kısmına geçelim.

Kod kısmına geçmeden önce “map” komutunu tanıyalım. Potansiyometre 10 bit’lik bir hızda çalışmaktadır. Çalışma aralığı 2*10 (iki üzeri on)dur. Yani 0-1023 arası sinyaller gönderir. Ancak Led’imiz 8 bit’lik bir hızda çalışmaktadır. Led’imizin Çalışma aralığı ise 2*8 (iki üzeri sekiz)dir. Yani 0-256 arası sinyaller göndermektedir. map komutu ise bu sinyalleri birbirine eşitler. map komutunu yazarken ilk önce değişken ismini yazarız. değişkenimiz “x” olsun. Ardından virgül koyarız ve led’imizin en küçük değerini yazıyoruz. en küçük değer sıfırdır. Virgül koyduktan sonra led’imizin en yüksek değeri yazacağız. En yüksek değer 255’dir. Tekrar virgül koyduktan sonra bu sefer potansiyometre’nin en düşük değerini yazacağız. En düşük değer sıfırdır. Virgül koyduktan sonra potansiyometre’nin en yüksek değerini yazacağız. En yüksek değer bin yirmi üçtür. Yani bu kod şöyle yazılır: map(x,0,255,0,1023);

 

Kod kısmında ilk önce potansiyometre’yi tanıtalım. Bunun için olan komut “int” dir. int yazdıktan sonra “pot” yazalım ve “=” koyalım. Ardından bağlı olduğu pin’i yazalım. Ben A0 numaralı pin’e bağlamıştım, siz de bağladığınız pin’i yazın. Satırı bitirmek için ise “;” yazlım.

 

 

 

 

 

 

Diğer satırda ise led’imizi tanıtalım. Önce yine “int” yazalım. Ardından “led” yazalım. “=” koyalım ve “3” yazalım. Satırı bitirmek için ise “;” koyalım.

 

 

 

 

 

 

 

 

 

Diğer satırda ise “potdegeri” diye bir değişken atayalım. Bu değişkeni atamamızın nedeni ise potansiyometreden okuttuğumuz değeri bu değişkene yazdırmamız. İlk önce “int” yazalım ve atadığımız ismi yazalım. Satırı bitirmek için ise “;” koyalım.

 

 

 

 

 

 

 

En son satırda ise seri ekranda değer görmek için bir isim atayacağız. Bunun için ilk olarak int yazalım ve “potdurumu” yazalım. Ardından satırı bitirmek için “;” koyalım.Böylece void setup kısmına geçebiliriz.

 

 

 

 

 

 

 

void setup kısmında ilk olarak “pot” değişkenini giriş veya çıkış pin’i olduğunu belirtelim. Bunun için ilk olarak “pinMode” komutunu yazalım. Ardından parantez açalım ve içine atadığımız ismi yazalım. Virgül koyduktan sonra “INPUT” yazalım. Parantezi kapatalım ve satırı bitirmek için “;” koyalım.

 

 

 

 

 

 

 

 

Diğer satırda ise led’imizi çıkış birimi olarak tanıtalım. “pinMode” komutunu yazdıktan sonra parantez açalım ve içine atadığımız isim olan “led” yazalım. Ardından virgül koyalım ve “OUTPUT” yazalım. Parantezi kapatalım ve sonuna “;” koyalım.

 

 

 

 

 

 

 

 

Seri ekranda değer görmek için bilgisayar ve kart arasında bir iletişim başlatmamız gerekir. Bu iletişimi başlatmak için olan komut ise “Serial.begin“dir. Parantez açalım ve içine iletişim hızını yazalım. Parantez içine “9600” yazdıktan sonra parantezi kapatalım ve sonuna “;” koyalım.Böylece void loop kısmına geçebiliriz.

 

 

 

 

 

 

 

 

Burada ilk olarak seri ekrandan değer görmek için “pot” değişkenini analog bir şekilde okutmamız gerek. Bunun için ilk olarak atadığımız ismi yazarız ve “=” koyarız. Ardından “analogRead” komutunu kullanırız ve “pot” yazarız. Satırı bitirmek için ise “;” koyarız.

 

 

 

 

 

 

 

 

Diğer satırda seri ekrana yazdıracağız. “Serial.println” yazdıktan sonra parantez açarız ve üst satırda belirttiğimiz değişkeni alt satıra yazarız. Parantezi kapatalım ve “;” koyalım.

 

 

 

 

 

 

 

 

 

 

Diğer satırda ilk önce “potdegeri” yazarız ve “=” koyarız. Ardından “pot” değişkenini bu değişkenin içine yazalım. Bunun için ilk olarak “analogRead” komutunu yazalım ve parantez açalım. İçine “pot” yazalım.Parantezi kapatalım ve “,” koyalım.

 

 

 

 

 

 

 

 

 

Alt satırda ise ilk önce “potdegeri” yazalım ve “=” koyalım. Ardından “map” yazalım ve parantez açalım. Parantezin içine ilk önce “potdegeri” yazalım ve virgül koyalım. Ardından led’in en küçük değerini yazalım. Bu değer “0” dır. Ardından en yüksek değerini yazalım. Bu değer “255”dir. Potansiyometre’nin en küçük değerini yazalım ki bu da “0” dır. En son olarak en yüksek değeri yazalım. En yüksek değer “1023” tür. Sonrasında parantezi kapatalım ve sonuna “;” koyalım.

 

 

 

 

 

 

 

 

En son satırda ise analog bir şekilde led’i yakacağız. Bunun için ilk önce “analogWrite” yazalım ve parantez açalım. Ardından içine “led” yazalım ve virgül koyalım. Virgülden sonra potansiyometre’den gelen değer kadar yanası için “potdegeri” yazalım. Parantezi kapatalım ve sonuna “;” koyalım.

Böylece kod kısmı da bitti. Doğru kartı ve port’u seçtikten sonra programı karta yükleyebilirsiniz. Yorum yapmayı unutmayın.

 

 

 

 

 

 

 

NOT: Uğraşmak istemeyen arkadaşlar için hazır kod aşağıdadır.

int pot=A0;
int led=3;
int potdegeri;
int potdurumu;

void setup() {
pinMode(pot,INPUT);
pinMode(led,OUTPUT);
Serial.begin(9600);
}

void loop() {
potdurumu=analogRead(pot);
Serial.println(potdurumu);
potdegeri=analogRead(potdurumu);
potdegeri=map(potdegeri,0,255,0,1023);
analogWrite(led,potdegeri);
}

 

2 thoughts to “Arduino Ders 5: Potansiyometre İle Led Yakma”

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir