Actualmente estoy creando un proyecto integrado y me gustaría saber qué piensan ustedes que es la mejor manera de proceder.
Mi configuración más básica es un ATMEGA328P, un simple botón pulsador momentáneo, un 2500mAh 18650 y un anillo de 11 LED ejecutado por un WS2812.
Estoy usando la biblioteca FastLED para ejecutar el WS2812. Solo puedo tener un botón al que se le asignarán las funciones de encendido y modo (alternar entre 10 ajustes preestablecidos almacenados). La pulsación larga es encendido / apagado y la pulsación corta es el modo siguiente. ¿Sería apropiado colocar el ATMEGA328 en SLEEP_MODE_PWR_DOWN, apagar el BOD y el ADC, y dejarlo dormir esperando la interrupción del botón? Si se trata de un pedido del orden de 150 nA (que he visto en mi investigación), creo que esta sería una forma muy aceptable de proceder. Solo usaría un MOSFET de canal P activado por el ATMEGA328 para suministrar energía al anillo LED accionado por WS2812.
¿Hay otra y mejor manera de hacer esto? ¿Es un mal principio de diseño no tener una forma de cortar la energía del procesador en caso de que algo salga mal? (La batería será interna y no extraíble).
¡Gracias!