wire tra uno e yun

ciao a tutti
sto facendo una prova e vorrei che un arduino master manda un comando allo slave e lo slave risponda al master. il problema è che se ci provo al master ritorna dei caratteri illegibili. Per prova sto usando un arduino yun e un uno.

codice master

#include <Wire.h>

void setup() {
  Wire.begin();

  Serial.begin(9600); 
}

void loop() {
  Wire.beginTransmission(4);
  Wire.println("effetto ?");
  Wire.endTransmission();

  delay(10);
  
  Wire.requestFrom(4, 6);    // request 6 bytes from slave device #2
  

  while(Wire.available())    // slave may send less than requested
  {
    char c = Wire.read(); // receive a byte as character
    Serial.print(c);         // print the character
  }

  
  delay(1000);
}

codice slave

#include <Wire.h>

int effetto = 0;

void setup() {
  Wire.begin(4);                
  
  Wire.onReceive(receiveEvent); 
  Serial.begin(9600); 
}

void loop() {
  // put your main code here, to run repeatedly:
  effetto++;

  delay(500);
}

void receiveEvent(int howMany){
  String app = "";
  
  while(Wire.available()) // loop through all but the last
  {
    app += (char)Wire.read(); // receive byte as a character
    
  }

  app.trim();
  Serial.println(app);
  
  if(app == "effetto ?"){
    Wire.write("effet",6);
  }
}

dov'è che sbaglio?

Hai collegato il GND delle due schede tra di loro?

si si ...
io dal master arriva correttamente allo slave ma quando lo slave risponde arrivano caratteri incomprensibili.

comunque i due arduini vengono alimentati/configurati dallo stesso pc.

Se sicuro che i caratteri ricevuti siano stampabili da seriale? Hai verificato la velocità della seriale?

si è tutto a 9600

due seriali? uno per il ms e uno per lo sl ?

si nel mio pc non mancano le porte usb

ho risolto aggiungendo la funzione Wire.onRequest(requestEvent) nello slave ed aggiungendo un delay(10) al master tra la trasmissione e la ricezione.

a me risulta che yun lavori a 5V come il suo compare leonardo

Si la YUN funziona a 5V ma non ha regolatore. Gli devi fornire 5V sia che la alimenti dal microusb che se scegli di alimentarla dal Vin (che a mio parere dovevano rinominare 5Vin).
Se gli dai, come per la UNO, una tensione tra i 7 e i 12 sul Vin rischi di bruciarla.