Estoy creando un dispositivo alimentado por batería basado en ESP8266
. Hay pocos botones (digamos 4 en este momento). Después de presionar cualquiera de ellos, ESP debe realizar alguna acción e ir al modo de suspensión profunda. La siguiente pulsación de cualquiera de estos botones debería activar el ESP para que pueda realizar otra acción y volver al modo de suspensión profunda.
Entonces, lo que necesito es poner la línea RST
a bajo durante un tiempo (alrededor de 100us) en cualquier botón, pero mantener el GPIO
bajo mientras se presione el botón.
Vine con la siguiente idea:
Lamentablemente no funciona muy bien. Hay dos problemas: uno es que no es confiable: por una razón desconocida, el voltaje en RST
cae lo suficientemente bajo solo cuando presiono SW1, también solía funcionar para otros interruptores pero se detuvo después de un tiempo (el osciloscopio muestra que cae a alrededor de 2.0V). El otro problema es que hay un pico de voltaje en la línea RST
cuando suelto el botón; va a aproximadamente 6.6V
porque el capacitor se está descargando. Tal vez estas puntas dañaron otros condensadores (electrolíticos) porque probé mi software principalmente utilizando SW1?
¿Tiene una mejor idea de cómo restablecer ESP
con varios botones y aún puede detectar cuál fue? Me gustaría evitar cualquier cosa que consuma energía cuando no se usa o tomaría mucho espacio de PCB (es muy limitado).