Lea el estado del interruptor sin interferir con el LED

2

Soy un tipo de software que trata de entender cómo medir el estado de un interruptor conectado a un LED como se muestra a continuación a través de una entrada digital de una MCU.

Mi primer intento fue con muchas variaciones del circuito 1 a continuación: parece que cada iteración que probé hace que el LED se ilumine tenuemente, incluso cuando SW1 está abierto. He eliminado R3 y este problema sigue existiendo. Creo que R3 y la entrada MCU proporcionan una ruta a tierra que hace que el LED se ilumine débilmente.

Luego me topé con el circuito 2 debajo que parece funcionar bien. Puedo leer el estado de SW1 y el LED funciona correctamente. Desafortunadamente, no sé por qué funciona y, por lo tanto, no me siento cómodo con él.

¿Alguien puede sugerir métodos para leer el estado de SW1 con una MCU sin interferir con el LED? Además, ¿por qué el circuito 2 parece funcionar?

¡Gracias!

simular este circuito : esquema creado usando CircuitLab

    
pregunta user45675

2 respuestas

2

Su segundo circuito es perfecto, siempre que el pullup en la entrada esté habilitado.

Cuando el interruptor está abierto, el ánodo de D1 está en V DD , y el cátodo de D1 está en 13V-V f . El diodo evita que el voltaje más alto alcance el pin de entrada y destruya la MCU.

Cuando el interruptor está cerrado, el cátodo de D1 está a 0 V, bajando el ánodo a 0,7 V y registrando un mínimo en la entrada.

No necesita la resistencia, ya que el pullup no generará suficiente corriente para dañar el diodo, pero debe tener el diodo para evitar que el voltaje más alto llegue a la MCU.

    
respondido por el Ignacio Vazquez-Abrams
0

En el segundo circuito, con los valores de R2 y el pull-up habilitado de la MCU, se formará un divisor de voltaje que podría no permitir que la E / S de la MCU se acerque lo suficiente a 0 V, cuando se haga SW1, para lee un 0 lógico.

Esto funcionará con la unidad interna de la MCU o con un pull-up externo.

                                             Vcc       MCU
                                              |    +--------- 
                                              +----|Vcc
                                              |    |     
  13V    +----------------------+            [R2]  |     
     \   |                      |             |    |
      +--|---[R1]---[LED>]---O--|---[<DIODE]--+----|I/O
      |  |                  /   |                  |
    [BAT]|                 / O  |                  |
      |- |              SW1  |  |                  |
      +--|-------------------+--|------------------|GND
         |                      |                  +----
         +----------------------+
    
respondido por el EM Fields

Lea otras preguntas en las etiquetas