Detectar cuando un dispositivo se ha conectado a Vcc

0

Estoy usando un Arduino Uno para leer la entrada de un controlador NES (un simple registro de desplazamiento de 8 bits). Esto funciona bien, pero me gustaría poder detectar cuándo se desconecta el controlador para apagar el sondeo de E / S, de lo contrario, el ATmega lee un montón de entradas sin sentido desde los pines de entrada flotantes.

Mi principal problema es que no soy extremadamente EE, por lo que no estoy muy seguro de cómo hacerlo. El controlador tiene 5 pines: Vcc (5V), tierra, luz estroboscópica (enclavar las 8 entradas paralelas), reloj (desplazar los bits hacia afuera) y un pin de salida de datos. Parece que hay una caída de voltaje bastante sustancial en el pin de tierra en el controlador cuando no se presiona ningún botón.

Esencialmente, solo necesito detectar cuándo el circuito Vcc-to-ground está roto y configurar uno de los pines de entrada del Arduino alto o bajo según corresponda. No importa qué nivel lógico representa desconectado, ya que el código se puede adaptar fácilmente de cualquier manera.

Tengo unos pocos cientos de resistencias de varios tamaños, una caja de transistores NPN, PNP y JFET variados, y solo una comprensión superficial de cómo usarlos. :)

    
pregunta db2

1 respuesta

2

Sugiero usar otro método:

  1. Usted no hace nada al pin de entrada de datos en Arduino
  2. Supongo que tienes un pin de entrada más disponible en Arduino, ¿verdad? Llámalo "V"
  3. Así que cambia el SW para ignorar todos los datos cuando este pin V es bajo
  4. Toda la electrónica que necesitas es: - transistor PNP común - Resistencia 4K7 o sobre - Resistencia 47K o sobre
  5. Conectar: - Emisor pnp a una fuente de alimentación de +5 V y a una resistencia de 47K - Base pnp a la entrada de alimentación del controlador NES y a otro extremo de 47 K - Colector pnp para resistencia 4K7 y para pin de entrada V de Arduino - el otro extremo de 4K7 va a tierra

La corriente consumida por NES hace que el transistor PNP sea conductor y mantiene el pin V en el nivel lógico alto. Eso es todo

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Master

Lea otras preguntas en las etiquetas