Bonjour à tous,
Je suis débutant (vus les résultats auxquels j'arrive ).
Je travaille pour l'instant avec des modules XBee XB24C.
J'en utilise un configuré en routeur AT pour émettre des données ADC issues d'un capteur de température analogique TMP36GZ.
Le deuxième est configuré en coordinateur API et reçoit les données émises. Reste à les interpréter...
Le XBee récepteur est connecté à un ArduinoUno avec un Software.Serial sur les broches 2 et 3.
Le message envoyé par le XBee émetteur commence toujours par 0x7E.
Je le lis avec les sketch suivant :
#include<SoftwareSerial.h>
SoftwareSerial XBee(2,3);
byte donnees[29];
int i=0;
void setup() {
Serial.begin(9600);
XBee.begin(9600);
}
void loop() {
if(XBee.available()>29)
{
for(int i=0;i<28;i++)
{
//donnees[i] = (XBee.read(),HEX);
{
Serial.print(XBee.read(),HEX);
// Serial.print(donnees[i],HEX);
Serial.print(",");
}
}
Serial.println();
}
}
Résultat du serial.print :
7E,0,18,91,0,13,A2,0,41,76,8E,76,C,35,E8,E8,0,92,C1,5,1,1,0,0,8,2,7E,B,
Jusqu'ici tout va bien
Il s'agit maintenant d'isoler le ou les bytes qui m'intéressent... J'ai essayé d'utiliser un tableau
#include<SoftwareSerial.h>
SoftwareSerial XBee(2,3);
byte donnees[29];
int i=0;
void setup() {
Serial.begin(9600);
XBee.begin(9600);
}
void loop() {
if(XBee.available()>29)
{
for(int i=0;i<28;i++)
{
donnees[i] = (XBee.read(),HEX);
{
//Serial.print(XBee.read(),HEX);
Serial.print(donnees[i],HEX);
Serial.print(",");
}
}
Serial.println();
}
}
Et cela me donne
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
Et je ne comprends pas pourquoi
Pouvez-vous m'aider ?
Grand merci d'avance