Arduino Potansiyometre ile LED Parlaklık 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


Arduino’nun analogRead() fonksiyonu ile potansiyometreden gelen değeri okuyacağız ve bu değeri analogWrite() fonksiyonu ile LED’in parlaklığını kontrol etmek için kullanacağız.

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

Devre Şeması:

5V → Potansiyometre (Sağ) → Potansiyometre (Orta) → A0
GND → Potansiyometre (Sol) → LED Katot
D9 → 220Ω Direnç → LED Anot

4. Kod:

int potPin = A0;     // Potansiyometreyi bağladığımız analog pin
int ledPin = 9;      // LED'i bağladığımız dijital pin
int potValue = 0;    // Potansiyometreden okunan değer

void setup() {
  pinMode(ledPin, OUTPUT);  // LED pinini çıkış olarak ayarla
}

void loop() {
  potValue = analogRead(potPin);        // Potansiyometreden değer oku (0-1023 arası)
  potValue = map(potValue, 0, 1023, 0, 255);  // Değeri 0-255 arası bir değere dönüştür
  analogWrite(ledPin, potValue);       // LED'in parlaklığını ayarla
  delay(10);                          // Küçük bir gecikme ekle
}

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:
int red = map(potValue, 0, 341, 255, 0);
int green = map(potValue, 342, 682, 0, 255);
int blue = map(potValue, 683, 1023, 0, 255);

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
0 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments