trasmissione di n.5 temperature tra 2 Arduino 1

Complimenti Cyberhs...accidenti che sketch complicato....
Vediamo di capirci un pò e intanto grazie tante perchè così ho qualcosa su cui lavorare...

#include <SoftwareSerial.h>                          // libreria creazione porta seriale virtuale

byte Decimali = 1;                                   // numero decimali
unsigned long Timer = millis();                      // timer partito
const unsigned long TimeOut = 240000;                // tempo di invio dati in ms (4 min = 4*60*1000)

void setup() {
  Serial.begin(9600);                                // inizializza porta seriale
  SerialAux.begin(9600);                             // inizializza porta seriale ausiliaria
}

void loop() {
  if (millis() - Timer > TimeOut) {
  SerialAux.println(Temp1, Decimali);
  SerialAux.println(Temp2, Decimali);
  SerialAux.println(Temp3, Decimali);
  SerialAux.println(Temp4, Decimali);
  SerialAux.println(Temp5, Decimali);
    Timer  = millis();                               // timer resettato
  }
}

-Sugli sketch che mi ha postato Cyberhs non vedo la funzione che indica e programma i Pin da usare per la SoftwareSerial e li aggiungo;
-Per "Decimali" intendo che voglia intendere di mettere un numero tipo 1 o 2 che indica il numero di cifre dopo la virgola;
In questo sketch diciamo che ho quasi capito tutto e ti ringrazio ancora mille volte Cyberhs...

#include <SoftwareSerial.h>                          // libreria creazione porta seriale virtuale

int I = 0; 
int J = 0; 
String Z = "";

String SerRx = "";                                   // azzera buffer ricezione
const unsigned long TimeOut = 1000;                  // timeout 1 s
unsigned long Timer = millis();                      // timer partito

void setup() {
  Serial.begin(9600);                                // inizializza porta seriale
  SerialAux.begin(9600);                             // inizializza porta seriale ausiliaria
}

void loop() {

  SerRx = "";                                        // azzera buffer ricezione
  Timer = millis();                                  // timer partito

  while (millis() - Timer < TimeOut) {               // attesa timeout
    while (SerialAux.available() > 0) {              // ricezione da modulo
      SerTx += char(SerialAux.read());               // aggiungi carattere al buffer          
      Timer = millis();                              // reset timer 
    }
  }

  if (SerRx.length() > 0) {                          // ci sono dei dati nel buffer (Temp1<CR><LF>Temp2<CR><LF>...Temp5<CR><LF>
    J = 0;
    I = SerRx.indexOf(13, J);                        // cerca CR (carriage return) a partire dal carattere J
    if (I > 0) {
      Z = SerRx.substring(J, I)                      // sotto stringa dal carattere J al carattere I-1
      Temp1 = Z.toInt();
      J = I + 2;                                     // nuova posizione di ricerca
    }
    I = SerRx.indexOf(13, J);                        // cerca CR (carriage return) a partire dal carattere J
    if (I > 0) {
      Z = SerRx.substring(J, I)                      // sotto stringa dal carattere J al carattere I-1
      Temp2 = Z.toInt();
      J = I + 2;                                     // nuova posizione di ricerca
    }
    I = SerRx.indexOf(13, J);                        // cerca CR (carriage return) a partire dal carattere J
    if (I > 0) {
      Z = SerRx.substring(J, I)                      // sotto stringa dal carattere J al carattere I-1
      Temp3 = Z.toInt();
      J = I + 2;                                     // nuova posizione di ricerca
    }
    I = SerRx.indexOf(13, J);                        // cerca CR (carriage return) a partire dal carattere J
    if (I > 0) {
      Z = SerRx.substring(J, I)                      // sotto stringa dal carattere J al carattere I-1
      Temp4 = Z.toInt();
      J = I + 2;                                     // nuova posizione di ricerca
    }
    I = SerRx.indexOf(13, J);                        // cerca CR (carriage return) a partire dal carattere J
    if (I > 0) {
      Z = SerRx.substring(J, I)                      // sotto stringa dal carattere J al carattere I-1
      Temp5 = Z.toInt();
    }
  }
}

Ecco qui nel secondo Sketch ovvero l'Arduino che riceve i dati a dire il vero non mi è chiaro quasi niente...
-la funzione toInt è abbastanza complessa e ora ci studio un pò sopra per riuscire a capire le dinamiche di questa funzione...
-Poi non ho capito bene cosa sono i caratteri CR (carriage return) e LF...studierò anche su questo e intanto provo i due sketch...

Grazie tantissimo...