Примітка. Я хотів би зазначити, що, незважаючи на те, що моя відповідь була прийнята, читач (ви) дійсно повинен спочатку прочитати відповідь Андіндо, якщо ви дійсно хочете заощадити енергію за допомогою будь-якої дошки Arduino. Після того, як ви звернетесь до цих елементів у своєму дизайні, тоді ви повинні прочитати мою відповідь і переживати, як перевести MCU в режим низької потужності.
Сказавши це, існує кілька прийомів, як Ардуїно заощадити сили. Я перерахую декілька, а потім вкажу на сторінку, яка пояснює їх все детальніше.
Поки контролер не робить нічого важливого (наприклад, між одним зчитуванням датчика і наступним, наприклад), ви можете перевести контролер в один із режимів сну нижче, за допомогою команди set_sleep_mode (SLEEP_MODE_PWR_DOWN)
. Поруч із кожним режимом знаходиться приблизне споживання електроенергії кожного режиму.
- SLEEP_MODE_IDLE: 15 мА
- SLEEP_MODE_ADC: 6,5 мА
- SLEEP_MODE_PWR_SAVE: 1,62 мА
- SLEEP_MODE_EXT_STANDBY: 1,62 мА
- SLEEP_MODE_STANDBY: 0,84 мА
- SLEEP_MODE_PWR_DOWN: 0,36 мА
Вимкнути виявлення коричневого кольору (схема, яка вимикає контролер при виявленні низької напруги).
Вимкніть АЦП (аналог перетворення цифр)
Використовуйте внутрішній годинник
Потім, перекладаючи контролер у режим сну, вам потрібно скористатися одним або декількома механізмами внизу, щоб розбудити контролер і зробити щось з ним:
Прокидайся сигналом
Прокидайтеся таймером
Це резюме, яке я зробив із -
Ця стаття стосується переважно ATmega328P, але ця методика застосовується і до інших контролерів, сумісних з Arduino. Як добре сказав TheDoctor, вам потрібно буде перевірити таблицю даних, щоб переконатися, що ваш контролер підтримує будь-яку з цих методик і як це зробити більш точно.