1 votos

Botón momentáneo multiuso - microcontrolador/arduino/esp8266

Como aficionado más que como profesional me disculpo si estoy haciendo las preguntas equivocadas, sin embargo he estado investigando durante un tiempo y esperaba que el intercambio de Stack pudiera ayudar.

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

Esencialmente, me gustaría tener una interfaz de un solo botón en la que al pulsar el botón se alimente el circuito cuando esté apagado, actúe como entrada cuando el circuito esté activo y luego se apague el circuito si se mantiene pulsado durante, digamos, 3 segundos o más.

A nivel de software es importante apagar el chip usando el microcontrolador (potencialmente dejando 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

1voto

transistor Puntos 2074

Sí, es posible.

  • Utiliza la retención larga para poner el procesador en estado de reposo.
  • Configurar el mismo pin para despertar del sueño.
  • Mientras el procesador está en marcha puedes utilizar el pin como entrada estándar.

1voto

JTeK Puntos 78

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

  1. Configura ese pin en particular como un pin de interrupción. Configúralo de forma que se active en cada transición de la señal (de alta a baja y también de baja a alta)
  2. En el ISR, inicia el temporizador y activa 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, la interrupción del temporizador se dispara.
  3. Una vez que la interrupción del temporizador se dispara, asegúrese de apagar el temporizador y levante una bandera indicando que el botón está presionado por un tiempo más largo.

Saludos

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X