Arduino ile Potansiyometre Kullanımı

06.01.2019
18.332

Potansiyometre, elektronik uygulama devrelerinde sıklıkla kullanılan bir devre elemanıdır. 3 bacaklı yapısının 1 ve 3 numaralı bacakları VCC (+) ve GND (-) bağlantıları için kullanılır. Orta bacak (kontrol düğmesi) ise sabit değil hareketlidir.

Arduino ile Potansiyometre Kullanımı

Merhabalar,

Potansiyometre, elektronik uygulama devrelerinde sıklıkla kullanılan bir devre elemanıdır. 3 bacaklı yapısının 1 ve 3 numaralı bacakları VCC (+) ve GND (-) bağlantıları için kullanılır. Orta bacak (kontrol düğmesi) ise sabit değil hareketlidir. Potansiyometre için ayarlı direnç, (daha güçlü, daha yüksek akım değerine sahip olan çeşidine reosta adı verilir) ya da kısaca pot tabiri sıklıkla kullanılır.

Arduino ile kullanımına örnek olması için potu Arduino ile LED Yakmak yazımdaki uygulamaya ek olarak LED’in parlaklığını azaltıp, arttırmak için kullanacağız. Potun iki bacağı arasına 5V gerilim düşümü uygulayarak, kontrol düğmesi bacağını Arduino UNO üzerindeki analog pinlerden A0 pinine bağlayacağız. Kontrol düğmesi ile potun iki bacak arasına uygulanan gerilimi değiştirerek 0-5V arasında değerler alabilen bir çıkış gerilimi elde etmiş olacağız. Bu değer de LED’in parlaklığına etki etmiş olacak.

Bu devrede ilk kez analog pinleri kullanmış olacağız. Dijital pinler ile çevremizden, dış dünyadan hem sinyal alabilir, hem de aynı ortama sinyal verebiliriz. Dijital pinler LED üzerinde off-pasif konumunda iken (binary 0 = LOW) 0V, on-aktif konumunda iken (binary 1 = HIGH) 5V’a kadar gerilim uygulanabilmektedir.

Fakat sadece varlık, yokluk ya da açık, kapalı, ya da on-off gibi tanımlama yapamayacağımız durumlar vardır. Örneğin hava sıcaklığı için var ya da yok diyemeyiz. Az sıcak, çok sıcak tabirini kullanırız. Bunun gibi gerçek hayatta sürekli değişkenlik gösteren durumlar için ölçümler yapabilmek için belirli aralıklar kullanırız. Pasif (LOW) ve aktif (HIGH) olma durumu arasındaki değişken değerler için Arduino’da Analog pinleri kullanırız. Arduino UNO üzerinde 6 adet analog pinimiz vardır. Bu girişler giriş voltajını 0 (0 Volt) ile 1023 (5V) arasında sayılara dönüştürerek ölçüm yapmamızı sağlar. Seri port ekranında bu değişken değerleri gözlemleyebiliriz.

Dijital ve analog pinlerin çalışma prensibini aşağıdaki şema ile özetleyebiliriz:

Arduino Dijital ve Analog Pinlerin Çalışma Prensibi – Kaynak

Devremizde şunları kullanacağız:

1- Arduino UNO

2- Breadboard

3- Potansiyometre

4- 5 mm LED

5- 220 ohm direnç (Kırmızı, kırmızı, kahverengi)

6- Jumper kablolar

Devremiz şöyle kurabiliriz:

Arduino ile Pot Kullanımı Devre Şeması

Arduino’yu kodlarken değişkenleri kullanmaya başlayacağız. Değişkenler bir değeri saklamak için kullandığımız, bellekte belirli bir alan işgal eden yapılardır. Sayıları, karakterleri ya da sözcük ve sözcük gruplarını tutabilir. Değişkenleri bir bardağa benzetecek olursak, bardağa su koyarsak su bardağı, çay koyarsak çay bardağı olur. Değişen şey bardağın içinde olandır. Bardak değişmez. Değişkenler de böyledir. Bellekte belirli bir alan tutar. İçini istediğimiz gibi doldur boşalt yapabilir, programımızda işimize nasıl gelirse öyle kullanabiliriz.

Değişkenlerin türleri vardır. Yeri geldikçe bu türlerin neler olduğuna, nerede nasıl kullanıldığına dair örnekler vereceğiz. Bu programda integer denilen tam sayıları tutabilen int değişkenini kullanacağız. Matematikte tam sayılar negatif veya pozitif sayılar aralığını ifade eder. Virgüllü dediğimiz küsuratlı sayılar değildir tam sayılar. int değişken türü -32767 ile +32767 değer aralığını tutabilecek kapasiteye sahiptir. Daha büyük değerler, virgüllü sayılar ile ilgili işlem yapmamız gerekiyorsa farklı türde değişkenler vardır. long ve float gibi. Fakat bu veri tipleri bellekte daha fazla yer tuttukları için ihtiyaç duymadıkça belleği gereksiz işgal etmemizin bir anlamı yoktur. Arduino A0 analog pini için bize 0-1023 aralığındaki sayılar gerekli olduğu için int veri tipi ihtiyacımızı fazlasıyla görecektir.

Değişkenleri isimlendirirken büyük-küçük harf duyarlılığı olduğundan isimlendirmeye dikkat etmeli ve nasıl isimlendirdi isek programda he yerde o isimle değişkeni kullanmaya dikkat etmeliyiz. Aksi halde derleme hataları ile karşılaşırız. Biz programımızda değişkenleri şöyle kullandık:

int sensorDegeri;

int sensorPini;

int ledPini = 8;

A0 pininden gelen değeri programımızda kullanabilmek için bu değeri sensorDegeri ismini verdiğimiz değişkene analogRead() fonksiyonunu kullanarak atadık. Bu fonksiyon analog (0-1023) arasında bir değeri okur. Programımızda şöyle kullandık:

sensorDegeri = analogRead(sensorPini);

Programımızda beklemeler için daha önce delay() fonksiyonunu kullanmıştık. delay() fonksiyonu içine yazılan değer milisaniye cinsinden bekleme yapıyordu. Bu programda sayı yerine sensorDegeri değişkeninin tuttuğu değer kadar bekleme yaptıracağız. Programın tüm kodları şu şekilde olacaktır:

Arduino ile Pot Kullanımı Kodları
int sensorPini=0; //A0 pininden değerleri tutacak değişkeni tanımladık
int ledPini=8;    //8 nolu dijital pine bağlı LED'i tanımladık
void setup() {
  pinMode(ledPini, OUTPUT); // ledPini değişkenini çıkış moduna aldık
}
void loop() {
  int sensorDegeri; // Potun okuduğu değerleri tutacak değişkeni tanımladık
  sensorDegeri=analogRead(sensorPini); // Pottan gelen analog sinyali değişkene atadık
  digitalWrite(ledPini, HIGH); // LED'i yaktık
  delay(sensorDegeri); // Analog pinden gelen değer kadar bekleme yaptık
  digitalWrite(ledPini, LOW); // LED2i söndürdük
  delay(sensorDegeri);  // Analog pinden gelen değer kadar bekleme yaptık
}
Arduino ile Pot Kullanım Devresi
Arduino Potansiyometre Uygulaması

Videoda potun kontrol düğmesi ile LED’in parlaklığının ve LED’in yanıp sönme süresinin pottan gelen analog sinyale göre değiştiğini gözlemleyebiliriz. Devremizde bu sonuç alınamıyorsa, devredeki bağlantıları kontrol etmekte, kodları gözden geçirmekte fayda vardır. Potun bacakları devre tahtasına tam oturmamış olabilir. Potu sertçe bastırarak breadborda oturmasını sağlamaya çalışın. Pot pinlerini doğru bağladığınızdan emin olun. Özellikle kontrol bacağının analog pine bağlı olduğundan emin olun.

Bir sonraki örneğimiz de RGB LED kullanımı ile ilgili olacak. Görüşmek üzere…

BİR YORUM YAZIN

ZİYARETÇİ YORUMLARI - 14 YORUM
  1. cilgintrapzonlu61 dedi ki:

    abi buraya gel hamsi yiyelim

    1. admin dedi ki:

      Balıklar 2’ye ayrılır:
      1. Hamsi
      2. Diğerleri…
      Trabzon’a selâmlar…

  2. cılgınkaramanlı70 dedi ki:

    abi karamana selam söylermisin

    1. admin dedi ki:

      Selâm sana Ey Karaman!

  3. Salih DEMİR dedi ki:

    Hocam çok teşekkürler emeğinize sağlık gerçekten çok yardımcı oldu.

  4. Anonim dedi ki:

    teşşekür ederim çok yardımcı oldu

  5. admin dedi ki:

    @HasanB merhabalar,
    Sorunuza Arduino ile Timer kullanımı yanıt olacaktır. Timer fonksiyonunu zamanlama yönetimi için kullanabilirsiniz. İnternette çok sayıda örnek yardımcı olacaktır.

  6. HasanB dedi ki:

    Merhaba Benim yaptığım projede pot ile motorun dönme arasındaki bekleme süresi ayarlanması lazım bunu nasıl yapacağım hakkında internette iç bir cevap bulamadım lütfen yardım edin hocam

  7. Komutan Logar dedi ki:

    HOCAM SONUNDA KULLANAMADIĞIM POTANSİYOMETREYİ KULLANDIM YEASS

    1. admin dedi ki:

      Süpersin! Tebrikler… 🙂

    2. Komutan Logar dedi ki:

      Komutan logar sepcition ?

      1. admin dedi ki:

        Yani? 🙂

  8. DENİZ ALİ dedi ki:

    hocam cok güzel olmuş

    1. admin dedi ki:

      Teşekkür ederim Deniz Ali…

Bilişim Teknolojileri ve Yazılım Ders Notları, Uygulamalar, Kodlama ve Arduino

© 2018-2025 BlogKod