Cambie un Arduino personalizado entre conexión por cable e inalámbrica

0

Tengo un Arduino personalizado de 5V a 16MHz que se ejecuta grbl y esperaba usar uno de los módulos bluetooth HC-05 para controlar de forma inalámbrica. Este Arduino se puede conectar a un puerto USB a través de un chip FTDI. Me gustaría que esto funcione con cualquiera de ellos y no con ambos. Esto funciona en su mayor parte y aquí está la 'tabla de verdad' que he experimentado:

USB  Bluetooth  Works over  Works over
ON   ON         USB?        Bluetooth?
---  ---------  ----------  ----------
Y    Y          N           Y
Y    N          Y           N
N    Y          N           Y

Supongo que cuando ambos están ENCENDIDOS, el USB no funciona porque ambos comparten las mismas líneas RX y TX del Arduino y parece que se está dando prioridad a la conexión Bluetooth. ¿Hay alguna manera de que cuando el cable USB se enchufa al PC host, no se pueda usar el módulo Bluetooth y se dé prioridad a la conexión por cable?

    
pregunta electrophile

3 respuestas

2

Siguiendo las sugerencias de Chris, aquí hay una solución de multiplexor que tengo la intención de probar. Cuando se desenchufa el USB, las líneas de selección están bajas y se seleccionan las líneas Y0, que es el módulo BT. Cuando el cable USB está enchufado, las líneas de selección se elevan y el chip FTDI se selecciona. VBUS y 5V son dos fuentes separadas de 5V. Solo el FTDI recibe alimentación del bus USB.

AGREGADO: Mientras estaba en eso, pensé que podía apagar y aislar el módulo BT por completo cuando el USB está conectado. Usé un p-mosfet que puede manejar aproximadamente 130 mA, lo cual es suficiente ya que el módulo BT en sí no consume más de 50 mA.

    
respondido por el electrophile
0

Cuando el cable USB está conectado a la PC host, su puerto verá VBUS = 5V. Si no hay cable, VBUS = 0V. Puede enviar esta señal a una de GPIO (con la conversión de voltaje adecuada, el divisor de resistencia debería estar bien) y usar la señal lógica para alternar entre USB y BT (apagar BT).

    
respondido por el Ale..chenski
-1

También hay una opción si desea usar dos UART en Arduino, hay soporte de Softwareserial () que ayuda de la biblioteca para crear su segundo uart. entonces puede usar tanto USB como Blutooth en una sola vez y de manera sencilla sin cambios en el hardware. lea cómo usar la biblioteca Softwareserial () y qué pines son compatibles.

    
respondido por el Kalarav Parmar

Lea otras preguntas en las etiquetas