Arduino ile Potansiyometre ile LED Parlaklığı Ayarlama

Arduino ile Potansiyometre ile LED Parlaklığı Ayarlama

Arduino ile Potansiyometre ile LED Parlaklığı Ayarlama

Elektronik projelerde en sık kullanılan bileşenlerden biri LED’lerdir.
Basit bir devrede LED sadece yanıp söner, ancak parlaklığını kontrol etmek istiyorsan bir potansiyometre (ayar direnci) kullanabilirsin.
Bu yazıda Arduino ile potansiyometre kullanarak LED parlaklığını nasıl ayarlayabileceğini adım adım öğreneceksin.
Temel devre bağlantısından PWM sinyallerine, kod örneklerinden proje fikirlerine kadar hepsi burada!

1. Potansiyometre Nedir?

Potansiyometre, döner veya kayar bir düğme ile direnç değeri değiştirilebilen bir devre elemanıdır.
Direnci değiştikçe, üzerinden geçen akım da değişir. Bu sayede Arduino analog girişinden farklı gerilim değerleri okur.
Özetle:

  • 3 bacaklıdır.
  • Ortadaki bacak (wiper), çıkış voltajını verir.
  • Diğer iki bacak 5V ve GND’ye bağlanır.

Arduino ile potansiyometreyi kullanarak ses seviyesi, motor hızı veya LED parlaklığı kontrolü gibi pek çok analog işlem yapılabilir.

2. PWM (Pulse Width Modulation) Nedir?

Arduino dijital pinleri sadece 0 (LOW) ve 1 (HIGH) değerlerini üretir.
Ancak LED’in parlaklığını ayarlamak için ara değerler gerekir.
İşte bu noktada devreye PWM (Darbe Genişlik Modülasyonu) girer.
PWM sinyali, dijital sinyalin hızlı şekilde açılıp kapanmasıyla oluşturulur.
Bu sinyalin “aktif olma süresi” (duty cycle) arttıkça LED daha parlak görünür.
Örnek:

  • 0% duty cycle → LED kapalı
  • 50% duty cycle → orta parlaklık
  • 100% duty cycle → tam parlaklık

Arduino’da PWM çıkışları (~) işareti bulunan pinlerdir (örneğin 3, 5, 6, 9, 10, 11).

3. Gerekli Malzemeler

Arduino ile potansiyometre üzerinden LED parlaklığı ayarlamak için şu bileşenler yeterlidir:

  • Arduino UNO / Nano / Mega
  • 1 adet LED (kırmızı, yeşil, mavi fark etmez)
  • 1 adet 220Ω direnç (LED koruması için)
  • 1 adet 10KΩ potansiyometre
  • Breadboard
  • Jumper kablolar

4. Devre Bağlantı Şeması

Aşağıdaki bağlantıyı yaparak devreni kolayca kurabilirsin:

[POT + LED Devresi]
--------------------------------
Potansiyometre:
  1. bacak → 5V
  2. bacak → A0 (analog giriş)
  3. bacak → GND

LED:
  Uzun bacak (+) → PWM pin (örnek: 9)
  Kısa bacak (–) → 220Ω direnç → GND
--------------------------------

Bu bağlantı sayesinde potansiyometre, LED’in parlaklığını kontrol edecek bir “analog dimmer” haline gelir.

5. Arduino Kod Örneği (Temel LED Kontrol)

Aşağıdaki örnek, potansiyometreden okunan değere göre LED parlaklığını değiştirir:

int potPin = A0;   // Potansiyometre bağlı pin
int ledPin = 9;    // PWM pin
int deger = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  deger = analogRead(potPin);       // 0 - 1023 arasında değer okur
  int pwm = map(deger, 0, 1023, 0, 255); // PWM aralığına dönüştür
  analogWrite(ledPin, pwm);         // LED parlaklığını ayarla
  Serial.println(pwm);
  delay(10);
}

Açıklama:

  • analogRead() fonksiyonu 0–1023 arası bir değer döndürür.
  • map() fonksiyonu bu değeri 0–255 aralığına çevirir.
  • analogWrite() ile LED’in parlaklığı ayarlanır.

6. Kodun Mantığı

Bu projede potansiyometre bir analog giriş cihazı, LED ise bir PWM çıkışı olarak kullanılır.

  • Potansiyometre döndürüldükçe Arduino farklı voltajlar okur.
  • Arduino bu değeri PWM’e dönüştürür.
  • LED’in parlaklığı anlık olarak değişir.

Bu sistem, temel bir analogdan dijitale dönüşüm örneğidir.

7. Seri Monitör ile Gözlemleme

Arduino IDE üzerindeki Seri Monitör’ü açarak potansiyometre değerlerini izleyebilirsin.
Aşağıdaki gibi çıktılar göreceksin:

Potansiyometre: 120  -> LED PWM: 30
Potansiyometre: 600  -> LED PWM: 150
Potansiyometre: 1023 -> LED PWM: 255

Bu sayede hem veri akışını hem de LED parlaklığının değişimini gözlemleyebilirsin.

8. PWM Sinyalinin Görsel Etkisi

LED’in gözle görünür şekilde parlaklığını artırıp azaltması aslında göz yanılmasıdır.
PWM frekansı o kadar yüksektir ki, insan gözü “titreşimi” algılayamaz ve sadece parlaklık değişimini görür.
Bu teknik; monitörler, motor hız kontrolü ve servo motorlarda da aynı prensiple çalışır.

9. Potansiyometre ile RGB LED Kontrolü

Tek bir LED yerine RGB LED (kırmızı, yeşil, mavi) kullanarak renk karışımı yapabilirsin.
Üç potansiyometre kullanarak her rengin parlaklığını ayrı ayrı kontrol edebilirsin.
Örnek bağlantı:

  • R → 9
  • G → 10
  • B → 11

Kod:

int potR = A0;
int potG = A1;
int potB = A2;
int ledR = 9;
int ledG = 10;
int ledB = 11;

void setup() {
  pinMode(ledR, OUTPUT);
  pinMode(ledG, OUTPUT);
  pinMode(ledB, OUTPUT);
}

void loop() {
  int r = map(analogRead(potR), 0, 1023, 0, 255);
  int g = map(analogRead(potG), 0, 1023, 0, 255);
  int b = map(analogRead(potB), 0, 1023, 0, 255);
  
  analogWrite(ledR, r);
  analogWrite(ledG, g);
  analogWrite(ledB, b);
  
  delay(10);
}

Bu sayede kırmızı, yeşil ve mavi renklerin oranlarını değiştirerek binlerce farklı renk tonu elde edebilirsin.

10. Potansiyometre ile Motor Hızı Kontrolü

LED yerine bir DC motor bağlayarak potansiyometreyle motor hızını da kontrol edebilirsin.
Yapı tamamen aynıdır, tek fark çıkış elemanıdır.

int potPin = A0;
int motorPin = 9;

void setup() {
  pinMode(motorPin, OUTPUT);
}

void loop() {
  int deger = analogRead(potPin);
  int hiz = map(deger, 0, 1023, 0, 255);
  analogWrite(motorPin, hiz);
}

Bu örnek, LED dimmer mantığının motor hız kontrolünde nasıl kullanılabileceğini gösterir.

11. Potansiyometre Türleri

Projelerde farklı tipte potansiyometreler kullanılabilir:
TipÖzellikKullanım AlanıDöner PotansiyometreDairesel, 0–10K arası dirençArduino projeleriTrimpotKüçük, tornavida ile ayarlanırKalibrasyon devreleriLineer PotansiyometreKaydırmalı yapıSes kontrolü, joystickDijital PotansiyometreButon veya mikrodenetleyiciyle kontrolOtomatik sistemler
Arduino genelde döner veya trimpot tipi potansiyometrelerle kullanılır.

12. Kodda map() Fonksiyonunun Önemi

map() fonksiyonu, analog giriş değerini başka bir aralığa dönüştürmek için kullanılır.
Formül:
map(x, a, b, c, d) → x değerini a–b aralığından c–d aralığına taşır.
LED parlaklığı için:

analogRead → 0–1023
analogWrite → 0–255

Yani map() olmadan LED hemen söner veya aşırı parlak yanar.
Bu dönüşüm, parlaklığın yumuşak geçişlerle ayarlanmasını sağlar.

13. Potansiyometre ile Gecikme Süresi Ayarlama

Potansiyometreyi sadece parlaklık değil, zamanlama kontrolü için de kullanabilirsin.
Örneğin LED’in yanıp sönme hızını ayarlamak:

int potPin = A0;
int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int potDeger = analogRead(potPin);
  int gecikme = map(potDeger, 0, 1023, 50, 1000);
  digitalWrite(ledPin, HIGH);
  delay(gecikme);
  digitalWrite(ledPin, LOW);
  delay(gecikme);
}

Bu kod, LED’in yanma süresini potansiyometre üzerinden değiştirmeni sağlar.
Gecikme süresi 50 ms’den 1 saniyeye kadar ayarlanabilir.

14. Sık Yapılan Hatalar ve Çözümleri

[POT + LED Projelerinde Yaygın Sorunlar]
-----------------------------------------
1. LED hiç yanmıyor → Direnç ters bağlanmış veya PWM pini kullanılmamış.
2. LED sürekli tam parlak → Potansiyometre orta bacağı yanlış bağlanmış.
3. LED titriyor → Breadboard bağlantısı gevşek.
4. Değer sabit → Analog pin (A0) doğru tanımlanmamış.
5. Seri monitörde 0 çıkıyor → Potansiyometre GND’ye bağlı değil.
-----------------------------------------

Bu hatalar genellikle breadboard bağlantılarından kaynaklanır.
Her zaman devreyi enerjiyi kesip kontrol etmek en güvenli yöntemdir.

15. Proje Fikirleri

Potansiyometre sadece LED parlaklığını değil, birçok parametreyi kontrol edebilir:

  1. Servo Açısı Kontrolü:
  2. Potansiyometre döndükçe servo belirli açılarda döner.
  3. Ses Seviyesi Ayarlayıcı:
  4. Pot ile hoparlör ses çıkışını kontrol et.
  5. LCD Parlaklık Ayarı:
  6. PWM çıkışıyla ekran parlaklığını düzenle.
  7. Oyun Joystick’i:
  8. İki potansiyometre ile X-Y ekseni kontrolü yapılabilir.
  9. RGB LED Renk Karıştırma:
  10. Üç potansiyometre ile farklı renk tonları üretilebilir.

16. Sonuç: Arduino ile Analog Kontrolün Gücü

Bu yazıda Arduino ile potansiyometre kullanarak LED parlaklığını ayarlama konusunu en basit haliyle öğrendin.
Artık biliyorsun ki:

  • Potansiyometre analog sinyal üretir.
  • Arduino bu sinyali dijital PWM’e dönüştürür.
  • LED’in parlaklığı anlık olarak değiştirilebilir.

Bu prensip, sadece LED değil; motor, servo, fan, ekran gibi tüm kontrol devrelerinde geçerlidir.
Kısacası, potansiyometre analog kontrol dünyasının en basit ama en güçlü aracıdır.