Bu sefer, mikrodenetleyicilerin en temel ve kullanışlı özelliklerinden biri olan Analog Girişleri inceleyeceğiz. Basit bir potansiyometre (ayarlı direnç) kullanarak, ESP32’nin dış dünyadaki sürekli değişen sinyalleri nasıl algıladığını göreceğiz.
1. Neler Öğreneceğiz?
- ESP32’nin Analog-Dijital Çevirici (ADC) pinlerini kullanmayı.
- Potansiyometreyi doğru şekilde bağlamayı.
analogRead()fonksiyonu ile sensör verilerini okumayı.- Seri Monitör üzerinden sürekli veri akışını izlemeyi.
2. Gerekli Malzemeler
| Malzeme | Açıklama |
| 1 Adet | ESP32 Geliştirme Kartı (DevKit) |
| 1 Adet | Potansiyometre (10kΩ önerilir) |
| 1 Adet | Breadboard (Devre Tahtası) |
| 3 Adet | Bağlantı Kablosu (Jumper) |
3. Devre Şeması (Bağlantılar)
Potansiyometre, ortasından geçen sinyali voltaj bölücü prensibiyle ayarlayan üç bacaklı bir bileşendir. Bağlantı şekli oldukça basittir:
| Potansiyometre Bacağı | ESP32 Pini | Açıklama |
| Sol Bacak (VCC) | 3V3 | Güç kaynağı bağlantısı. (Turuncu Kablo) |
| Orta Bacak (Sinyal) | GPIO 4 (D4) | Analog okuma yapılacak pin. (Kırmızı Kablo) |
| Sağ Bacak (GND) | GND | Devrenin topraklaması. (Kahverengi Kablo) |
Önemli Not: Sizin yaptığınız bağlantı şekli olan Sol Bacak (3V3) ve Sağ Bacak (GND) şekli, potansiyometreyi çevirdiğinizde okumanın 0’dan 4095’e doğru artmasını sağlar. Eğer tersine bağlarsanız okuma 4095’ten 0’a doğru azalır; her iki bağlantı şekli de doğrudur, sadece okuma yönü değişir.

4. Arduino Kodu
Aşağıdaki kod, potansiyometreden gelen analog değeri sürekli olarak okuyacak ve Seri Monitör’e yazdıracaktır.
// Potansiyometreyi GPIO 4'e (Analog ADC2_CH0) bağladık
const int potPin = 4;
// Potansiyometrenin değerini depolamak için değişken
int potValue = 0;
void setup() {
// Seri İletişimi Başlatma (115200 hızı ESP32 için standarttır)
Serial.begin(115200);
// Sistemin başlaması için kısa bir gecikme
delay(1000);
}
void loop() {
// Potansiyometre değerinin okunması
// analogRead() 0 ile 4095 arasında bir değer döndürür (ESP32'nin 12-bit çözünürlüğü)
potValue = analogRead(potPin);
// Okunan değeri Seri Monitör'e yazdırma
Serial.println(potValue);
// Değerleri çok hızlı okumamak için kısa bir bekleme
delay(500);
}
5. Projeyi Çalıştırma ve Sonuç
- Yukarıdaki kodu Arduino IDE’nize kopyalayıp yapıştırın.
- Kart tipinizin “DOIT ESP32 DEVKIT V1” (veya kullandığınız model) olarak seçildiğinden emin olun.
- Kodu ESP32 kartınıza yükleyin.
- Yükleme bittikten sonra, Arduino IDE’de sağ üstteki “Seri Monitör” simgesine tıklayın ve baud hızının 115200 olduğundan emin olun.
Ne Görmelisiniz?
Seri Monitör’de sürekli olarak alt alta sayılar akmaya başlayacak.
- Potansiyometreyi bir yöne doğru çevirdiğinizde, sayılar yavaşça 0‘a yaklaşacaktır.
- Potansiyometreyi tam tersi yöne çevirdiğinizde, sayılar 4095‘e yaklaşacaktır.

Neden 0-4095?
Gördüğünüz bu aralık, ESP32’nin 12-bit Analog-Dijital Çevirici (ADC) çözünürlüğünden kaynaklanır. $2^{12} = 4096$ farklı değer anlamına gelir, bu da okumanın 0’dan 4095’e kadar bir aralıkta yapılacağı demektir.

Bir yanıt yazın