๐Ÿ”‹ Daya & Low Power

Power budget, menghitung umur baterai, dan teknik hemat daya.

๐Ÿ“Œ 1. Power Budget: Berapa Arus yang Dibutuhkan?

Anggaran daya Arduino UNO
Aliran daya: baterai โ†’ regulator 5V โ†’ komponen

Kesalahan pemula #1: "baterainya kok cepat habis?" Jawabannya hampir selalu arus total lebih besar dari kapasitas sumber daya. Aturan main: jumlahkan arus semua komponen, lalu pastikan sumber daya sanggup menyuplainya.

KomponenArus TipikalCatatan
Arduino Uno (aktif, via USB)~50 mANaik saat Serial aktif
Arduino Nano (aktif)~20-25 mA
ESP32 (WiFi aktif)~180-240 mAPuncuk saat transmit
ESP32 (deep sleep)~10-20 ยตA10.000x lebih hemat!
LED (5 mm)~20 mAPer LED
LCD 16x2 + backlight~20-40 mABacklight penyumbang terbesar
Sensor (LDR, LM35)~1-5 mA
HC-SR04~15 mA
Servo SG90 (diam)~15 mA
Servo SG90 (bergerak)~500 mAPuncuk bisa 1 A!
Motor DC kecil~100-500 mAStall bisa 1-2 A
โš ๏ธ Aturan praktis: perkirakan arus puncak (bukan rata-rata), lalu beri margin 2x. Servo + motor = wajib sumber daya terpisah (baterai sendiri), jangan dari pin 5V Arduino.

๐Ÿ“Œ 2. Menghitung Umur Baterai

Baterai diukur dalam mAh (miliampere-jam): baterai 2000 mAh secara teori bisa menyuplai 2000 mA selama 1 jam, atau 100 mA selama 20 jam. Rumus praktis (dengan faktor efisiensi 0,8):

umur (jam) = kapasitas (mAh) x 0,8 / arus rata-rata (mA)
Output:

Lihat kontrasnya: proyek sederhana = ยฑ22 jam, robot = ยฑ1,2 jam, perangkat deep sleep = ยฑ33 hari. Inilah kekuatan low power.

๐Ÿ“Œ 3. Teknik Low Power

1. Sleep Mode
MCU "tidur" (CPU off, RAM tetap) sampai dibangunkan timer/interrupt.
// ESP32: esp_sleep_enable_timer_wakeup(60000000); // 60 detik esp_deep_sleep_start(); // AVR (Uno): set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_mode();
Pola: bangun โ†’ ukur sensor โ†’ kirim data โ†’ tidur lagi.
2. Matikan yang Tidak Dipakai
  • Serial: Serial.end() jika tidak dipakai
  • Backlight LCD: matikan saat gelap
  • WiFi/BT: matikan saat idle
  • Pin output: LOW, bukan melayang
  • Kurangi baud rate / clock CPU
๐Ÿ’ก Duty cycle adalah kunci: perangkat yang bekerja 1 detik setiap 10 menit punya arus rata-rata 1/600 dari arus saat bekerja. Hitung: arus_rata = arus_aktif x (waktu_aktif / periode).

๐Ÿ“Œ 4. Sumber Daya: USB, Baterai, Regulator

  • USB (5V) โ€” untuk pengembangan. Port USB komputer mensuplai 500 mA (USB 2.0) โ€” cukup untuk Uno + beberapa sensor, tidak untuk motor.
  • Baterai โ€” LiPo 3,7V (butuh boost ke 5V), 3x AA (4,5V), atau baterai 18650. LiPo wajib charger BMS dan jangan dikosongkan total.
  • Regulator โ€” menstabilkan tegangan: LDO (murah, panas, dropout besar) vs switching (efisien, lebih kompleks). Arduino Uno sudah punya regulator 5V internal.
โš ๏ธ Ground bersama! Jika motor memakai baterai terpisah, GND baterai motor harus disambungkan ke GND Arduino โ€” tanpa ini, sinyal "tidak punya acuan" dan perilaku jadi acak.

๐Ÿง  Latihan

  1. Hitung power budget proyekmu: Nano + OLED + 4 sensor + Bluetooth. Berapa arus total? Baterai 1000 mAh tahan berapa lama?
  2. Perangkat IoT mengukur suhu tiap 5 menit (aktif 2 detik, arus 80 mA; tidur 10 ยตA). Hitung arus rata-rata dan umur baterai 2000 mAh.
  3. Kenapa servo tidak boleh diberi daya dari pin 5V Arduino saat motor juga menyala?
  4. Jelaskan fungsi regulator dan kenapa LDO bisa "panas".