Nota: quería señalar que, aunque mi respuesta fue aceptada, el lector (usted) realmente debería leer la respuesta de Anindo primero si realmente desea ahorrar energía con cualquier placa Arduino. Una vez que aborde esos elementos en su diseño, debería leer mi respuesta y preocuparse por cómo configurar la MCU en modo de bajo consumo.
Dicho esto, hay varias técnicas para hacer que un Arduino ahorre energía. Enumeraré algunos y luego te señalaré una página que los explica con más detalle.
Si bien el controlador no está haciendo nada importante (entre una lectura de un sensor y la siguiente, por ejemplo), puede poner el controlador en uno de los modos de suspensión a continuación, con el comando set_sleep_mode (SLEEP_MODE_PWR_DOWN)
. Al lado de cada modo está el consumo de energía aproximado de cada modo.
- 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
Desactive la detección de caída de voltaje (el circuito que apaga el controlador cuando se detecta bajo voltaje).
Apague ADC (conversión de analógico a digital)
Usa el reloj interno
Luego, cuando pone el controlador en suspensión, necesita usar uno o más mecanismos a continuación para activar el controlador y hacer algo con él:
Este es un resumen que hice de ...
Ese artículo se aplica principalmente a ATmega328P, pero la técnica también se aplica a otros controladores compatibles con Arduino. Como TheDoctor dijo bien, tendrá que verificar el datashet para asegurarse de que su controlador admita cualquiera de esas técnicas y cómo hacerlo con mayor precisión.