Si Arduino se conecta a la computadora y abre Serial Monitor, ¿seguirán funcionando los pines Tx y Rx?

Suponga que uno conecta dos de las placas Arduino Uno a través de pines Rx y Tx. Entonces, si una o ambas placas Arduino estuvieran conectadas a la computadora, y posiblemente abrieron monitores seriales, ¿seguirán funcionando los pines Tx y Rx? es decir, ¿Arduino seguirá comunicándose a través del pin Rx y Tx cuando se está comunicando con la computadora? Si no, ¿cómo hacer que funcionen mientras se conectan a la computadora?

Comentarios

  • El chip FTDI USB está conectado a los pines TX / RX. Por lo tanto, es posible que la serie no funcione como usted espera.

Respuesta

Suponga que uno conecta dos de las placas Arduino Uno a través de pines Rx y Tx.

Supongo que conectará el TX de un Arduino al RX del otro y viceversa, que es la forma correcta de conectarlos. Como explicó el Sealion en su respuesta, no debe conectar dos pines TX juntos.

si una o ambas placas Arduino estaban conectadas a la computadora, y posiblemente abrieron Monitores Seriales

Si haces eso, el Arduino ni siquiera lo notará.

Bueno, para ser más precisos … hay un pequeño chip en el Uno, nea r el conector USB, etiquetado como “MEGA16U2”. Este chip se utiliza como un convertidor USB / serie, y lo notará cuando conecte el enlace USB y cuando abra el puerto. Sin embargo, el chip principal (el gran PDIP28), que es el microcontrolador que ejecuta su boceto, no lo sabrá ni le importará.

pin Tx y Rx sigue funcionando?

Absolutamente.

¿Arduino todavía se comunicará a través de Rx? y el pin Tx cuando se está comunicando con la computadora?

El RX no se comunicará con la computadora. Lo que sucederá es:

  • Lo que sea que su Arduino escriba en su puerto serial será recibido tanto por el otro Arduino como por el monitor serial.
  • Todo lo que envíe a través del monitor serial se perderá.
  • Cuando Serial.read(), obtendrá lo que haya configurado el otro Arduino.

La razón de este comportamiento es un 1   resistencia kΩ que se encuentra entre el TX del Mega16U2 y el RX del microcontrolador principal. Cuando conectas este RX al TX del otro Arduino, que es de baja impedancia (≈ 2 5   Ω), que TX «ganará»: una salida de baja impedancia abruma a una de alta impedancia.

Respuesta

¿cómo hacer que [dos Arduinos se comuniquen entre sí] funcionen mientras se conectan a la computadora?

Hay una variedad de formas para que 2 Arduinos se comuniquen directamente entre sí mientras uno o ambos se comunican con el Monitor Serial de una computadora portátil a través de USB.

  • Utilice un UART para que los Arduinos se comuniquen que sea independiente de la conexión USB. (Ver https://www.arduino.cc/reference/en/language/functions/communication/serial/ )

    • Varias placas compatibles con Arduino, como Arduino Mega 2560, Arduino Due, Arduino Uno Wifi Rev.2, etc. tienen 4 UART de hardware; los pines de Serial1 (tenga en cuenta el «1») podrían usarse para comunicarse con otro Arduino sin interferir con la comunicación UART serial (sin un «1») a través de USB a una computadora portátil. (Por desgracia, Arduino Uno tiene solo 1 UART de hardware).
    • Arduino Micro y Arduino Leonardo basados en ATmega32u4 y derivados de Arduino basados en ATmega32u4 como FLORA y muchos de los derivados de Arduino basados en ARM, como la Teensy series tienen una interfaz USB que no utiliza ninguna de los pines UART; por lo que los pines de Serial1 (tenga en cuenta el «1») podrían usarse para comunicarse con otro Arduino sin interferir con la comunicación serial (sin un «1») no UART a través de USB a una computadora portátil. , el Arduino Uno tiene una interfaz USB que usa sus únicos pines UART de hardware).
    • Incluso el Arduino Uno, que tiene solo 1 UART de hardware cuyos pines están cableados a el chip de interfaz USB, puede bit-bang una simulación lenta de un UART en otros pines. Consulte ¿Cuál ' s la diferencia entre todos las bibliotecas de serie de software? ¿Cuál es compatible con Arduino Nano? .
  • En lugar de intentar simular un UART en el software (el tiempo es un poco complicado), puede ser más fácil / rápido usar otros menos sensibles al tiempo formas de comunicación entre Arduino Unos u otros Arduinos, como

Respuesta

¡Tengo exactamente el mismo problema! Estaba usando la placa Arduino Uno con un Jtag ICE mkii para la depuración, que funcionaba bien. Cuando comencé a usar el UART, fue un desastre. La transmisión de Arduino a un adaptador TTL-USB externo funcionaba pero no en la otra dirección. Jugué horas antes de ver este hilo y eso me dio la idea de investigar el shematic – > ¡Bang! Vi las dos resistencias. Lección aprendida: ¡No use el hardware Arduino sin el resto de las herramientas! Pensé que era una buena idea utilizar el hardware para un desarrollo rápido. Ahora me cuesta más tiempo del que pensaba …

Respuesta

No debería conectar dos pines TX juntos. Arduino tiene algunas resistencias de protección pero incluso no se recomienda conectar dos pines de salida.

La única forma segura de usar los pines RX / TX directamente es quitar las resistencias de protección (RN4A y RN4B en el diseño de referencia ) o al menos el RN4A y use solo una conexión a la vez. No ayuda si no usa la conexión de PC o no abre el Monitor serial ya que los pines siguen siendo una salida.

(Varios pines RX no son un problema ya que son entradas)

(Y, por supuesto, sé que podría funcionar con varios pines TX juntos la mayor parte del tiempo, pero lo recomendaría)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *