Potansiyometre Nedir? Arduino ile Analog Okuma ve Kontrol
Potansiyometre nedir, nasıl çalışır, Arduino'ya nasıl bağlanır? Lineer ve logaritmik pot farkı, B10K kodu, analogRead ile okuma ve LED parlaklığı ayarlama örneği.
Potansiyometre, mili çevrildikçe direnci değişen ayarlı bir dirençtir. Radyonun ses düğmesi, lambanın dimmer ayarı ve oyun kollarının çubukları aslında birer potansiyometredir. Arduino projelerinde kullanıcıdan bir değer almanın en kolay yoludur: düğmeyi çevirirsin, Arduino da 0 ile 1023 arasında bir sayı okur.

Potansiyometre nasıl çalışır?
İçinde yay şeklinde bir direnç yolu ve bu yol üzerinde kayan bir sürgü vardır. İki kenar bacak arasındaki direnç sabittir (örneğin 10 kΩ). Orta bacak sürgüye bağlıdır; mili çevirdikçe sürgü yol üzerinde ilerler ve kenar bacaklarla arasındaki direnç değişir. Kenar bacaklara 5 V ve GND verdiğinde orta bacaktan 0 ile 5 V arasında değişen bir gerilim alırsın. Yani potansiyometre aslında ayarlanabilir bir gerilim bölücüdür.
Potansiyometre türleri
| Tür | Görünüş | Kullanım |
|---|---|---|
| Döner pot | Milli, 3 bacaklı | Ses, parlaklık, hız ayarı |
| Trimpot (trimmer) | Küçük, tornavidayla ayarlanır | Bir kez ayarlanıp bırakılan değerler (LCD kontrastı gibi) |
| Sürgülü pot | Düz hat üzerinde kayar | Mikser ve kontrol panelleri |
| Joystick | İki pot bir arada | İki eksenli kontrol (X ve Y) |
Potansiyometreyi Arduino'ya bağlamak
- Kenar bacaklardan birini 5V'a, diğerini GND'ye bağla (yönü değiştirirsen değerler ters artar).
- Orta bacağı bir analog girişe, örneğin A0'a bağla.
- LED'i 220 Ω dirençle PWM destekli 9. pine bağla.
- Aşağıdaki kodu yükle ve seri monitörü aç; düğmeyi çevirdikçe değer ve LED parlaklığı değişir.
const int POT_PIN = A0; // potansiyometre orta bacak / pot wiper
const int LED_PIN = 9; // PWM pini / PWM pin
void setup() {
pinMode(LED_PIN, OUTPUT); // LED çıkış / LED output
Serial.begin(9600); // seri monitör / serial monitor
}
void loop() {
int raw = analogRead(POT_PIN); // 0–1023 oku / read 0–1023
int brightness = map(raw, 0, 1023, 0, 255); // PWM'e çevir / scale to PWM
analogWrite(LED_PIN, brightness); // parlaklık / brightness
Serial.println(raw); // değeri yaz / print value
delay(20);
}map() fonksiyonu bir aralıktaki değeri başka bir aralığa çevirir: 0–1023 okumayı 0–255 PWM değerine ya da 0–180 servo açısına dönüştürmek gibi. Gerilim bölücü mantığını sayılarla görmek için gerilim bölücü hesaplayıcısını kullanabilirsin.
Kartlara göre analog okuma aralığı
| Kart | Çözünürlük | Okunan aralık | Fonksiyon |
|---|---|---|---|
| Arduino Uno / Nano | 10 bit | 0–1023 | analogRead() |
| ESP32 | 12 bit | 0–4095 | analogRead() |
| Raspberry Pi Pico | 12 bit (16 bite ölçeklenir) | 0–65535 | ADC.read_u16() |
Sık yapılan hatalar
- Orta bacağı doğrudan 5V ya da GND'ye bağlamak: Düğme uca geldiğinde kısa devre olur ve pot yanabilir. Besleme her zaman kenar bacaklara verilir.
- Değerlerin titremesi: Okuma birkaç birim oynayabilir. Birkaç ölçümün ortalamasını al ya da küçük değişimleri yok say.
- Logaritmik pot kullanmak: A tipi potta değer düğmenin başında yavaş, sonunda hızlı değişir; lineer kontrol için B tipini kullan.
- Dijital pine bağlamak: Potansiyometre analog bir değer verir; mutlaka A0–A5 gibi bir analog girişe bağlanmalı.
Potansiyometreyle servo açısını ayarlamayı Servo Motor Nedir? yazısında, direncin temel mantığını Direnç Nedir? yazısında bulabilirsin.
Sıkça sorulan sorular
Arduino için kaç ohm potansiyometre almalıyım?
10 kΩ lineer (B10K) pot en yaygın seçimdir. 1 kΩ ile 100 kΩ arasındaki değerler de çalışır; çok küçük değerler fazla akım çeker, çok büyükler gürültülü okunabilir.
Potansiyometrenin bacakları nasıl ayırt edilir?
Mili sana bakacak şekilde tuttuğunda ortadaki bacak sürgüdür. Kenar bacakların yönü yalnızca değerin hangi yöne çevirince artacağını belirler.
Potansiyometre değeri neden 0 ya da 1023'e tam ulaşmıyor?
Uçlardaki temas direnci ve üretim toleransı yüzünden en uç değerler birkaç birim kayabilir. Kodda 5–10 birimlik bir pay bırakmak sorunu çözer.
Joystick ile potansiyometre aynı şey mi?
Joystick içinde birbirine dik iki potansiyometre ve çoğunlukla bir buton vardır. Her eksen ayrı bir analog girişten okunur.
Bu yazıdan sonra yapabileceğin projeler
Tüm projeleri gör
Potansiyometre İle Servo Motor Kullanım
Potansiyometre değerini 0-180° aralığına dönüştürerek servo motoru gerçek zamanlı kontrol eden proje. map() fonksiyonu ve analog-servo entegrasyonunu öğretir.

Pot ile SG90 Servo Açı Kontrolü
Potansiyometre ile Servo Motor (SG90) Kontrolü Bu projenin temel amacı, analog bir giriş birimi olan potansiyometreyi kullanarak, bir servo motorun açısal konumunu gerçek zamanlı ve hassas bir şekilde kontrol etmektir. Proje, analog-dijital dönüşüm (ADC) ve sinyal haritalama mantığını kavramak için temel bir mühendislik örneğidir. Çalışma Mantığı: Analog Veri Okuma: Kullanıcı potansiyometreyi çevirdiğinde, direnç değişimi sonucunda Arduino'nun A0 analog pinine 0V ile 5V arasında bir voltaj siny

ESP32 Potansiyometre ile LED Parlaklık (Analog → PWM)
Bu projede bir potansiyometre ile LED parlaklığını analog olarak kontrol ediyoruz. ESP32'nin ADC pini potansiyometreden gelen 0-3.3V gerilimi okur, ardından bu değer PWM (Pulse Width Modulation) sinyaline çevrilerek LED'e gönderilir. Böylece potansiyometreyi çevirdikçe LED kademeli olarak parlar ve söner. Arduino Core 3.0+ ile `analogWrite()` doğrudan kullanılabilir; ESP32-S2/S3'te ADC çözünürlüğü 12-bit'e sabitlenir.

Hız Ayarlı Yürüyen Led
Potansiyometre ile LED yürüme hızını gerçek zamanlı olarak ayarlayabilen proje. analogRead ile potansiyometre değerini okuyarak delay süresini dinamik kontrol etmeyi öğretir.

Hız Ayarlı Karaşimşek Led
Potansiyometre ile karaşimşek LED animasyonunun hızını gerçek zamanlı olarak ayarlayabilen proje. Analog giriş ve çift yönlü döngü kontrolünü birleştirir.

Joystick İle Led Kontrol
Joystick modülünün X ve Y eksen değerlerine göre 4 farklı yönde LED'leri yakan kontrol projesi. Analog joystick okuma ve yön algılama mantığını öğretir.

ESP32 Renk Mikser Lambası (3 Pot + RGB LED + OLED)
ESP32 ile 3 potansiyometre çevirerek istediğin rengi karıştıran akıllı bir renk mikser lambası! Kırmızı, yeşil ve mavi potansiyometreleri çevirdikçe ortak katot RGB LED anlık olarak renk değiştirir. SSD1306 OLED ekranda her renk için 0-255 aralığında değer, görsel dolgu barları ve HEX web renk kodu (#FF8040 gibi) canlı olarak gösterilir. Mini bir profesyonel renk stüdyosu — RGB renk teorisi, ADC analog okuma, PWM ile parlaklık kontrolü ve I2C ekran tasarımını tek projede öğretir. Grafik tasarımc

LCD Ekran ile Dijital Voltmetre
Gerilim bölücü devresi ile 0-55V aralığında voltaj ölçümü yaparak sonucu I2C LCD ekranda gösteren dijital voltmetre projesi. Gerilim bölücü formülü ve analog ölçüm kalibrasyonunu öğretir.
Diğer yazılar
Çevirdikçe değeri değişen potansiyometrenin nasıl çalıştığını, Arduino'ya bağlanmasını ve analog değerle LED, servo ya da ses kontrolünü öğren.

