Xbee....Problemini

Ave,

ho un piccolo problemino con xbee. Oggi mi sono arrivati i due moduli che avevo ordinato...Due della serie 1, i pro.
Uno lo uso attaccato al computer con la usb board di Robot-Italy. L'altro lo uso con la shield ufficiale.

Ho letto in giro che con la serie uno basta settare la stessa velocità su entrambi i moduli. Fatto...Ho ripristinato anche la versione originale, l'ho pure aggiornato, ma niente da fare...

Sti' due xbee non hanno voglia di comunicare!!!!

Ho provato a fare anche il range test, ma mi dà tutti errori.

Per caso, sapete voi quali sono i passaggi per farli comunicare? Sapete anche cosa ho sbagliato?

Grazie veramente tanto!

se non sbaglio gli xbee vanno a 3.3V e necessitano di conversione (i pin di arduino sono o 0 o 5V).

La shield ha un regolatore di tensione che preleva i 5v da Arduino e li trasforma in 3,3.

Il renge test senza un adeguato codice sull'arduino ti darà sempre errore... controlla nei post addietro qualcuno l'aveva postato....

Devi mettere in uno il numero di serie del altro e viceversa col programma X-CTU
Ciao Uwe.

uwefed:
Devi mettere in uno il numero di serie del altro e viceversa col programma X-CTU
Ciao Uwe.

Che vuol dire ? O.o

uwefed:
Devi mettere in uno il numero di serie del altro e viceversa col programma X-CTU

Serve solo per la serie 2, questi sono serie 1, devono comunicare subito senza problemi, occorre solo settare la stessa velocità su i due moduli.

Sui miei l'ho fatto e funzionano. Allora si puó fare per fare comunicare solo tra di loro ma non é necessario?
Ciao Uwe

An ma allora parlate dell' ID....
Io non l'ho nemmeno toccato e sono Xbee PRO serie 1 e vanno bene..... si l'unica cosa è la velocità che è la stessa....

Dai un'occhiata al mio topic, anche se uso la serie 2 si sono accumulate molte informazioni utili :smiley:

uwefed:
Allora si puó fare per fare comunicare solo tra di loro ma non é necessario?

Esatto, la serie 1 è pronta all'uso in modo trasparente, non c'è da settare nulla salvo la velocità se non va bene quella di default.
Se imposti gli indirizzi quei moduli possono comunicare solo tra di loro e non con altri, nella serie 1 viene usato il modo broadcast come impostazione normale, quello che trasmette un modulo viene ricevuto da tutti quelli nel raggio di copertura.
L'utilizzo degli address permette di far coesistere più coppie di moduli Xbee nello stesso ambiente, ciascuna con la sua funzione, senza dover gestire i pacchetti ricevuti a livello di host.
Anche con la serie 1 è possibile creare un vero network, ma non di tipo mesh, utilizzando la modalità API per inviare i pacchetti, in questo modo è possibile specificare l'address del Xbee verso il quale sono indirizzati i dati in modo che sia solo lui a riceverli.

stefanolavori:
Ho provato a fare anche il range test, ma mi dà tutti errori.

Il range test prevede che l'Xbee ricevente reinvii il paccheto dati al trasmittente, questo si ottiene facilmente mettendo in corto tra loro DIN e DOUT del secondo Xbee, però non puoi farlo mentre è montato sullo shield, dovresti scrivere uno sketch che fa l'eco sulla seriale.

Grazie ragazzi! Per un attimo ho pensato che i moduli fossero danneggiati!

Ora provo a stendere un codice e poi lo posto.

Ok, qui il codice:

int a;

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

void loop() {
  
  while(Serial.available() >0) {
    
    a = Serial.read();
    delay(5);
    Serial.println(a);
  }
}

Può andar bene?

Provalo e vedi subito :slight_smile: i miei Xbee sono a lavoro :wink:
Ad occhio pare giusto però son scettico su quel int a;
ricordi il topic con le stringhe ? se non va prova con string a;

Certo che lo ricordo...Appena posso lo provo...

Ne approfitto per chiederti una cosa: c'è un modo più veloce per verificare che gli xbee funzionino?

Se il programma X-CTU li riconosce correttamente e riesci a leggere il loro firmware sei già al 99% del lavoro secondo me poi.. puoi prendere un codice tipo la lettura di un valore analogico e metterlo nell'arduino, poi a questo ci colleghi un Xbee e dall'altra parte ti colleghi direttamente al pc con la USB board che mi par d'aver capito che hai dopo di che apri il terminale seriale e dovrebbero arrivarti le lettura fatte dall'arduino remoto... l'ideale sarebbe un LM35 così hai un termometro a distanza....

Xctu li riconosce. Purtroppo non ho un lm35dz, ma penso basti una resistenza tra input e 5v. Domattina provo e vi saprò dire tutto.

Devi metterne due per fare un partitore perchè così leggi 1023 non essendoci c.d.t.
prendi due resistenze tipo 2 da 10Kohm le metti in serie ai capi dai +5V e gnd in mezzo dove hai l'unione tra le due resistenze ti colleghi al pin analogico,
a livello teorico dovresti avere 2.5V quindi 512 ma dato che le resistenze non son molto precise avrai valori fluttuanti che comunque si avvicinano al numero che ho scritto sempre che le resistenze siano uguali... usa sempre un valore superiore ai 470K per i partitori in modo da non dissipare potenza inutilmente :wink: