Arduino Potansiyometre ile LED Kontrolü

Bu projede, bir potansiyometre (ayarlı direnç) kullanarak LED’in parlaklık seviyesini kontrol edeceğiz. Arduino’nun analog giriş özelliğiyle potansiyometreden okunan değerleri kullanarak, PWM (Pulse Width Modulation) tekniği sayesinde LED’in parlaklığını hassas bir şekilde ayarlayabileceğiz.

Öğrenecekleriniz:
✔ Analog ve dijital sinyal farkı
✔ Potansiyometre çalışma prensibi
✔ PWM ile parlaklık kontrolü
✔ Arduino’da analog okuma ve dijital yazma


2. Gerekli Malzemeler

MalzemeAdetAçıklama
Arduino Uno1Mikrodenetleyici kartı
10kΩ Potansiyometre1Direnç değerini ayarlamak için
LED1Kontrol edilecek ışık kaynağı
220Ω Direnç1LED’i korumak için
Breadboard1Devre kurulum alanı
Jumper Kablolar5-6Bağlantı için

3. Devre Bağlantısı

Adım Adım Bağlantı Kılavuzu

  1. Potansiyometre Bağlantısı:
    • Sol bacak → Arduino GND
    • Orta bacak → Arduino A0 (Analog Giriş)
    • Sağ bacak → Arduino 5V
  2. LED Bağlantısı:
    • LED’in uzun bacak (anot) → 220Ω direnç → Arduino D9 (PWM Çıkışı)
    • LED’in kısa bacak (katot) → Arduino GND
5V → Potansiyometre (Sağ) → Potansiyometre (Orta) → A0
GND → Potansiyometre (Sol) → LED Katot
D9 → 220Ω Direnç → LED Anot
int led1=6;
int led2=5;
int pot=A5;
int potDeger=0;
void setup()
{
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
}

void loop()
{
  potDeger=analogRead(pot);
  potDeger=map(potDeger,0,1023,0,255);
  if(potDeger>=120)
  {
    analogWrite(led1,potDeger);
    analogWrite(led2,0);
    delay(10);
  }
  else
  {
  	analogWrite(led2,potDeger);
    analogWrite(led1,0);
    delay(10);
  }                  
}

5. Kod Açıklaması

  1. analogRead(): Potansiyometreden 0-1023 arası değer okur.
  2. map(): 0-1023 aralığını 0-255 PWM aralığına dönüştürür.
  3. analogWrite(): LED’e PWM sinyali göndererek parlaklığı ayarlar.
  4. Serial.print(): Değerleri bilgisayara gönderir.

6. Çalışma Prensibi

Potansiyometre döndürüldüğünde:

  1. Direnç değeri değişir
  2. Arduino A0 pinine gelen voltaj değişir
  3. analogRead() bu voltajı 0-1023 arasında dijital değere çevirir
  4. map() fonksiyonu bu değeri 0-255 aralığına ölçekler
  5. analogWrite() LED’in parlaklığını ayarlar

7. Proje Geliştirme Önerileri

  1. Çoklu LED Kontrolü:
int leds[] = {3,5,6,9,10,11};
for(int i=0; i<6; i++) {
  analogWrite(leds[i], brightness);
}
  1. RGB LED Kontrolü:
int red = map(potValue, 0, 341, 255, 0);
int green = map(potValue, 342, 682, 0, 255);
int blue = map(potValue, 683, 1023, 0, 255);
  1. Parlaklık Seviye Göstergesi:

10 LED’lik bir bar grafik ekleyebilirsiniz


8. Sık Karşılaşılan Sorunlar

SorunÇözüm
LED yanmıyorBağlantıları kontrol edin, LED yönünü doğrultun
Parlaklık değişmiyorPWM (~) işaretli pin kullandığınızdan emin olun
Değerler kararsızPotansiyometreyi değiştirmeyi deneyin

9. Sonuç

Bu projede Arduino ile:
✔ Analog giriş okumayı
✔ PWM çıkışı oluşturmayı
✔ Potansiyometre ile LED kontrolünü öğrendik. 

guest
2 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments
bilmiyor
bilmiyor
6 ay önce

öncelikle site gayet kulanışlı renk uyumu gayet güzel

malesef
malesef
4 ay önce

öncelikle furkan hocanın sempatik yaklaşımı çok iyi