Arduino ile Potansiyometre Kullanımı ve Kontrolü

Potansiyometre Nedir?

Potansiyometre ayarlanabilir bir dirençtir. Üç bacaklı bir komponenttir. Biz anlatımımızda dıştaki uçlar + ve – bağlantılarını temsil ederken ortadaki uç ise potansiyometrenin çevrilmesiyle değişen direnci temsil eder.

Direnç değiştikçe analog olarak giden veri artar veya azalır. Potansiyometre tamamen analog olarak çalışır.

Potansiyometre ile Led Kontrolü

Led’in parlaklığını potansiyometreden gelen değerlere göre ayarlayacağız. Potansiyometre 0 değerini gönderirken led sönük olacak, 1023 çevrilmiş haliyle 255 değerini gönderdiğinde ise tamamen yanıyor olacaktır.

Arduino Analog Digital Converter – PWM Kullanımı

Arduino ile Potansiyometre Kullanımı yaparken ADC kullanımı gerekecektir. Arduino içerisinde dahili olarak 10 Bit çözünürlüğe sahip Analog Digital Converter Modülü bulunmaktadır. Yani 0 ile 1023 arasında sıfır da dahil olmak üzere toplamda 1024 değere sahiptir.

Ancak Arduino ile Potansiyometre Kullanımı gerektiğinde PWM yani Analog sinyali taklit eden dijital sinyaller olarak kullanabilmek için 0-1023 aralığını 0-255 aralığına dönüştürmemiz gerekir.

otansiyometre analog veri gönderir. Arduino analog veriyi ADC üzerinden 0-1023 değer aralığında okur. Bunu PWM üzerinden gönderirken ise 0-255 değer aralığını kullanmamız gerekir.

Bunun için de Map komutu yani haritalama komutu kullanacağız.

Arduino ile Potansiyometre Kullanımı: Map Komutu Nasıl Kullanılır?

Map komutu ile dönüştürmek istediğimiz değişkeni ve dönüşecek iki aralığı aynı satırda belirtiyoruz.

Potansiyometreyi temsil eden “pot” değişkeninin karşısına Map Fonksiyonu için Map Komutunun söz dizimi aşağıdaki gibidir:

Potansiyometre üç ayaklı bir eleman olup anlatımımızda dıştaki bacakları + ve –‘yi temsil ederken ortadaki ayak ile potansiyometredeki değişim gözlenir. + ve –‘nin yönü sabit değildir. Biz nasıl bağlarsak bağlantı şekline göre değer artışı ya da düşüşü olur.

Değer değişimi orta ayaktan okunduğu ve bu değer de Analog olduğu için Arduino Uno’nun A0 pinine girişini yapıyoruz. Diğer bacaklar + ve – konumunda.

Şu anda Potansiyometreden Arduino’ya analog değer gönderiyoruz. Arduino bunu ADC üzerinden okuduğu ve 10 Bit çözünürlüğe sahip olduğu için 0-1023 değer aralığında okuyabilmektedir.

Fakat PWM Sinyalleri ise veri gönderimini 0-255 değer aralığında yapabilmektedir.

Bu durumda arada bir değer dönüştürücü fonksiyon yani map komutunu kullanmamız gerekir. Böylece potansiyometreden gelen 0-1023 aralığını 0-255 aralığına ölçekleyebilir ve bu değeri PWM üzerinden gönderilebilir hale getirebiliriz.

Eğer bu değişimi yapmazsak potansiyometreden gelen değer ile led veya buzzer’a giden değer arasında tutarsızlık olur. Potansiyometrenin bir turunda PWM 4 kez tekrarlanır. Potansiyometrede bir tam tur PWM’de 4 tur anlamına gelir. 0-1023 ile 0-255 ‘ten dolayı böyle bir durum ortaya çıkar.

int LED = map(pot, 0, 1023, 0, 255); komutu potansiyometreden alınan 0 – 1023 arasındaki
analog bilgiyi, 0 – 255 arasında yeniden örnekleyerek LED değişkenine aktarmaktadır.
• analogWrite(3, LED); komutu ile LED değişkenindeki bilgiyi, mikrodenetleyici kartın D3 portuna
bağlı LED’e göndermektedir.
• LED’e gönderilen sayısal değer 0 ise LED sönük, 255 ise LED parlak yanmaktadır.
• Ayrıca potansiyometreden alınan analog bilgi Görsel de görüldüğü gibi seri port ekranında da görüntülenebilmektedir.

 

 void setup() {
 Serial.begin(9600);
 pinMode(3,OUTPUT);
 }
 void loop() {
 int pot = analogRead(A0);
 int LED = map(pot, 0, 1023, 0, 255);
 analogWrite(3, LED); // pot değişkenini 3 numaralı porta gönderir.
 Serial.print(“Pot Değeri = “);
 Serial.print(pot); // pot değişkenini seri porta yazdırır.
 Serial.print(“\t LED Değeri = “);
 Serial.println(LED); // LED değişkenini seri porta yazdırır.
 delay(2);
 }

 

Void Setup alanında 4. Satırda PinMode komutu ile potansiyometreden gelen veriyi Arduino’nun A0 pinine atıyoruz ve Input diyerek bu pini giriş pini yapıyoruz.

5. satırdaki kod ile de Arduino’nun 3. Pinini çıkış olarak belirliyoruz. Buradan gelen veriyi de led veya buzzer’da kullanıyoruz.

6. satırda ise seri haberleşmenin çalışması için Arduino’nun varsayılan baudrate değeri 9600 değerini giriyoruz.

Buna da gözat

Photoshop Uygulama Sınavı

Dosyalara Ulaşmak İçin Tıklayınız…