ESP32 ile Potansiyometre Kullanarak LED Parlaklık Kontrolü

👤 Yazar: ozcan 📅 Tarih: 04.06.2026 15:47 👁️ Görüntüleme: 3

ESP32 ile Potansiyometre Kullanarak LED Parlaklık Kontrolü

Bu uygulamada, potansiyometreden okunan analog voltaj değerini (0V - 3.3V) dijital bir veriye dönüştürecek ve bu veriyi LED'in parlaklığını ayarlamak için PWM sinyaline dönüştüreceğiz.

1. Donanım Gereksinimleri ve Bağlantı Şeması

ESP32'nin Dahili Analog-Dijital Dönüştürücüsü (ADC) varsayılan olarak 12-bit çözünürlüğe sahiptir (0 - 4095 arası değer okur). PWM (LEDC) birimini ise sinyal kararlılığı için yine 8-bit (0 - 255) olarak yapılandıracağız. Kod içerisindeki map() fonksiyonu bu iki farklı ölçeği birbirine eşitleyecektir.

ESP32 Potansiyometre ve LED Bağlantı Şeması

Görsel 2: Potansiyometre ile LED Parlaklık Kontrolü Şeması (.jpg)

2. Arduino IDE Kod Bloğu

Aşağıdaki kod, potansiyometreden aldığı anlık voltaj verisine göre PWM görev döngüsünü (duty cycle) dinamik olarak günceller.

#define POT_PIN 34  // Analog giriş pini (ADC1_CH6)
#define LED_PIN 2   // PWM çıkış pini

// PWM Yapılandırması
const int frekans = 5000;
const int ledKanali = 0;
const int cozunurluk = 8; // 8-bit çözünürlük (0 - 255)

void setup() {
  // PWM kanal ayarları
  ledcSetup(ledKanali, frekans, cozunurluk);
  ledcAttachPin(LED_PIN, ledKanali);
  
  // Potansiyometre pini giriş olarak ayarlanıyor
  pinMode(POT_PIN, INPUT);
}

void loop() {
  // Potansiyometreden 12-bit analog değer oku (0 - 4095)
  int potDegeri = analogRead(POT_PIN);
  
  // 12-bitlik değeri (0-4095), PWM için 8-bitlik değere (0-255) dönüştür
  int parlaklik = map(potDegeri, 0, 4095, 0, 255);
  
  // Hesaplanan parlaklık değerini PWM kanalına yaz
  ledcWrite(ledKanali, parlaklik);
  
  delay(15); // Kararlı okuma için kısa bir gecikme
}
Kritik Geliştirici Notu:
  • ADC Non-Linearity (Doğrusallık Sorunu): ESP32'nin ADC yapısı tam doğrusal (linear) değildir. Özellikle 0V-0.1V arası ve 3.2V-3.3V arası sınır değerlerde okuma hassasiyeti düşebilir. Projenizde milimetrik hassasiyet gerekirse kod tarafında kalibrasyon yapılması önerilir.
  • Wi-Fi Çakışması: Potansiyometre için ADC2 bloğuna bağlı pinleri (örn: GPIO 4, 12, 13, 14, 15, 25, 26, 27) kullanırsanız, ESP32'nin Wi-Fi özelliği aktifken analog okuma yapamazsınız. Bu yüzden her zaman ADC1 pinlerini (GPIO 32 - 39) tercih edin.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
Sayfa Başı
Yenidir CMS V0.1