ESP8266 (NodeMCU) ile LDR Işık Sensörü Kullanımı

👤 Yazar: Admin 📅 Tarih: 28.09.2026 05:18 👁️ Görüntüleme: 57

ESP8266 (NodeMCU) ve LDR Işık Sensörü Uygulaması

LDR (Light Dependent Resistor), ortamdaki ışık şiddetine bağlı olarak direnç değeri değişen bir foto-dirençtir. ESP8266 (NodeMCU) üzerinde yer alan tek analog giriş pini olan A0 (ADC0) vasıtasıyla LDR üzerindeki gerilim değişimi ölçülerek ortamın ışık düzeyi sayısal veriye dönüştürülür.

ESP8266 NodeMCU LDR Bağlantı Şeması


1. Donanım Pin Eşleşme Tablosu

Şemadaki devre bağlantılarına göre ESP8266 (NodeMCU) ile LDR gerilim bölücü devresi arasındaki pin haritası şu şekildedir:

Bileşen / Hat NodeMCU Pin Sinyal / İşlev Açıklama / Kablo Rengi
3.3V Besleme 3V3 3.3V Güç Çıkışı LDR bacağına bağlanır (Kırmızı Kablo)
GND Hattı GND Ortak Toprak Sabit direnç üzerinden bağlanır (Siyah Kablo)
Analog Okuma A0 ADC (0 - 1023) LDR ile Direnç birleşim noktası (Yeşil Kablo)
Devre Çalışma Mantığı (Gerilim Bölücü):
LDR ve 10kΩ sabit direnç seri bağlanarak bir gerilim bölücü (voltage divider) oluşturur. LDR üzerine ışık düştüğünde direnci düşer ve A0 pinindeki gerilim yükselir. Işık azaldığında (karanlıkta) LDR direnci artar ve A0 pinindeki gerilim düşer. ESP8266'nın dahili ADC'si 0V - 1.0V (NodeMCU kartlarında dahili direnç bölücü ile 0V - 3.3V) aralığını 0 - 1023 dijital değerleri arasında okur.

2. C++ Arduino Kodu (A0 Analog Okuma ve Işık Yüzdesi Hesaplama)

Aşağıdaki C++ kodu, A0 pininden LDR ham verisini okur, yüzdelik ışık seviyesini hesaplar ve Seri Port Ekranı üzerinden anlık olarak sunar:

C++ / ESP8266 LDR Analog Read Example

#include <Arduino.h>

// Pin Tanımlaması
const int LDR_PIN = A0; // ESP8266 Analog Giriş Pini

void setup() {
  Serial.begin(115200);
  delay(10);
  
  Serial.println("\nESP8266 LDR Işık Sensörü Testi Başlatılıyor...");
}

void loop() {
  // A0 pininden ham ADC değerini okuma (0 - 1023)
  int ldrRaw = analogRead(LDR_PIN);

  // Read değerini yüzdelik ortama eşleme (0 - 100%)
  int lightPercent = map(ldrRaw, 0, 1023, 0, 100);

  // Seri Port Çıktısı
  Serial.print("Ham ADC Değeri: ");
  Serial.print(ldrRaw);
  Serial.print(" | Işık Seviyesi: %");
  Serial.print(lightPercent);

  // Basit Durum Değerlendirmesi
  if (lightPercent < 30) {
    Serial.println(" -> [Karanlık]");
  } else if (lightPercent < 70) {
    Serial.println(" -> [Normal Işık]");
  } else {
    Serial.println(" -> [Yüksek Işık / Aydınlık]");
  }

  delay(500); // 500 ms aralıklarla ölçüm yap
}

💬 Yorumlar

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

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1