Usando un transistor como un interruptor entre RX y TX

4

Tengo un microcontrolador (arduino) conectado a través de su salida serial (RX / TX) a un módulo bluetooth. Quiero poder programar el microcontrolador cuando los dos aún están conectados, pero a menos que desconecte el controlador RX, el programa no se cargará. Pregunta: ¿es posible usar un transistor para actuar como un interruptor entre el controlador RX y el Bluetooth TX? Mis intentos no han tenido éxito hasta ahora ... gracias.

    
pregunta user2105725

3 respuestas

4

Esto funcionaría bien, MAX4544. Haga que la posición predeterminada sea de COM a NC con un menú desplegable en IN, cuando el boceto de Arduino se despierte, puede conducir IN a Alto para conectar COM a NO y habilitar la conexión BT.

enlace

O uno de estos si desea cambiar ambos en el mismo paquete

enlace

    
respondido por el CrossRoads
4

La solución más fácil de IME para este problema es evitarlo por completo: la mayoría de las placas arduino tienen un encabezado que se puede usar para conectar un dispositivo programador AVRisp, lo que hace que no sea necesario utilizar la interfaz en serie para la programación. Los dispositivos son baratos (hay clones de muy bajo costo en eBay) y el IDE arduino admite su uso. Al hacerlo, también le permite sobrescribir el cargador de arranque arduino, que puede brindarle una pequeña cantidad de almacenamiento adicional para su programa, que a menudo me parece útil.

    
respondido por el Jules
1

El dispositivo que canaliza dos o más señales en la misma línea se denomina multiplexor . Puede obtener uno en forma de IC, implementarlo con puertas lógicas o implementarlo con transistores.

Si puede asegurarse de que ambas fuentes nunca transmitan datos al mismo tiempo, puede usar el hecho de que UART tiene un nivel de inactividad de '1' lógico para simplificar el circuito a una sola puerta AND, que puede ser razonablemente implementado con transistores:

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Dmitry Grigoryev

Lea otras preguntas en las etiquetas