Envoyer message groupé entre un maitre et esclave

Bonjour,

Je fais des essais d’envoi d’infos sur un lcd 16x2 avec 2 Arduino UNO, 1 maitre et 1 esclave.

J’arrive à envoyer des infos et les faire affiché.

Montage :

Maitre:

byte b;

#include <Wire.h>

void setup() {
  Wire.begin(); 
}

void loop() {
  Wire.beginTransmission(1); 
  Wire.write("Position :");        
  Wire.write(b);        
  Wire.endTransmission();    
  b++;
  delay(1000);
}

Esclave :

#include <Wire.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() 
{
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("ok");
  Wire.begin(1);                
  Wire.onReceive(receiveEvent); 
  Serial.begin(9600);           
  
}

void loop() 
{
 
}
 

void receiveEvent(int howMany) 
{
  while (1 < Wire.available()) 
    {
    byte y = howMany-1;
     
    
      for (int a=0;a<y;a++)
      {
       lcd.setCursor(a, 1);
       char c = Wire.read(); 
       lcd.print(c);         
       }
    }
   
  byte y = howMany;
  int x = Wire.read();    
  lcd.setCursor(y, 1);        
  lcd.print(x);
  delay(10);
}

mais je voudrais envoyer toutes les données des lignes en 1 fois ,
car si j’inverse :

Wire.write(“Position :”);
Wire.write(b);

ça ne fonctionne plus.

Une idée ?

Yo,

Pourquoi ne pas faire de liaison Rx/Tx entre les deux Arduinos ?

Bonsoir,

Parce qu'on peut en mettre plusieurs en esclave en // sur le A4 A5.