Ayuda bajo consumo Sleep e interrupciones de hardware.

Hola. Estoy realizando un proyecto en el quiero que nano este en modo sleep for ever y se despierte cuando haya una interrupción (un pulsador que va a ser pisado), y cuando se pulse otro pulsador se ponga en modo sleep. Esta alimentado con una placa solar max. 9V y 500mA lo bajo a 5V con una Steep down y despues va un modulo de carga (TP4056) de pilas 18650 (3600 mAh 3.7V) puestas en paralelo para aumentar la capacidad. Por ultimo saco alimentación a VIN del nano con elevador de tensión a 5V.

El resultado es el siguiente: Tengo un consumo excesivo. El sistema no me va más allá de 10 horas y sin encenderse la alarma (en modo de reposo). He intentado incluir el modo sleep en el programa, pero como no soy muy hábil en programación me da errores.

Haber si me echais un cable en cuanto al programa y aconsejar sobre el hardware.

Puedo subir el programa?

Gracias y saludos

Claro que debes subir el programa y para ello usa etiquetas.

Lee las normas del foro por favor. La etiqueta es </>

Presionas la etiqueta y pegas el codigo entre estos tags o etiquetas y si no sabes lee como hacerlo en las normas. 1er hilo del foro.

El ejemplo de LowPower.h que dice como Despertarlo con interrupcion externa responde tu pregunta.
se llama powerDownWakeExternalInterrupt.ino

La libreria Low Power para arduino

Tengo un problema similar al tuyo Serberto y no se si finalmente has conseguido algo.

En mi caso quiero que un Nano corra el programa para hacer varias cosas y que mediante una interrupción se eche a dormir (XBee). Del mismo modo que por una interrupción se despierte del modo SLEEP_FOREVER para ejecutar ciertos trabajos. Entre los modos disponibles entiendo que LOW podría hacer por código que el arduino permaneciera encendido hasta nueva señal (¿HIGH?). He hecho distintas pruebas con distintos resultados pero sin conseguir mi objetivo.

Mi caso, supongo que como el tuyo no es tan simple como despertar el arduino lo justo para realizar una medición. Requiere mantener encendido y apagar buscando el mínimo consumo.

Un saludo

Mi caso, supongo que como el tuyo no es tan simple como despertar el arduino lo justo para realizar una medición.

No hay forma de despertar algo sino no existe algo que intervenga para detectar el WAKE_UP.
Supongamos que esperas una señal entonces podrias tener un smitch trigger externo apuntando a una INT 2 o 3 si hablamos de un NANO y entonces como se supera determinado valor el Smith trigger cambia de estado y la INT sacará del SLEEP al NANO y hará su lectura para luego caer en lo mismo.
No se como ignorarías una situación similar a los 20 mseg por dar un ejemplo de como podria complicarse esto.

Respecto al comienzo de la pregunta, sin que pongas un código poco podemos decirte.

NOTA: Este tema no tuvo movimientos por el autor desde el mes 3 o sea hace 6 meses. Al escribir recibiste un Warning diciendo que llevaba mas de 120 dias sin movimientos.
Por esta razón te pido que no vuelvas a reflotar un tema que tiene 4 meses si no eres el autor del tema.