.: robotitaly.NET :. - la community italiana sulla robotica  

Vai indietro   .: robotitaly.NET :. - la community italiana sulla robotica > Robotica > XBee's

XBee's Gli XBee sono in moduli di comunicazione wireless standard ZigBee della Maxstream/Digi

Rispondi
 
Strumenti della discussione ModalitÓ di visualizzazione
  #1  
Vecchio 02-21-2014, 04:48 PM
Darklife Darklife non Ŕ collegato
Nuovo Roboter
 
Registrato dal: Jan 2014
Messaggi: 3
predefinito xbee - errore di comunicazione

salve

ho un problema con i moduli:
ho comprato 2 XBee serie 1, dopo vari problemi sono riuscito a farli comunicare, ma i

valori ricevuti sono diversi da quelli che mando. ad esempio: 1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
a 97
b 98
c 99
d 100
e 101
f 102
g 103

dati incollati dal terminale, dove nella prima colonna vi sono i dati che invio, nella

seconda colonna quelli che ricevo.

come Ŕ possibile questa cosa? cosa posso fare per settare meglio i moduli?

grazie
Rispondi quotando
  #2  
Vecchio 02-21-2014, 09:05 PM
blueice80 blueice80 non Ŕ collegato
Roboter Attivo
 
Registrato dal: Mar 2009
Messaggi: 89
predefinito

Il dato che invii Ŕ in formato "char" mentre il dato che ricevi Ŕ in decimale.
Se guardi una tabella ascii vedrai che il carattere "1" corrisponde a 49 decimale,
il "2" al 50 e cosi via...
Rispondi quotando
  #3  
Vecchio 02-23-2014, 03:26 PM
Darklife Darklife non Ŕ collegato
Nuovo Roboter
 
Registrato dal: Jan 2014
Messaggi: 3
predefinito

grazie!
come posso correggere la cosa?
ti faccio vedere il codice che uso io


/*
XBee_01
Prova moduli Xbee
riceve e rispedisce un carattere
attiva LED 2 se riceve il carattere H
spegne LED 2 de riceve il carattere L
*/
byte ChRX =0; //carattere ricevuto
int Led = 2; // LED connesso al pin digitale 2
void setup()
{
pinMode(Led, OUTPUT); // LED pin di uscita
Serial.begin(9600); // VelocitÓ seriale = BD XBee!
}
void loop()
{
while (Serial.available() > 0) {
// aspetta arrivo di un carattere
ChRX = Serial.read();
if ( ChRX == 2 )
digitalWrite(Led, HIGH); // sets the LED on
if ( ChRX == 1 )
digitalWrite(Led, LOW); // sets the LED off
Serial.print(ChRX); //println
delay(100);
}}
Rispondi quotando
Rispondi

Segnalibri

Strumenti della discussione
ModalitÓ di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code Ŕ attivo
Le smilie sono attive
Il codice IMG Ŕ attivo
il codice HTML Ŕ disattivato

Salto del forum


Tutti gli orari sono GMT. Attualmente sono le 11:51 AM.


Powered by vBulletin versione 3.8.7
Copyright ©: 2000 - 2018, Jelsoft Enterprises Ltd.