Controlando los pines de extracción desde un circuito externo

0

Tengo un circuito con un Arduino que controla un canal de 2 canales, apagado normal, optoaislado < a href="http://www.ebay.com/itm/1pcs-5V-2-Channel-Relay-Module-for-Arduino-PIC-ARM-DSP-AVR-Electronic-/251361854321"> tarjeta de relé , señales de entrada de 5V, activando el relé cuando el pin digital Arduino está configurado en BAJO. Los relés se controlan de forma independiente mediante 2 pines de salida digital del Arduino.

Un relé controla un bloqueo magnético de 12 VCC y el otro un estroboscopio de 220 VCA.

En esta ecuación, quiero agregar una Tarjeta de sonido Adafruit Audio FX (salida de auriculares versión jack). Cada uno de los 2 pines Arduino debe activar la reproducción de un sonido en la tarjeta FX además de activar los relés. La placa de efectos funciona de la siguiente manera: conecte uno de los 11 pines de salida a GND (usaré solo 2 de ellos) para activar el sonido asociado con ese pin. Por lo tanto, se supone que la placa se debe utilizar adjuntando pulsadores momentáneos a esos pines de salida. Adafruit dice esto :

  

Cuando el # pin está conectado a GND por más de unos 50 milisegundos   ¡se disparará! Hay una resistencia de extracción de 100K en cada uno, por lo que   No necesita ninguna resistencia adicional o pullups.

Ok, entonces tienen 100K pull-ups. No los veo en schematics o La impresión fabulosa de la placa FX, por lo que debe estar utilizando los pull-ups internos del microcontrolador.

Este es un esquema básico de cómo asumo que uno de esos detectores se ve así:

simular este circuito : esquema creado usando CircuitLab

Supongo que podría usar otra placa de relés de 2 canales, pero sería demasiado para este propósito.

Sospecho que la solución más elegante sería utilizar un transistor NPN, como se ve aquí . ¿Es ésta la mejor opción? ¿Debería la GND de Arduino compartir la GND de la placa FX? ¿Podrían 5V en el control base 5V en el colector? ¿Qué valores deben ser los 2 resistores para el NPN?

    
pregunta talereader

2 respuestas

1

Los Pullups en los pines de entrada como este existen para su conveniencia, por ejemplo, para que puedan conectarse a los botones como sugiere en su pregunta, pero no le impiden que pueda conducirlos a un nivel alto o bajo como cualquier otro. otro pin de entrada. Siempre que sus niveles lógicos sean los mismos, puede conectar el pin de salida de su Arduino al pin de entrada en la placa de activación de sonido y conducirlo como un pin GPIO normal.

    
respondido por el Nick Johnson
1

Esto se hace más fácilmente si existen dos condiciones:

1) Su placa Arduino funciona desde 5V (en lugar de 3.3V)

2) Tienes pines de salida adicionales en la placa Arduino que no se están utilizando.

Si se dan estas dos condiciones, simplemente conecte las bases de ambas placas al mismo punto y luego conecte cada pin de entrada de la placa FX al Arduino. Estos pines de salida se configuran HI cuando no están activos (durante la inicialización)

La única diferencia es que ahora activará 2 pines cuando quiera hacer uno de sus efectos: establezca el pasador que impulsa el bloqueo de la puerta o el estroboscópico HI, luego el pasador conectado a la placa de efectos LO. Devuelva los pines al estado no activo cuando haya terminado.

Hay una posible ventaja de hacer las cosas de esta manera: cada una de las salidas puede tener un tiempo activo diferente. En otras palabras, digamos que la tarjeta FX repetirá el sonido una y otra vez, siempre y cuando la entrada se mantenga activa. Tal vez lo hace, tal vez no lo hace. Pero supongamos que funciona de esta manera.

Pero: necesitas que el estroboscopio esté activo durante varios minutos, mucho más que el sonido.

Debido a que las salidas están separadas, puede establecer la duración del impulso para cada salida de forma independiente.

[Editar]

Según su comentario, veo que desea que el mismo pin en el Arduino controle tanto su efecto (bloqueo de la puerta, luz estroboscópica) como el efecto de sonido.

Eso también es fácil pero requiere un transistor adicional por entrada de efectos. El motivo de los transistores adicionales es que su tarjeta de relé está activa HI pero su tarjeta FX está activa LO. El transistor proporciona inversión lógica.

Puede utilizar los transistores NPN bipolares o MOSFET de canal N. Los MOSFET son agradables porque no requieren resistencias de base, pero pueden costar unos pocos centavos más que un transistor NPN estándar bog.

Si usa transistores NPN como 2N4401 o 2N2222, conecte el Emisor a tierra, conecte el Colector al pin de entrada de efectos, conecte el pin de salida Arduino a su tarjeta de relé y a un lado de un 10k resistor. El otro lado de la resistencia de 10k se conecta a la base del transistor.

Si usa un MOSFET de canal N como el 2N7000, conecte la Fuente a tierra, Drene al pin de entrada de FX, y al mismo pin de Arduino que impulsa la tarjeta de relé.

En cualquiera de los casos, cuando el pin Arduino se pone de alta para activar el relé, el transistor correspondiente se enciende y tira del pin LO de entrada de efectos para activar el efecto de sonido.

¡Fácil como pastel!

    
respondido por el Dwayne Reid

Lea otras preguntas en las etiquetas