¿Puedo despertar el ESP8266 con un fotoresistor como en este esquema?

0

Quiero activar el ESP8266 cuando se encienda la luz, enviar información al servidor, pasar a la suspensión profunda durante unos segundos y luego enviar la información nuevamente y seguir haciendo eso. Si el servidor deja de recibir la información, eso significaría que la luz se apaga de nuevo.

Este es mi esquema:

¿Funcionará?

Estoy preguntando específicamente sobre la parte donde conecto mi fotorresistor al pin RESET.

Pregunta adicional (opcionalmente para responder): Si quisiera cambiar la resistencia con un potenciómetro, ¿cómo debería conectarlo?

    
pregunta Defozo

4 respuestas

2

Recomiendo no hacer eso. Los fotoresistores son dispositivos lentos, y es posible que esté oscilando alrededor del punto en el que se desencadena un reinicio, por lo que podría no funcionar tan bien.

En su lugar, recomiendo usar algo que tenga un umbral claro y emita un impulso de reinicio único en lugar de un máximo constante, por lo que esto no sucede. En cualquier caso, el RESET debe manejarse con una señal binaria, y no algo como "bueno, estaba 0.1 V por debajo del umbral, estoy por encima de 0.05 V, así que mejor reinicie".

De todos modos, no conozco muy bien el ESP8266, pero ¿estás seguro de que quieres reiniciar el dispositivo? Eso es como encender y apagar tu PC con el interruptor de encendido, solo para activarlo. Tal vez el ESP8266 tiene un pin que se puede usar como interrupción en su lugar y un modo de suspensión para despertarse, y usted preferiría eso.

Parece que tu idea es que mantengas el ESP8266 en modo de reinicio mientras está oscuro. Ni siquiera estoy seguro de que sea eficiente en términos de energía.

    
respondido por el Marcus Müller
1

Como lo mencionó Marcus, no se recomienda usar un valor analógico para esto. Si puede sugerirle cambiar a un fotodiodo, y luego usarlo para activar el circuito de una toma en esta respuesta a un ESP8266 anterior pregunta

Si aún quieres usar el fotorresistor y un potenciómetro para tener un umbral ajustable, probablemente quieras usar un comparador. Algo similar a esto con el pin 7 conectado al circuito de una sola toma.

    
respondido por el Ticktok
0

En teoría: sí, con el derecho R6. En la práctica, necesitará una solución ligeramente diferente.

Para restablecer el EPS8266, REST se debe colocar por debajo de Vcc / 4 (generalmente ~ 0.8V). Tiene un pull-up interno débil y la mayoría de los módulos prefabricados (D1, NodeMCU, etc.) agregan otro pull-up externo para evitar reinicios espurios.

Su fotoresistor está probablemente por encima de 1MΩ en la oscuridad y en el rango de 10..100kΩ en luz (¡mida!). Entre Vcc y REST, actúa como otro pull up variable. Para poner el dispositivo en reinicio, debes elegir R6 lo suficientemente bajo como para superar todos estos dominios, al mismo tiempo que lo mantienes lo suficientemente alto como para evitar reinicios espurios. En la práctica, esto no funcionará.

En su lugar, lo que podría hacer es utilizar un disparador Schmitt (p. ej., 74AC14), un comparador de voltaje (con colector abierto, p. ej., LM393) o OpAmp para monitorear el divisor de voltaje y usar su salida para llevar REST a GND cuando está oscuro.

Como alternativa, sugeriría que use el pin CH_PD (ENABLE). En lugar del 10k pull-up permanente (R1), use el mismo divisor de voltaje y seleccione R6 para que sea alrededor de 3-4 veces la resistencia de "luz" de su fototransistor. Esto debería funcionar sin partes adicionales. El único inconveniente es que no puede usar la memoria RTC ya que técnicamente su dispositivo está apagado, no está durmiendo.

PS: para aquellos que no están familiarizados con el ESP8266, el 'despertar' es en realidad un reinicio (generalmente activado por el RTC que baja la línea de reinicio) y el dispositivo debe reinicializarse después del despertar.

    
respondido por el Jens
0

Puede mantener el ESP en reinicio constantemente cuando está oscuro, pero verifique que no se extraiga corriente adicional en ese estado inusual.

Una opción es despertarse con la luz mientras escribía, enviar datos, configurar un despertador automático en aproximadamente un minuto en el futuro, pasar al modo de suspensión profunda. Si la luz permanece encendida, se despierta un minuto después y vuelve a enviar los datos. Si la luz se apaga, no se despertará y está bien para usted.

Esto no es lo mejor.

Conecte el fototransistor tanto a attiny como a ESP, configure Attiny para que se despierte al nivel CHANGE del pin donde se conecta el gatillo, espere 1 segundo (en caso de que el dedo se deslice y la luz se encienda / apague rápidamente) por error), haga que Attiny encienda el ESP usando un P-MOSFET, haga que el ESP lea la salida de Schmitt y envíe datos.

Se despierta solo cuando es necesario, solo cuesta una vez. Cabe en la parte posterior del ESP-12. También puede evitar el MOSFET y simplemente usar el attiny para activar el ESP desde su estado de apagado.

enlace 7.1, modos de reposo: puede activarlo desde el apagado con cambios de pin. 19.4 consumo de energía en apagado: 0.2 uA. Años de uso si utiliza un Li-Ion con regulador lineal MCP170x a 3V.

Para información: en el sueño profundo, se conserva algo de memoria del ESP, unos 60-100 bytes, creo. En el modo de apagado, no.

    
respondido por el FarO

Lea otras preguntas en las etiquetas