Communication entre 2 Arduino Due

Bonsoir à tous,

Je cherche à pouvoir communiquer entre 2 Arduino Due.
J'ai trouvé des tas de tutoriaux qui parle d'une communication entre 2 cartes, mais il s'agit à chaque fois de 2 cartes différentes.

Je m'en réfère à vous pour me mettre sur la bonne piste :slight_smile:

Je récupère une tension (je mettrai bien sur un diviseur pour être à 3.3 volts max) sur la carte 1, et je souhaite afficher cette valeur sur la carte 2 ?

Au niveau brochage :
J'ai relié GND au même GND de la seconde carte

  • TX1 (18) vers RX1 (19)
  • RX1 (19) vers TX1 (18)

Est-ce correct ?

Est-ce qu'une autre méthode est conseillée ?

Pour info, j'ai branché un shield sur lequel est relié un écran de type SSD1963, il me reste de dispo sur la carte :

  • les ports PMW de 2 à 7
  • les ports communications TX3, RX3, TX2, RX2, TX1, RX1
  • les ports Analog In de A0 à A11 + A0 + DAC1 + CANRX + CANTX

Merci pour votre aide

Merci pour votre aide

Mis à part que l'accès aux pins RX1 TX1 n'est pas facilité par le shield écran, je ne vois pas le problème.

Tu me confirme donc que je suis sur le bon chemin, merci !

Mon code ne fonctionne pas, et j'avoue ne pas du tout comprendre.
Pourriez vous me dire ce qu'il ne va pas ?

Carte Arduino Due
GND --> GND
RX1 --> TX1
TX1 --> RX1

void setup(){

  Serial1.begin(9600); 
  
}

void loop() { 
 
  Serial1.print(arduino)
  delay(1000);
}

Je n'ai aucun résultat sur le moniteur série. Sauf si j'utilise Serial.begin.
Mais j'ai cru comprendre que Serial.begin est pour la liaison USB vers le PC ?

Merci pour votre aide !

Je n'ai aucun résultat sur le moniteur série. Sauf si j'utilise Serial.begin.
Mais j'ai cru comprendre que Serial.begin est pour la liaison USB vers le PC ?

comment avoir un retour sur le terminal série sans passer par l'USB ?

Oui, c'est pas faux ! :slight_smile:

En prenant cet exemple sur le site Arduino, seul Serial affiche "Hello Computer".

Pourquoi je n'obtiens rien sur Serial1, Serial2 et Serial 3 ?

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);
  Serial2.begin(9600);
  Serial3.begin(9600);

  Serial.println("Hello Computer");
  Serial1.println("Hello Serial 1");
  Serial2.println("Hello Serial 2");
  Serial3.println("Hello Serial 3");
}
void loop() {}

les messages Hello Serial 1 , 2 et 3 sont envoyés ailleurs , il vont vers les éventiuels dispositifs qui y sont reliés

Merci beaucoup de m'avoir mis sur la bonne piste, ça fonctionne ! :slight_smile: