Necesito un interruptor que no solo detecte apertura / cierre, sino que también envíe un pulso para activar un ESP8266 cada vez que cambie el estado (rebotado)

1

Mi aplicación es que estoy tratando de crear un dispositivo muy pequeño, con "batería de botón" para detectar la apertura y cierre de un interruptor y enviar cambios de estado a través de WiFi a otro dispositivo en la red. Estaré usando un ESP8266 (ESP-03) que tiene un pin de restablecimiento (RST) y un modo de suspensión profunda.

A mi entender, el modo de suspensión profunda puede iniciarse mediante software. Luego, el pin RST en el ESP debe bajarse durante al menos 100us (pero preferiblemente menos de 0.1 segundos) para activarlo. En ese momento, puede verificar una de las entradas GPIO para ver si el interruptor está abierto (alto) o cerrado (bajo) y luego volver a ponerlo en suspensión hasta el próximo evento de apertura / cierre.

Para aclarar con el ejemplo, una aplicación sería enviar una notificación cada vez que se abre o cierra un buzón, que debe incluir el estado actual. Por ejemplo, se sienta cerrado en un estante. Cuando alguien lo abre, el ESP se despierta, envía una señal de "está abierto" y luego vuelve a dormir. Cuando la caja se cierra, se despierta nuevamente, envía una señal de "está cerrado" y vuelve a dormir. El cuadro puede estar abierto o cerrado durante mucho tiempo, por lo que solo queremos que la señal de impulso de restablecimiento se envíe cuando cambie el estado.

He visto algunos otros artículos que hablan de situaciones similares, pero no parece haber comentarios "esto funcionó" o los casos son ligeramente diferentes. El flip flop monoestable parece prometedor ( enlace ), pero ¿lo estoy entendiendo correctamente? Además, ¿agotará la batería?

Estoy tratando de mantener este dispositivo lo más pequeño y energéticamente eficiente posible.

    
pregunta Mark Stevens

1 respuesta

0

Añadido:

Se puede usar una compuerta XOR (OR exclusivo) (o XNOR) para producir un impulso de salida en los bordes ascendentes o descendentes de una señal de entrada. Una 'tabla de verdad' de XOR es:

IN Out

00 0
01 1
10 1
11 0

es decir, la salida es alta cuando solo una entrada es alta. Ambas entradas, bajas o ambas entradas, producen una salida baja.

En el diagrama a continuación, la combinación RC actúa como un retardo que causa que cualquier cambio en el nivel de entrada se retrase en el tiempo de llegada a la entrada conectada del RC en relación con la entrada conectada directamente. Cuando se recibe una entrada alta o baja continua, ambas entradas XOR tienen la misma polaridad y la salida es baja. Cuando las transiciones de nivel de entrada hay un período de aproximadamente t = R1 x C1 cuando las dos entradas no son las mismas y se produce un impulso de salida.
Idealmente, se utilizarían las entradas activadas por Schmitt, pero las entradas estándar "funcionan bien", a condición de que no haya transitorios de entrada.

El RC solo consume energía cuando el capacitor se carga o descarga y esto puede ser muy pequeño, por lo que el circuito alcanza un consumo de energía extremadamente bajo. Las puertas CMOS cuando no se cambian dibujan sub microampas corrientes.

Puede obtener puertas XOR individuales en un paquete tan pequeño que es casi un peligro para respirar. Uno de los muchos es 74AHCT1G86SE-7

simular este circuito : esquema creado usando CircuitLab

respondido por el Russell McMahon

Lea otras preguntas en las etiquetas