Si Arduino est connecté à lordinateur et a ouvert Serial Monitor, les broches Tx et Rx fonctionneront-elles toujours?

Supposons quune connexion de deux des cartes Arduino Uno via les broches Rx et Tx. Ensuite, si une ou les deux cartes Arduino étaient connectées à lordinateur et éventuellement ouvertes des moniteurs série, les broches Tx et Rx fonctionneront-elles toujours? cest-à-dire que Arduino communiquera toujours via les broches Rx et Tx lorsquil communiquera avec lordinateur? Sinon, comment les faire fonctionner tout en se connectant à lordinateur?

Commentaires

  • La puce USB FTDI est connectée aux broches TX / RX. Il se peut donc que le numéro de série ne fonctionne pas comme prévu.

Réponse

Supposons quune connexion de deux des cartes Arduino Uno via les broches Rx et Tx.

Je suppose que vous allez connecter le TX dun Arduino au RX de lautre et vice versa, ce qui est la bonne façon de les connecter. Comme theSealion la expliqué dans sa réponse, vous ne devriez pas connecter deux broches TX ensemble.

si lune des cartes Arduino ou les deux étaient connectées à lordinateur et ont éventuellement ouvert des moniteurs série

Si vous faites cela, lArduino ne le remarquera même pas.

Eh bien, pour être plus précis … il y a une petite puce sur lUno, non r le connecteur USB, étiqueté «MEGA16U2». Cette puce est utilisée comme convertisseur USB / série, et elle remarquera lorsque vous connectez la liaison USB et lorsque vous ouvrez le port. Cependant, la puce principale (le gros PDIP28), qui est le microcontrôleur qui exécute votre sketch, ne le saura ni ne sen souciera.

Tx et Rx pin fonctionne toujours?

Absolument.

Arduino continuera-t-il de communiquer via Rx et la broche Tx lorsquil communique avec lordinateur?

Le RX ne communiquera pas avec lordinateur. Ce qui va se passer est:

  • Tout ce que votre Arduino écrit sur son port série sera reçu à la fois par lautre Arduino et le moniteur série.
  • Tout ce que vous envoyez via le moniteur série sera perdu.
  • Lorsque vous Serial.read(), vous obtiendrez tout ce qui a été défini par lautre Arduino.

La raison de ce comportement est un 1   résistance kΩ qui se trouve entre le TX du Mega16U2″ et le RX du microcontrôleur principal. Lorsque vous connectez ce RX à lautre TX de lArduino, qui est à faible impédance (≈ 2 5   Ω), ce TX «gagnera»: une sortie basse impédance submerge une sortie haute impédance.

Réponse

comment faire fonctionner [deux Arduinos communiquant entre eux] tout en se connectant à un ordinateur?

Il existe une variété de façons pour 2 Arduinos de communiquer directement entre eux pendant que lun ou les deux communiquent avec le moniteur série dun ordinateur portable via USB.

  • Utilisez un UART pour que les Arduinos communiquent indépendamment de la connexion USB. (Voir https://www.arduino.cc/reference/en/language/functions/communication/serial/ )

    • Plusieurs cartes compatibles Arduino telles que lArduino Mega 2560, Arduino Due, Arduino Uno Wifi Rev.2, etc. ont 4 UART matériels; les broches de Serial1 (notez le « 1 ») pourraient être utilisées pour communiquer avec un autre Arduino sans interférer avec la communication UART série (sans « 1 ») via USB vers un ordinateur portable. (Hélas, lArduino Uno na quun seul UART matériel).
    • Les dérivés Arduino Micro et Arduino Leonardo basés sur ATmega32u4 et Arduino basés sur ATmega32u4 tels que FLORA et de nombreux dérivés Arduino basés sur ARM tels que la série Teensy ont une interface USB qui nutilise aucune des broches UART; ainsi les broches de Serial1 (notez le « 1 ») pourraient être utilisées pour communiquer avec un autre Arduino sans interférer avec la communication série (sans « 1 ») non UART via USB vers un ordinateur portable. (Hélas , lArduino Uno a une interface USB qui utilise ses seules broches UART matérielles).
    • Même lArduino Uno, qui na quun seul UART matériel dont les broches sont câblées à la puce dinterface USB, peut bit-bang une simulation lente dun UART sur dautres broches. Voir Quelle ' est la différence entre tous les bibliothèques logicielles série? Laquelle est compatible Arduino Nano? .
  • Plutôt que dessayer de simuler un UART dans un logiciel (le timing est un peu délicat), il peut être plus facile / plus rapide dutiliser un autre moins sensible au temps les moyens de communication entre Arduino Unos ou dautres Arduinos, tels que

Réponse

Jai exactement le même problème! Jutilisais la carte Arduino Uno avec un Jtag ICE mkii pour le débogage qui fonctionnait bien. Lorsque jai commencé à utiliser lUART, cétait un gros désordre. La transmission dArduino vers un adaptateur TTL-USB externe fonctionnait mais pas dans lautre sens. Jai joué des heures avant de voir ce fil et cela ma donné lidée de regarder dans le shematic – > Bang! Jai vu les deux résistances. Leçon apprise: nutilisez pas le matériel Arduino sans le reste des outils! Jai pensé que cétait une bonne idée dutiliser le matériel pour un développement rapide. Maintenant, cela me coûte plus de temps que je ne le pensais …

Réponse

Vous ne devriez « pas connecter deux broches TX ensemble. Arduino a des résistances de protection mais même il nest pas recommandé de connecter deux broches de sortie.

Le seul moyen déconomie dutiliser les broches RX / TX directement est de retirer les résistances de protection (RN4A et RN4B dans la conception de référence ) ou au moins le RN4A et nutilisez quune seule connexion à la fois. Cela naide pas si vous nutilisez pas la connexion PC ou nouvre pas le moniteur série car les broches sont toujours une sortie.

(Plusieurs broches RX ne posent aucun problème car ce sont des entrées)

(Et bien sûr, je sais que cela pourrait fonctionner avec plusieurs broches TX ensemble la plupart du temps, mais je le recommanderais)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *