Materi 9 dari 10 · Stasiun 4
Daya perangkat IoT: baterai dan deep sleep
Setelah materi ini, kamu bisa:
- Bisa menghitung arus rata-rata dan umur baterai perangkat yang bangun sebentar lalu tidur.
- Bisa memakai deep sleep ESP32 dengan pengatur waktu.
- Bisa menjelaskan kenapa papan pengembangan sering jauh lebih boros daripada chip-nya.
Sensor di kebun tanpa stopkontak
Sensor kelembapan tanah di kebun harus hidup dari baterai berbulan-bulan. ESP32 dengan WiFi menyala terus memakai sekitar 100 mA. Baterai 2.000 mAh habis kurang dari sehari.
Kuncinya, sensor tidak perlu bangun terus. Mengukur sekali setiap 10 menit sudah cukup. Di antaranya, ia bisa tidur nyenyak.
Mode daya ESP32
Ketuk satu per satu. Angka ini perkiraan kasar untuk chip, bukan papan.
- Aktif + WiFi mengirim · ±100–240 mA
- Saat radio memancar, arusnya melonjak. Tahap paling boros.
- Aktif tanpa WiFi · ±20–50 mA
- Prosesor bekerja, radio mati.
- Deep sleep · ±10 µA
- Hampir semua bagian mati. Hanya pengatur waktu kecil yang hidup. Bangun berarti mulai ulang dari setup().
Tebak dulu
- Perangkat bangun 3 detik setiap 60 detik (arus 80 mA), sisanya tidur (0,01 mA). Arus rata-ratanya kira-kira...
- 80 mA
- 40 mA
- Sekitar 4 mA
- Sekitar 0,01 mA
Jawaban
Sekitar 4 mA. (80 × 3 + 0,01 × 57) ÷ 60 ≈ 4 mA. Bagian aktif yang pendek tetap mendominasi.
Hitung umur baterai
Bandingkan selalu menyala dengan deep sleep, lalu ubah selang waktu bangun. Kartu terbuka setelah kamu membuat umur baterai mencapai hitungan bulan.
Simulasi interaktif tersedia saat JavaScript aktif.
Memperpanjang selang waktu bangun dan memperpendek waktu aktif adalah cara paling ampuh. Bangun tiap 10 menit dengan 3 detik aktif bisa membuat 2.000 mAh bertahan berbulan-bulan, secara teori.
Deep sleep dengan pengatur waktu
Variabel biasa hilang saat tidur. Untuk mengingat sesuatu (misalnya jumlah pengiriman), pakai variabel bertanda RTC_DATA_ATTR.
void setup() {
// 1. baca sensor
// 2. sambung WiFi, kirim data, putus
esp_sleep_enable_timer_wakeup(600ULL * 1000000ULL);
esp_deep_sleep_start();
}
void loop() {} - Baris 4: Bangun lagi setelah 600 detik (10 menit). Satuannya mikrodetik, jadi dikali sejuta.
- Baris 5: Tidur sekarang. Baris setelahnya tidak pernah dijalankan.
- Baris 7: loop() kosong. Setiap bangun, ESP32 mulai lagi dari setup().
Kenapa papanku tetap boros?
Ketuk satu per satu.
- Regulator
- Regulator 3,3 V di papan pengembangan sendiri bisa memakai beberapa mA terus-menerus.
- LED daya
- LED merah yang selalu menyala bisa memakan beberapa mA.
- Chip USB
- Pengubah USB-serial di papan juga ikut memakai arus.
- Sensor
- Sensor yang tetap diberi daya saat ESP32 tidur ikut menguras baterai. Matikan dayanya lewat pin atau transistor.
Akibatnya, papan DevKit yang tertidur bisa tetap memakai beberapa mA, ratusan kali lebih dari 10 µA. Proyek baterai serius memakai papan yang dirancang untuk daya rendah.
Benar atau salah?
- "Perangkat yang tidur tidak memakai daya sama sekali."
- Benar
- Salah
Jawaban
Salah. Deep sleep tetap memakai sedikit arus, dan komponen lain di papan bisa memakai jauh lebih banyak.
- "Mempercepat proses sambung WiFi dan kirim data ikut memperpanjang umur baterai."
- Benar
- Salah
Jawaban
Benar. Bagian aktif adalah yang paling boros. Setiap detik yang dipangkas di sana sangat berarti.
Selesai
- Arus rata-rata = (arus aktif × waktu aktif + arus tidur × waktu tidur) ÷ periode.
- Deep sleep + bangun berkala memperpanjang umur baterai berkali lipat.
- Ukur papanmu sendiri. Regulator, LED, dan sensor sering lebih boros dari chip-nya.
Pancingan
Materi ini opsional. Proyek akhir: monitor suhu ruangan di HP memakai daya USB, tapi kalau ingin dibawa ke tempat tanpa stopkontak, teknik ini yang dipakai.
Berikutnya
Referensi
- Espressif, ESP32 Series Datasheet, bagian konsumsi daya per mode.
- Dokumentasi ESP-IDF, Sleep Modes (esp_sleep_enable_timer_wakeup, RTC_DATA_ATTR).
Draf AI. Belum direview manusia. Angka arus bergantung pada varian chip, pengaturan, dan papan. Ukur dengan multimeter untuk proyek nyata.
Kode materi n9 · versi 0.1 · 2026-10-06