Botón momentáneo multipropósito - microcontrolador / arduino / esp8266

1

más que un aficionado que un profesional, me disculpo si hago las preguntas equivocadas, sin embargo, he estado investigando durante un tiempo y espero que el intercambio de Stack pueda ser de ayuda.

He leído algunos artículos sobre circuitos de corte de baja potencia y circuitos de alimentación de cierre suave, pero espero lograr algo un poco más inteligente.

Básicamente, me gustaría una interfaz de un solo botón mediante la cual al presionar el botón se encienda el circuito cuando esté apagado, actúe como una entrada cuando el circuito esté activo y luego apague el circuito si se mantiene presionado por 3 segundos o más.

A nivel de software, es importante apagar el chip usando el microcontrolador (posiblemente al dejar caer un pin a tierra conectado a un transistor / mosfet) ya que me gustaría enviar un mensaje de "apagado" antes de apagar el circuito.

¿Es esto posible?

Gracias de antemano,

Chris

    
pregunta Chris GW Green

2 respuestas

1

Sí, esto es posible.

  • Use la retención prolongada para poner el procesador en estado de suspensión.
  • Configura el mismo pin para despertar de la suspensión.
  • Mientras el procesador se está ejecutando, puede usar el pin como entrada estándar.
respondido por el Transistor
1

Sí, es posible. Estoy trabajando en algo similar. La lógica que utilicé es la siguiente,

  1. Configure ese pin en particular como un pin de interrupción. Configúrelo de tal manera que se active en cada transición de la señal (alta a baja y también baja a alta)
  2. En el ISR, inicie el temporizador y habilite su interrupción. Establezca el período del temporizador según el requisito de la funcionalidad de 'retención prolongada'. Si el botón se mantiene durante más tiempo que el período del temporizador, se dispara la interrupción del temporizador.
  3. Una vez que se dispara la interrupción del temporizador, asegúrate de apagar el temporizador y levantar una bandera que indique que el botón está presionado durante más tiempo.

Saludos

    
respondido por el R. Hirur

Lea otras preguntas en las etiquetas