หมายเหตุ: ฉันต้องการชี้ให้เห็นว่าแม้ว่าคำตอบของฉันจะได้รับการยอมรับผู้อ่าน (คุณ) ควรอ่านคำตอบของ Anindo ก่อนถ้าคุณต้องการประหยัดพลังงานด้วยบอร์ด Arduino ใด ๆ เมื่อคุณพูดถึงสิ่งเหล่านี้ในการออกแบบของคุณแล้วคุณควรอ่านคำตอบของฉันและกังวลเกี่ยวกับวิธีการตั้ง MCU ในโหมดพลังงานต่ำ
ต้องบอกว่ามีเทคนิคหลายอย่างที่จะทำให้ Arduino ประหยัดพลังงาน ฉันจะแสดงรายการเล็กน้อยจากนั้นนำคุณไปยังหน้าที่อธิบายรายละเอียดทั้งหมด
ในขณะที่การควบคุมไม่ได้ทำอะไรที่สำคัญ (ระหว่างหนึ่งอ่านเซ็นเซอร์และต่อไปตัวอย่างเช่น) set_sleep_mode (SLEEP_MODE_PWR_DOWN)
คุณสามารถใส่ตัวควบคุมเป็นหนึ่งในรูปแบบการนอนหลับที่ด้านล่างมีคำสั่ง ถัดจากแต่ละโหมดคือการใช้พลังงานโดยประมาณของแต่ละโหมด
- 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
ปิดใช้งานการตรวจจับบราวน์เอาต์ (วงจรที่ปิดคอนโทรลเลอร์เมื่อตรวจพบแรงดันไฟฟ้าต่ำ)
ปิด ADC (การแปลงอนาล็อกเป็นดิจิตา)
ใช้นาฬิกาภายใน
จากนั้นเมื่อคุณทำให้คอนโทรลเลอร์เข้าสู่โหมดสลีปคุณจะต้องใช้กลไกอย่างน้อยหนึ่งกลไกด้านล่างเพื่อปลุกคอนโทรลเลอร์และทำบางสิ่งกับมัน:
ตื่นขึ้นมาพร้อมกับสัญญาณ
ตื่นนอนด้วยนาฬิกาจับเวลา
นี่เป็นบทสรุปที่ฉันทำจาก -
บทความส่วนใหญ่นั้นใช้กับ ATmega328P แต่เทคนิคนี้ใช้กับคอนโทรลเลอร์ที่เข้ากันได้กับ Arduino ตัวอื่นเช่นกัน ดังที่ TheDoctor กล่าวไว้อย่างดีคุณจะต้องตรวจสอบชุดข้อมูลเพื่อให้แน่ใจว่าคอนโทรลเลอร์ของคุณรองรับเทคนิคเหล่านั้นและวิธีการทำอย่างแม่นยำยิ่งขึ้น