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
Malzeme | Adet | Açıklama |
---|---|---|
Arduino Uno | 1 | Mikrodenetleyici kartı |
10kΩ Potansiyometre | 1 | Direnç değerini ayarlamak için |
LED | 1 | Kontrol edilecek ışık kaynağı |
220Ω Direnç | 1 | LED’i korumak için |
Breadboard | 1 | Devre kurulum alanı |
Jumper Kablolar | 5-6 | Bağlantı için |
3. Devre Bağlantısı
Adım Adım Bağlantı Kılavuzu
- Potansiyometre Bağlantısı:
- Sol bacak → Arduino GND
- Orta bacak → Arduino A0 (Analog Giriş)
- Sağ bacak → Arduino 5V
- 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ı
- analogRead(): Potansiyometreden 0-1023 arası değer okur.
- map(): 0-1023 aralığını 0-255 PWM aralığına dönüştürür.
- analogWrite(): LED’e PWM sinyali göndererek parlaklığı ayarlar.
- Serial.print(): Değerleri bilgisayara gönderir.
6. Çalışma Prensibi
Potansiyometre döndürüldüğünde:
- Direnç değeri değişir
- Arduino A0 pinine gelen voltaj değişir
- analogRead() bu voltajı 0-1023 arasında dijital değere çevirir
- map() fonksiyonu bu değeri 0-255 aralığına ölçekler
- analogWrite() LED’in parlaklığını ayarlar
7. Proje Geliştirme Önerileri
- Çoklu LED Kontrolü:
int leds[] = {3,5,6,9,10,11};
for(int i=0; i<6; i++) {
analogWrite(leds[i], brightness);
}
- 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);
- Parlaklık Seviye Göstergesi:
10 LED’lik bir bar grafik ekleyebilirsiniz
8. Sık Karşılaşılan Sorunlar
Sorun | Çözüm |
---|---|
LED yanmıyor | Bağlantıları kontrol edin, LED yönünü doğrultun |
Parlaklık değişmiyor | PWM (~) işaretli pin kullandığınızdan emin olun |
Değerler kararsız | Potansiyometreyi değiştirmeyi deneyin |
9. Sonuç
Bu projede Arduino ile:
✔ Analog giriş okumayı
✔ PWM çıkışı oluşturmayı
✔ Potansiyometre ile LED kontrolünü öğrendik.
öncelikle site gayet kulanışlı renk uyumu gayet güzel
öncelikle furkan hocanın sempatik yaklaşımı çok iyi