Lưu ý: Tôi muốn chỉ ra rằng, mặc dù câu trả lời của tôi đã được chấp nhận, người đọc (bạn) nên thực sự đọc câu trả lời của Anindo trước nếu bạn thực sự muốn tiết kiệm năng lượng với bất kỳ bảng Arduino nào. Khi bạn giải quyết các mục đó trong thiết kế của mình, bạn nên đọc câu trả lời của tôi và lo lắng về cách đặt MCU ở chế độ năng lượng thấp.
Phải nói rằng, có một số kỹ thuật để tạo ra một Arduino tiết kiệm năng lượng. Tôi sẽ liệt kê một vài và sau đó chỉ cho bạn một trang giải thích tất cả chúng chi tiết hơn.
Mặc dù bộ điều khiển không làm gì quan trọng (ví dụ, giữa một lần đọc cảm biến và tiếp theo), bạn có thể đặt bộ điều khiển vào một trong các chế độ ngủ bên dưới, bằng lệnh set_sleep_mode (SLEEP_MODE_PWR_DOWN)
. Bên cạnh mỗi chế độ là mức tiêu thụ năng lượng gần đúng của từng chế độ.
- 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
Vô hiệu hóa phát hiện ra màu nâu (mạch tắt bộ điều khiển khi phát hiện điện áp thấp).
Tắt ADC (chuyển đổi tương tự sang chữ số)
Sử dụng đồng hồ nội bộ
Sau đó, khi bạn đặt bộ điều khiển vào chế độ ngủ, bạn cần sử dụng một hoặc nhiều cơ chế bên dưới để đánh thức bộ điều khiển và làm gì đó với nó:
Đây là một bản tóm tắt tôi đã thực hiện từ -
Bài viết đó áp dụng chủ yếu cho ATmega328P, nhưng kỹ thuật này cũng áp dụng cho các bộ điều khiển tương thích Arduino khác. Như TheDoctor đã nói tốt, bạn sẽ cần kiểm tra bộ dữ liệu để đảm bảo bộ điều khiển của bạn áp dụng bất kỳ kỹ thuật nào và cách thực hiện chính xác hơn.