ESP8266 Projelerinde Pil Ömrünü Katlayın

👤 Yazar: ozcan 📅 Tarih: 24.05.2026 14:29 👁️ Görüntüleme: 19

ESP8266 Projelerinde Pil Ömrünü Katlayın: Deep Sleep (Derin Uyku) Kullanımı

ESP8266 (NodeMCU veya ESP-01), dahili Wi-Fi özelliği sayesinde IoT dünyasının vazgeçilmezi haline geldi. Ancak bu güçlü kablosuz bağlantının çok ciddi bir bedeli var: Yüksek Güç Tüketimi. Standart bir ESP8266, Wi-Fi üzerinden veri gönderirken anlık olarak 80 mA ile 170 mA arasında akım çeker. Bu da projenizi standart bir pille çalıştırdığınızda, pilin birkaç saat içinde tüp bebek gibi sönmesi anlamına gelir.

Peki, sadece 10 dakikada bir sıcaklık verisi gönderip geri kalan zamanda hiçbir şey yapmayan bir sensör istasyonunu pille aylarca nasıl çalıştırabiliriz? Çözüm: ESP8266 Deep Sleep (Derin Uyku) Modu.

ESP8266 Deep Sleep Nedir?

Deep Sleep moduna geçtiğinde ESP8266; işlemci çekirdeğini, Wi-Fi modülünü, sistem saatini ve neredeyse tüm çevre birimlerini tamamen kapatır. Kart üzerinde sadece zamanı sayan dahili RTC (Real Time Clock - Gerçek Zaman Saati) açık kalır.

Bu modda ESP8266’nın akım tüketimi yaklaşık 20 µA (Mikroamper) seviyesine düşer. Yani cihaz açık kalma süresine kıyasla binlerce kat daha az enerji harcar.

⚠️ En Kritik Adım: Donanımsal Köprü (D0'dan RST'ye)

Arduino'dan farklı olarak, ESP8266 derin uykuya daldığında kendi kendini yazılımsal olarak uyandıramaz. Uyku süresi dolduğunda, dahili RTC zamanlayıcısı kartın üzerindeki GPIO16 pinine lojik LOW (0V) sinyali gönderir. Kartın uyanabilmesi için bu sinyalin fiziksel olarak RST (Reset) pinini tetiklemesi gerekir.

ÖNEMLİ UYARI: Kodu ESP8266'ya yüklemeden önce bu kabloyu bağlamayın. D0-RST köprüsü takılıyken bilgisayarınız karta yeni kod yükleyemez ve hata verir. Önce kodu yükleyin, ardından kabloyu takın!

do donanım köprüsü

ESP8266 Deep Sleep Kod Örneği

Aşağıdaki kod, ESP8266'nın uyanıp Wi-Fi'a bağlanmasını, hayali bir işlem (veri gönderme) yapmasını ve ardından 30 saniyelik derin uykuya dalmasını simüle eder.

#include <ESP8266WiFi.h>

const char* ssid = "WIFI_ADINIZ";
const char* password = "WIFI_SIFRENIZ";

void setup() {
  Serial.begin(115200);
  Serial.println();
  Serial.println("Sistem UYANDI!");

  // Wi-Fi Bağlantısını Başlat
  WiFi.begin(ssid, password);
  Serial.print("Wi-Fi baglantisi kuruluyor...");
  
  int deneme = 0;
  while (WiFi.status() != WL_CONNECTED && deneme < 20) {
    delay(500);
    Serial.print(".");
    deneme++;
  }

  if(WiFi.status() == WL_CONNECTED) {
    Serial.println("\nWi-Fi'a baglandi!");
    Serial.print("IP Adresi: ");
    Serial.println(WiFi.localIP());

    // --- BURADA SENSÖR VERİSİNİ OKUYUP İNTERNETE GÖNDEREBİLİRSİNİZ ---
    Serial.println("Veriler basariyla buluta gonderildi.");
    // ---------------------------------------------------------------
  } else {
    Serial.println("\nWi-Fi baglantisi basarisiz oldu, uykuya geciliyor.");
  }

  // Uykudan önce Wi-Fi modülünü temiz bir şekilde kapatıyoruz
  WiFi.disconnect(true);
  delay(1);

  // Derin Uyku Zamanı (Mikrosaniye cinsinden verilir)
  // Örnek: 30 saniye uyku = 30 * 1000 * 1000
  // Eğer sonsuz uyku isterseniz parantez içine sadece 0 yazabilirsiniz (Sadece butonla uyanır).
  Serial.println("ESP8266 simdi 30 saniyelik derin uykuya daliyor...");
  ESP.deepSleep(30e6); 
}

void loop() {
  // Deep sleep modunda loop fonksiyonu ASLA CALISMAZ. 
  // Cihaz her uyandığında setup() fonksiyonu en baştan tetiklenir.
}

Derin Uykuda Pil Ömrünü Etkileyen Donanım Tuzakları

Yazılımsal olarak ESP.deepSleep() komutunu verdiniz ve D0-RST köprüsünü kurdunuz. Ancak NodeMCU kartınız pille çalışırken hala 10-15 mA çekiyorsa, suçlu ESP8266 çipi değil, kartın üzerindeki yan donanımlardır:

    1. CP2102 / CH340 (USB-Seri Dönüştürücü): Bilgisayarla haberleşmeyi sağlayan bu entegreler, siz kodla çipi uyutsanız bile sürekli çalışır ve akım çeker.
    2. Dahili Regülatör: Voltajı 5V'tan 3.3V'a düşüren regülatörler pilli projelerde verimsizdir.

    Profesyonel Çözüm Önerisi:

    Gerçek anlamda aylarca çalışacak bir proje yapmak istiyorsanız, geliştirme aşamasından sonra NodeMCU kartını bırakıp ESP-12E / 12F bare çipini (üzerinde USB dönüştürücü olmayan çıplak modül) doğrudan kullanmalısınız. Kaliteli bir LiFePO4 pil veya regülatörsüz direkt besleme ile projeniz tek bir şarjla 6 aydan fazla sorunsuz çalışacaktır.

    Özet

    ESP8266 ile taşınabilir bir tarımsal sensör, akıllı hava istasyonu veya pilli buton yapıyorsanız, Deep Sleep hayat kurtarır. Unutmayın: Önce kodu yükle, sonra D0-RST köprüsünü kur ve ESP.deepSleep() ile enerjiyi koru!

    ESP8266 projelerinizde derin uyku modunu kullanırken karşılaştığınız donanımsal veya yazılımsal sorunları yorumlarda bizimle paylaşın, birlikte tartışalım!

    💬 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