Bu rehberde, ESP8266 NodeMCU üzerindeki analog-dijital dönüştürücü (ADC) pinini kullanarak bir potansiyometreden gelen voltaj değerini okuyacağız. Okunan bu analog değeri PWM sinyaline dönüştürerek LED'in parlaklığını ayarlayacak ve tüm verileri anlık olarak Seri Port (Serial Monitor) üzerinden takip edeceğiz.
Görseldeki Fritzing şemasına göre yapılan pin bağlantıları şu şekildedir:
Aşağıdaki kod potansiyometreden gelen ham ADC değerini okur, bu değeri doğrudan PWM sinyali olarak D0 pinine iletir ve anlık durum verilerini Seri Port Ekranı'na yazdırır:
// ESP8266 NodeMCU Potansiyometre ile PWM LED Kontrolü
const int potPin = A0; // Potansiyometre sinyal pini (ADC0)
const int ledPin = D0; // LED PWM pini (GPIO16)
int potDegeri = 0; // Potansiyometreden okunan ham değer (0 - 1023)
int pwmDegeri = 0; // LED'e sürülen PWM değeri (0 - 1023)
void setup() {
// Seri haberleşmeyi 115200 baud hızında başlatıyoruz
Serial.begin(115200);
// Pin modlarını ayarlıyoruz
pinMode(ledPin, OUTPUT);
// Analog pinler varsayılan olarak giriş modundadır
}
void loop() {
// A0 pininden analog değeri okuyoruz (0 - 1023)
potDegeri = analogRead(potPin);
// ESP8266 PWM çözünürlüğü varsayılan olarak 10-bit (0-1023) olduğu için
// okunan pot değerini doğrudan PWM olarak LED pini üzerine sürüyoruz
pwmDegeri = potDegeri;
analogWrite(ledPin, pwmDegeri);
// Verileri Seri Port Ekranına (Serial Monitor) yazdırıyoruz
Serial.print("POT Okunan Deger: ");
Serial.print(potDegeri);
Serial.print(" | LED PWM Sinyali: ");
Serial.print(pwmDegeri);
Serial.print(" (%");
Serial.print((pwmDegeri / 1023.0) * 100.0, 1); // Yüzdesel doluluk oranı (Duty Cycle)
Serial.println(")");
// Seri port ekranının rahat okunabilmesi ve kararlılık için kısa bekleme
delay(100);
}
Henüz yorum yapılmamış. İlk yorumu siz yapın!