ARDUİNO İLE POTANSİYOMETRE KULLANIMI, KODLAR VE BAĞLANTILAR
BU YAZIDA ŞUNLARDAN BAHSEDİLECEKTİR:
POTANSİYOMETRE NEDİR
POTANSİYOMETRE ÇEŞİTLERİ NELERDİR
POTANSİYOMETRE KULLANARAK YAPILAN ARDUİNO PROJELERİ
ARDUİNO POTANSİYOMETRE KULLANIMI BAĞLANTI VE KODLARI
ARDUİNO POTANSİYOMETRE İLE SERVO MOTOR KONTROLÜ
ARDUİNO POTANSİYOMETRE İLE LED PARLAKLIK KONTROLÜ
PWM SİNYALİ NEDİR
POTANSİYOMETRE KULLANIRKEN NELERE DİKKAT EDİLMELİ
ARDUİNO İLE POTANSİYOMETRE KULLANIMI, KODLAR VE BAĞLANTILAR
POTANSİYOMETRE NEDİR
Potansiyometre, bir elektronik devre içinde direnç değerini ayarlamak amacıyla kullanılan bir araçtır. Potansiyometre, bir stator ve bir rotor arasındaki direnci ayarlayan bir mekanizmadır. Rotor, bir döner kol veya bir kaydırıcı ile hareket eder ve stator direnci, rotorun pozisyonuna göre değişir. Potansiyometreler, analog sinyallerin okunması veya sistemlerin kalibrasyonu gibi birçok uygulamada kullanılır. Örneğin, bir LED’in parlaklığını ayarlamak veya bir ses sisteminin volümünü ayarlamak için potansiyometreler kullanılabilir.

POTANSİYOMETRE ÇEŞİTLERİ NELERDİR
Potansiyometreler, farklı tasarımları, bileşenleri ve özellikleri nedeniyle birçok çeşitlilik gösterir. Örneğin, potansiyometreler:
- Linear veya döner olabilir: Linear potansiyometreler, rotorun pozisyonu ile direncin orantılı olduğu sabit bir yatay eksende hareket eder. Döner potansiyometreler ise rotorun pozisyonunu direncin orantılı olduğu bir dairesel eksende hareket ettiği bir devredir.
- Analog veya digital olabilir: Analog potansiyometreler, rotorun pozisyonu ile direncin doğrusal bir ilişkisi olduğu için, rotorun pozisyonunu direncin değerini doğrudan ifade eden bir voltaj olarak ölçer. Digital potansiyometreler ise rotorun pozisyonunu sadece birkaç durumda ayarlar ve rotorun pozisyonunu daha sonra ölçer.
- Açık devre veya kapalı devre olabilir: Açık devre potansiyometreleri, rotorun pozisyonunu direncin değerini doğrudan ifade eden bir voltaj olarak ölçerken, kapalı devre potansiyometreleri rotorun pozisyonunu birçok durumda ölçer.
- Single-turn veya multi-turn olabilir: Single-turn potansiyometreleri, rotorun pozisyonunu sadece bir tur içinde ayarlarken, multi-turn potansiyometreleri rotorun pozisyonunu birkaç tur içinde ayarlar.
- Potansiyometreler ayrıca mekanik, elektronik, veya optoelektronik olabilir.
- Potansiyometreler ayrıca çeşitli direnç değerleri, toleransları ve çalışma gerilimleri gibi özelliklere sahiptir.
Bu çeşitlilik potansiyometrelerin çeşitli uygulamalarda kullanılmasını sağlar. Örneğin, bir audio sistemi için linear döner potansiyometreler, bir otomatik kontrol sistemi için ise digital potansiyometreler kullanılabilir.
POTANSİYOMETRE KULLANARAK YAPILAN ARDUİNO PROJELERİ
Potentiometer, bir elektronik aygıt olarak bir direnç değiştiricisidir. Arduino ile birlikte kullanıldığında, potansiyometre kullanılarak birçok proje yapılabilir. Örnekler arasında;
- Bir LED’in parlaklığını kontrol etmek
- Bir servo motorun konumunu ayarlamak
- Bir ses sisteminin volümünü ayarlamak
- Bir LCD ekranının kontrastını ayarlamak
- Bir sensörün hassasiyetini ayarlamak
- Bir fanın hızını kontrol etmek
- Bir robotun hareketini kontrol etmek
- Bir termometrenin sıcaklık aralığını ayarlamak
- Bir akımı veya gerilimi kontrol etmek
- Bir projektörün odak uzaklığını ayarlamak gibi projeler yapılabilir. Potansiyometre ile yapılabilecek projelerin sayısı sadece bu örneklerle sınırlı değildir, sadece hayal gücünüz sınırlar.
ARDUİNO POTANSİYOMETRE KULLANIMI BAĞLANTI VE KODLARI

Arduino ile potansiyometre kullanımı için, potansiyometrenin üç terminali Arduino’nun GND, 5V ve A0-A5 pinlerine bağlanmalıdır. Potansiyometrenin birinci terminali GND’ye, ikinci terminali 5V’a ve üçüncü terminali ise A0-A5 arasındaki birine bağlanmalıdır. Bu bağlantı sayesinde potansiyometre ile Arduino arasında bir analog sinyal alışverişi gerçekleşebilir.
Arduino kodlarında, potansiyometreden okunan analog değerleri okumak için analogRead() fonksiyonu kullanılır. Örnek olarak, A0 pininden okunan değeri okumak için şöyle bir kod yazılabilir:
////////////////
int potPin = A0; // Potentiometer pin
int potValue = 0; // Variable to store the potentiometer value
void setup() {
Serial.begin(9600); // Initialize serial communication
}
void loop() {
potValue = analogRead(potPin); // Read the potentiometer value
Serial.println(potValue); // Print the value to serial monitor
delay(100); // Wait for a bit
}
/////////////
Bu kod arduino ile seri haberleşme yapmasını sağlar ve okunan değerleri seri monitörde gösterir. Bu değerler arasında 0-1023 arası değerler olabilir. Bu değerler arasındaki değişim potansiyometre dönerek ayarlanır.
KODLARI AÇIKLAYALIM:
- int potPin = A0; // Potentiometer pin: Bu satır, potansiyometrenin Arduino tarafındaki bağlantı noktasını tanımlar. A0 pinini kullanarak potPin değişkenine atanmıştır.
- int potValue = 0; // Variable to store the potentiometer value: Bu satır, okunan potansiyometre değerlerini saklamak için kullanılacak “potValue” adlı bir değişken tanımlar. Başlangıçta 0 olarak atanmıştır.
- void setup() { Serial.begin(9600); // Initialize serial communication}: Bu satır, seri haberleşme için gerekli olan ayarları yapar. Bu fonksiyon sadece program başlangıcında çağrılır.Serial.begin(9600) ile seri haberleşme 9600 baud hızında başlatılır
- void loop() { potValue = analogRead(potPin); // Read the potentiometer value : Bu satır, potansiyometre okuma işlemi gerçekleştirir. analogRead() fonksiyonu, potPin değişkeninde tanımlanan pin üzerinden okuma yapar ve okunan değeri potValue değişkenine atar.
- Serial.println(potValue); // Print the value to serial monitor : Bu satır, potValue değişkeninde saklanan potansiyometre değerini seri monitöre yazdırır. Serial.println() fonksiyonu, verilen değeri seri monitöre yazdırır ve alt satıra geçer.
- delay(100); // Wait for a bit : Bu satır, 100 milisaniye boyunca beklemek için kullanılır. delay() fonksiyonu, programı belirli bir süre boyunca durdurur.
ARDUİNO POTANSİYOMETRE İLE SERVO MOTOR KONTROLÜ

Arduino ile servo motor kontrolü yapmak için, öncelikle servo motorunuzun bağlantı noktalarını Arduino’ya bağlamanız gerekir. Genellikle, servo motorun güç kaynağına bağlı olarak 3 pin içerir: GND, VCC ve kontrol. GND ve VCC pinleri güç kaynağına bağlanırken, kontrol pininden Arduino tarafından verilen sinyallerle motorun pozisyonunun kontrol edilmesi mümkündür.
Arduino’da servo motor kontrolü için, Servo kütüphanesi kullanılır. Bu kütüphane, servo motorun pozisyonunu kontrol etmek için gerekli olan fonksiyonları içerir. Öncelikle, Servo kütüphanesi başlattıktan sonra, bir Servo nesnesi oluşturulur ve kontrol pinine atanır.
Arduino ile potansiyometre kullanarak servo motor kontrolü yapmak için, öncelikle potansiyometrenin değerini okumanız gerekir. Bu değer, servo motorun pozisyonunu belirleyecek olan değerdir. Örneğin, potansiyometre okuma değeri 0-1023 arasında değişirken, servo motorun pozisyonu 0-180 arasında değişebilir. Bu nedenle, potansiyometre okuma değerini servo motor pozisyonuna uygun bir değere çevirmeniz gerekir.
Son olarak, Servo nesnesinin “write()” fonksiyonu kullanılarak servo motorun pozisyonu kontrol edilir. Bu fonksiyon, servo motorun pozisyonunu belirlemek için 0-180 arasında bir değer alır. Bu şekilde, potansiyometre okuma değerine göre servo motorun pozisyonu kontrol edilir.
//////////////
#include <Servo.h>
Servo myservo;
int potPin = A0;
int potValue = 0;
void setup() {
myservo.attach(9);
Serial.begin(9600);
}
void loop() {
potValue = analogRead(potPin);
potValue = map(potValue, 0, 1023, 0, 180);
myservo.write(potValue);
Serial.println(potValue);
delay(15);
}
/////////////////
KODLARI AÇIKLAYALIM:
- #include <Servo.h> : Bu satır Servo kütüphanesinin projede kullanılmasını sağlar. Servo kütüphanesi, servo motorların kontrol edilmesi için gerekli olan fonksiyonları içerir.
- Servo myservo; : Bu satır, Servo sınıfından bir nesne oluşturulur. Bu nesne servo motorun kontrolü için kullanılacaktır.
- int potPin = A0; : Bu satır, potansiyometrenin bağlı olduğu pin olan A0 için bir değişken tanımlar.
- int potValue = 0; : Bu satır, potansiyometre okuma değerlerini saklamak için kullanılacak “potValue” adlı bir değişken tanımlar. Başlangıçta 0 olarak atanmıştır.
- void setup() { myservo.attach(9); Serial.begin(9600); } : Bu fonksiyon, sadece program başlangıcında çağrılır. İçerisinde myservo nesnesinin attach(9) fonksiyonu kullanarak kontrol pinine 9 numaralı pin atanmıştır. Serial.begin(9600) ile seri haberleşme 9600 baud hızında başlatılır.
- void loop() { potValue = analogRead(potPin); : Bu fonksiyon sürekli olarak çalışır. İlk olarak potansiyometrenin değerini okur analogRead(potPin) fonksiyonu ile.
- potValue = map(potValue, 0, 1023, 0, 180); : Bu satır, potansiyometre okuma değerini servo motor pozisyonuna uygun bir değere çevirir. map() fonksiyonu, verilen değerin başlangıç ve bitiş aralığını belirterek, belirli bir aralıkta yeni bir değere dönüştürür. Burada, potansiyometre okuma değeri 0-1023 arasında, servo motor pozisyonu ise 0-180 arasında olduğundan, potValue değişkeni 0-180 arasına çevrilir.
- myservo.write(potValue); : Bu satır, servo motorun pozisyonunu belirlemek için write() fonksiyonu kullanılır. Bu fonksiyon, 0-180 arasında bir değer alır ve servo motorun pozisyonunu bu değere göre ayarlar.
- Serial.println(potValue); : Bu satır, potValue değişkeninde saklanan potansiyometre okuma değerini seri monitöre yazdırır. Serial.println() fonksiyonu, verilen değeri seri monitöre yazdırır ve alt satıra geçer. Bu sayede, potansiyometre okuma değerinin değişip değişmediğini izleyebilirsiniz.
- delay(15); : Bu satır, programın 15 milisaniye boyunca beklemesini sağlar. delay() fonksiyonu, programı belirli bir süre boyunca durdurur. Bu, servo motorun pozisyonunun düzgün bir şekilde değişebilmesi için gereklidir.
Bu kod, potansiyometre okuma değerlerini kullanarak servo motorun pozisyonunu kontrol etmek için yazılmıştır. Potansiyometre değerleri okunur, servo motor pozisyonuna uygun hale getirilir ve son olarak servo motorun pozisyonu ayarlanır. Bu şekilde, potansiyometre kullanılarak servo motorun kontrol edilmesi sağlanır.
ARDUİNO POTANSİYOMETRE İLE LED PARLAKLIK KONTROLÜ

Arduino ile potansiyometre kullanarak LED parlaklığını kontrol etmek için, öncelikle potansiyometrenin bağlantı noktalarını Arduino’ya bağlamanız gerekir. Potansiyometrenin bir pinini GND’ye, bir pinini VCC’ye ve bir pinini de bir analog giriş pinine bağlamanız gerekir.
Arduino’nun analog giriş pinleri, 0 ile 1023 arasında bir değer alabilir. Bu değerler, PWM (Pulse Width Modulation) yöntemi kullanılarak LED parlaklığını kontrol etmek için kullanılabilir. PWM, bir sinyalin genişliği arasındaki oranları kullanarak bir sürekli değişkeni (parlaklık, hız vb.) kontrol etmek için kullanılan bir yöntemdir.
Arduino’nun PWM pinlerinden biri, LED’in kontrol edileceği pin olarak kullanılabilir. Bu pin üzerinden, potansiyometre okuma değerleri kullanılarak LED parlaklığı kontrol edilir. Örnek olarak aşağıdaki kod, potansiyometre ile okunan değerleri kullanarak LED parlaklığını kontrol eder :
///////////
int potPin = A0;
int ledPin = 9;
int potValue = 0;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
potValue = analogRead(potPin);
potValue = map(potValue, 0, 1023, 0, 255);
analogWrite(ledPin, potValue);
delay(15);
}
//////////////
Bu kod potansiyometre ile arduino üzerinde LED parlaklık kontrolünü yapar. Potansiyometre okuma değerleri 0-1023 arasındadır. Map fonksiyonu ile 0-255 arasına çevrilir. Ve analogWrite fonksiyonu ile ledPin numaralı pin üzerinden parlaklık değeri yazılır.
KODLARI AÇIKLAYALIM:
- int potPin = A0; : Bu satır, potansiyometrenin bağlı olduğu pin olan A0 için bir değişken tanımlar.
- int ledPin = 9; : Bu satır, LED’in bağlı olduğu pin olan 9 numaralı pin için bir değişken tanımlar.
- int potValue = 0; : Bu satır, potansiyometre okuma değerlerini saklamak için kullanılacak “potValue” adlı bir değişken tanımlar. Başlangıçta 0 olarak atanmıştır.
- void setup() { pinMode(ledPin, OUTPUT); } : Bu fonksiyon, sadece program başlangıcında çağrılır. İçerisinde ledPin numaralı pin üzerinden çıkış yapacağı belirtilir.
- void loop() { potValue = analogRead(potPin); : Bu fonksiyon sürekli olarak çalışır. İlk olarak potansiyometrenin değerini okur analogRead(potPin) fonksiyonu ile.
- potValue = map(potValue, 0, 1023, 0, 255); : Bu satır, potansiyometre okuma değerini 0-255 arasına çevirir. Map() fonksiyonu, verilen değerin başlangıç ve bitiş aralığını belirterek, belirli bir aralıkta yeni bir değere dönüştürür. Burada, potansiyometre okuma değeri 0-1023 arasında, LED parlaklığı ise 0-255 arasında olduğundan, potValue değişkeni 0-255 arasına çevrilir.
- analogWrite(ledPin, potValue); : Bu satır, LED parlaklığını belirlemek için analogWrite() fonksiyonu kullanılır. Bu fonksiyon, 0-255 arasında bir değer alır ve ledPin numaralı pin üzerinden PWM sinyali oluşturarak LED parlaklığını ayarlar. potValue değişkeninde saklanan değer kullanılarak LED parlaklığı kontrol edilir.
- delay(15); : Bu satır, programın 15 milisaniye boyunca beklemesini sağlar. delay() fonksiyonu, programı belirli bir süre boyunca durdurur. Bu, LED parlaklığının düzgün bir şekilde değişebilmesi için gereklidir.
Bu kod, potansiyometre okuma değerlerini kullanarak LED parlaklığını kontrol etmek için yazılmıştır. Potansiyometre değerleri okunur, LED parlaklığına uygun hale getirilir ve son olarak LED parlaklığı ayarlanır. Bu şekilde, potansiyometre kullanılarak LED parlaklığının kontrol edilmesi sağlanır.
PWM SİNYALİ NEDİR
PWM (Pulse Width Modulation) sinyali, bir sinyalin genişliği arasındaki oranları kullanarak bir sürekli değişkeni (parlaklık, hız vb.) kontrol etmek için kullanılan bir yöntemdir. PWM sinyali, bir sürekli sinyal yerine, belli bir oran ve aralıkta tekrarlanan darbe sinyallerinden oluşur. Bu sayede, sürekli sinyal yerine darbe sinyali kullanarak, sürekli değişkeni kontrol etmek mümkün olur. Örneğin LED parlaklık kontrolünde PWM sinyali kullanılarak LED parlaklığının kontrol edilmesi sağlanır.
POTANSİYOMETRE KULLANIRKEN NELERE DİKKAT EDİLMELİ
- Potansiyometrenin bağlantı noktaları: Potansiyometrenin bir pinini GND’ye, bir pinini VCC’ye ve bir pinini de bir analog giriş pinine bağlamanız gerekir. Eğer bağlantı yanlış yapılırsa potansiyometre doğru şekilde çalışmayacaktır.
- Potansiyometre türleri: Potansiyometreler, linear ve logaritmik olarak iki farklı türde olabilir. Linear potansiyometreler, pozisyon değiştirildikçe direnç değeri doğrusal olarak değişirken, logaritmik potansiyometreler, pozisyon değiştirildikçe direnç değeri logaritmik olarak değişir. Doğru türü seçmek önemlidir.
- Okuma aralığı: Potansiyometre okuma aralığı 0 ile 1023 arasındadır. Bu aralık dahilinde olmasına dikkat edilmelidir.
- Pin atamaları: Potansiyometre ve LED gibi periferikler için kullanacağınız pinleri doğru şekilde atamalısınız.
- Çıkış aralığı: LED parlaklık kontrolü yaparken çıkış aralığının 0-255 arasında olmasına dikkat edin.
- PWM sinyali: LED parlaklık kontrolü yaparken PWM sinyali oluşturmanız gerektiğini unutmayın.
- Güncelleme hızı: LED parlaklık kontrolü yaparken potansiyometre okuma değerlerinin güncellenme hızının yeterli olmasına dikkat edin.
- Çalışma voltajı: Potansiyometre çalışma voltajına dikkat edin ve doğru voltajda çalışmasını sağlayın.
- Güvenliği: Potansiyometre üzerinde çalışırken güvenliğinizi sağlamak için gerekli önlemleri alın.