Comunicazione seriale tra Arduino NANO e Arduino DUE

Buonasera, premesso che ho già cercato, per qualche giorno, sia tra i vari blog sia sul forum topic che potessero venirmi in aiuto e non ho trovato nulla che potesse aiutarmi passo ad esporre il mio problema.
Ho un Arduino NANO v3.3 che legge dei dati (int) da 6 sensori MLX90614 tramite I2C. questi dati vorrei venissero passati al mio Arduino DUE tramite seriale
lo sketch del NANO è questo:

#include <SoftwareSerial.h>
#include <Adafruit_MLX1.h>
#include <Adafruit_MLX2.h>
#include <Adafruit_MLX3.h>
#include <Adafruit_MLX4.h>
#include <Adafruit_MLX5.h>
#include <Adafruit_MLX6.h>

Adafruit_MLX1 mlx1 = Adafruit_MLX1();
Adafruit_MLX2 mlx2 = Adafruit_MLX2();
Adafruit_MLX3 mlx3 = Adafruit_MLX3();
Adafruit_MLX4 mlx4 = Adafruit_MLX4();
Adafruit_MLX5 mlx5 = Adafruit_MLX5();
Adafruit_MLX6 mlx6 = Adafruit_MLX6();
SoftwareSerial mySerial(10, 11);

void setup() {
  Serial.begin(9600);
  mlx1.begin();
  mlx2.begin();
  mlx3.begin();
  mlx4.begin();
  mlx5.begin();
  mlx6.begin();
  mySerial.begin(9600);
}

void loop()
{
  int t[5];
  t[0] = mlx1.readObjectTempC();
  t[1] = mlx2.readObjectTempC();
  t[2] = mlx3.readObjectTempC();
  t[3] = mlx4.readObjectTempC();
  t[4] = mlx5.readObjectTempC();
  t[5] = mlx6.readObjectTempC();
  while (mySerial.available() > 0)
  {
    for (int i = 0; i < 5; i++)
    {
      mySerial.print(t[i]);
    }
    for (int i = 0; i < 5; i++)
    {
      Serial.print(t[i]);Serial.print(" sensore n*");Serial.print(i+1);Serial.println();
    }
  }
}

mentre lo sketch del DUE è:

void setup() {
  Serial1.begin(9600);
  Serial.begin(9600);
}

void loop() {
  int t[6];
  Serial1.write(1);
  for (int i = 0; i < 6; i++)
  {
    Serial.print(t[i]); Serial.print("sensore n*"); Serial.print(i + 1); Serial.println();
  }
  delay(500);
}

in realtà a me servirebbe che NANO rispondesse ad una chiamata di DUE passandogli i dati dei sensori
Sarebbe anche meglio se potessi, invece di passare un array, passare i singoli dati differenziando la richiesta che DUE fa a NANO ad esempio poter chiedere solamente la lettura del sensore 2 o 4 ecc..
Grazie mille

Secondo me hai rotto la Due e percui non funziona.
Ciao Uwe

Toglimi una curosità, ma che hai replicato 6 volte la libreria originale ?

Brunello: nella libreria originale è indicato l'indirizzo del sensore, ho modificato le librerie cambiando gli indirizzi e i nomi delle variabili, potevo fare una cosa più raffinata ma con le mie conoscienze limitate preferisco prima fare cose che funzionino, poi casomai le renderò più eleganti.

uwefed: anche se cambio le porte seriali della due il risultato non cambia.

Quando provo, la NANO scollegata dalla due non scrive nulla sulla linea seriale, appena la collego alla DUE inizia a scrivere e non smette neanche se viene scollegata.
La DUE invece legge ma legge valori sbagliati e sempre uguali.

scoprire:
uwefed: anche se cambio le porte seriali della due il risultato non cambia.

Forse hai rotto le porte una dopo l' altra.

La DUE non sopporta 5V sulle entrate. Tu stai dando 5V.

Ciao Uwe

Uso questo infatti
https://www.sparkfun.com/products/12009 :slight_smile: