Xbee - lettura dal seriale

leo72:
Uhm. Mi pare tu stia sbagliando protocollo di trasmissione.

Se spedisci Serial.println(qualcosa) è normale che tu abbia tutto messo con i ritorni a capo.
Se spedisci una lettura numerica con Serial.println(valore, BYTE), è normale che ti arrivino caratteri senza senso.
Ad esempio, se spedisci Serial.println(map(AnalogRead(X), 0, 1023, 0, 255), BYTE) e ricevi un carattere casuale è normale perché tu non stai ad esempio spedendo il valore 123 (faccio un esempio) ma spedisci il byte che rappresenta quel valore, ossia il carattere ASCII corrispondente. Per ricevere un numero devi spedirlo come numero, ossia Serial.println(map(ecceccc), DEC).
Quando poi lo ricevi devi rimandarlo a video come lo hai ricevuto, ossia mettere:
while (my.available()) {
Serial.print(my.read(), BYTE);
}

In questo modo ricostruisci ciò che ti arriva come lo hai ricevuto.
Riprendiamo l'esempio di prima. Mettiamo di spedire il numero 123.
Tu lo spedirai come "1"-"2"-"3"-"\n" (parte anche il carattere di ritorno a capo perché hai messo Serial.println)

Quando lo ricevi, leggerai il byte "1" e lo stamperai a video, poi il 2 a seguire, poi il 3 ed infine il ritorno a capo (CHR(13)->\n)

Forse mi sono espresso male, però al momento il problema non è il tipo di dato che ricevo, ma il dato stesso.
Ho messo la pull up come nell'articolo mettendo anche il bottone di reset ed ho usato la newsoft anche per lo standalone. Ho usato questi due codici come da te consigliato:

#include <NewSoftSerial.h>
NewSoftSerial my (3,2);
byte val;
void setup(){
  Serial.begin(9600);
  my.begin(9600);
}
void loop(){
 if(my.available())
  val= my.read();
  Serial.print(val, BYTE);
}
#include <NewSoftSerial.h>
NewSoftSerial my (3,2);

void setup(){
  Serial.begin(9600);
    my.begin(9600);
}
void loop(){
  my.print(map(analogRead(A0),0,1023,0,255),DEC);
  delay(10);  
  my.print(map(analogRead(A1),0,1023,0,255),DEC);
  delay(10);  
}

Adesso i problemi che avevo prima sono in parte risolti (i dati arrivano di continuo), ma ricevo una roba come 025555555555555550000000000000002550000000000000025555555555555000000000000000025555555555555,
che teoricamente sarebbe giusta perchè un'ingresso è sul gnd ed uno sui 5v ma evidentemente ci sono problemi di "tempo" o che so io..

EDIT: Ho tolto la variabile val mettendo Serial.print(my.read(), BYTE); ma, visto che ricevo 0-2-5-5-0-2-5-5-0, ho pensato che ci volesse un separatore in modo da identificare ed unire ciò che ricevo. Ma quando l'ho fatto, ahimè, i valori li ricevo di nuovo a tratti T,T