Bu örnekte Arduino ile potansiyometre kullanarak 4 adet Led' i aşağıdaki görseldeki gibi yakıp söndürme işlemi gerçekleştireceğiz.

Bir potansiyometre direnci değişen basit bir mekanik bir devre elemanıdır. Değişen direç miktarı, ohm kanunu gereği devreden geçen akımı veya potansiyometre üzerine düşen gerilimi değiştirir. Akım ve gerilim analog büyüklüklerdir. Arduino bu değişen gerilim değerini okuyan ve 0 ile 1023 arasında değişen bir sayıya dönüştüren ADC (analog – digital converter) sahiptir. Bu tip değeri (analog) okumak için potansiyometrenin Arduino devre kartı üzerindeki A0…A5 pinlerine bağlayarak kullanmalısınız. Kod tarafında ise analogRead() fonksiyonu analog değeri okumanızı sağlayacaktır.

UYGULAMA: Bu örnek, bir potansiyometre kullanarak analog girişi nasıl okuyacağınızı gösterir.

DEVRE ŞEMASI

MALZEME LİSTESİ

  1. 10KΩ Potansiyometre
  2. 4 Adet LED
  3. 4 Adet 220Ω Direnç
  4. Bağlantı Kabloları

Kodlar:

int ledPin1=3; int ledPin2=4; int ledPin3=5; int ledPin4=6; int sensorPin=3;  int sensorValue=0;  void setup() {   Serial.begin(9600);    // Seri Port ekranı için bağlantı kur.    // LED'lerin bağlı olduğu pinler çıkış olarak kullanılacaktır.    pinMode(ledPin1,OUTPUT);    pinMode(ledPin2,OUTPUT);   pinMode(ledPin3,OUTPUT);   pinMode(ledPin4,OUTPUT); }  void loop() {   sensorValue=analogRead(sensorPin);    Serial.println(sensorValue);    // Analog değeri seri port ekranına yaz.   if(sensorValue>0 && sensorValue<250){   	digitalWrite(ledPin1,HIGH);     digitalWrite(ledPin2,LOW);     digitalWrite(ledPin3,LOW);     digitalWrite(ledPin4,LOW);   }   else if(sensorValue>=250&&sensorValue<500){     digitalWrite(ledPin1,HIGH);     digitalWrite(ledPin2,HIGH);     digitalWrite(ledPin3,LOW);     digitalWrite(ledPin4,LOW);   }     else if(sensorValue>=500&&sensorValue<750){     digitalWrite(ledPin1,HIGH);     digitalWrite(ledPin2,HIGH);     digitalWrite(ledPin3,HIGH);     digitalWrite(ledPin4,LOW);   }          else if(sensorValue>=750&&sensorValue<1024){     digitalWrite(ledPin1,HIGH);     digitalWrite(ledPin2,HIGH);     digitalWrite(ledPin3,HIGH);     digitalWrite(ledPin4,HIGH);   } 	else{   	digitalWrite(ledPin1,LOW);     digitalWrite(ledPin2,LOW);     digitalWrite(ledPin3,LOW);     digitalWrite(ledPin4,LOW); 	} }