Catatan: Saya ingin menunjukkan bahwa, meskipun jawaban saya diterima, pembaca (Anda) harus benar-benar membaca jawaban Anindo terlebih dahulu jika Anda benar-benar ingin menghemat energi dengan papan Arduino mana pun. Setelah Anda mengatasi item-item itu dalam desain Anda, maka Anda harus membaca jawaban saya dan khawatir tentang bagaimana mengatur MCU ke mode daya rendah.
Karena itu, ada beberapa teknik untuk membuat Arduino menghemat daya. Saya akan daftar beberapa dan kemudian mengarahkan Anda ke halaman yang menjelaskan semuanya secara lebih rinci.
Sementara controller tidak melakukan hal-hal penting (antara membaca sensor dan berikutnya, misalnya), Anda dapat menempatkan controller ke salah satu mode sleep di bawah ini, dengan perintah set_sleep_mode (SLEEP_MODE_PWR_DOWN)
. Di sebelah setiap mode adalah perkiraan konsumsi daya dari setiap mode.
- SLEEP_MODE_IDLE: 15 mA
- SLEEP_MODE_ADC: 6,5 mA
- SLEEP_MODE_PWR_SAVE: 1,62 mA
- SLEEP_MODE_EXT_STANDBY: 1,62 mA
- SLEEP_MODE_STANDBY: 0,84 mA
- SLEEP_MODE_PWR_DOWN: 0,36 mA
Nonaktifkan deteksi brown-out (sirkuit yang mematikan controller ketika tegangan rendah terdeteksi).
Matikan ADC (konversi analog ke digita)
Gunakan jam internal
Kemudian, ketika Anda meletakkan pengontrol tidur, Anda perlu menggunakan satu atau lebih mekanisme di bawah ini untuk membangunkan pengontrol dan melakukan sesuatu dengannya:
Ini adalah ringkasan yang saya buat dari -
Artikel itu sebagian besar berlaku untuk ATmega328P, tetapi teknik ini berlaku untuk pengontrol yang kompatibel dengan Arduino lainnya. Seperti yang dikatakan TheDoctor dengan baik, Anda perlu memeriksa lembar data untuk memastikan pengontrol Anda mendukung semua teknik itu dan bagaimana melakukannya dengan lebih tepat.