Retrocede y piensa en los verdaderos requisitos. Desea que la lámpara se encienda suavemente cuando la encienda, y que se apague suavemente cuando la apague. No complique las cosas dictando dónde debe cambiarse todo este poder.
Usted tiene un microcontrolador, por lo que las señales de encendido y apagado pueden ser entradas en lugar de interrumpir físicamente la alimentación. El micro puede decidir qué hacer al respecto y, finalmente, desconectar la alimentación o pasar al modo de suspensión de modo que el consumo de energía sea tan bajo que sea irrelevante. Un micro moderno en modo de suspensión con la fuente de alimentación adecuada puede consumir mucha menos corriente que el reloj promedio, por ejemplo.
Un arduino es un montón de cosas elegantes y capas de abstracción envueltas alrededor de un microcontrolador para las masas. No sé si eso puede llegar a una potencia muy baja, pero un micro simple ciertamente puede. Si no, puedes usar un micro directamente (en realidad no es tan difícil, solo parece intimidante al principio, que es lo que el arduino atiende), o quizás hacer que el arduino apague físicamente el poder cuando lo necesite. hecho con la regulación a través de un relé o algo así.
El botón de encendido / apagado forzaría el relevo y el micro podría mantenerlo encendido a partir de entonces. En el encendido, el micro sabe que la lámpara está encendida. Activa la habilitación para mantener el relé encendido después de que se suelta el botón de encendido / apagado, luego pasa a través de la secuencia de arranque suave. Cuando se detecta el botón mientras está encendido, el micro pasa a través de la secuencia de apagado suave, luego deja de forzar el relé, lo que cortará completamente la energía.