Go Down

Topic: Communication Arduino/Xbee --- Xbee/arduino (Read 1 time) previous topic - next topic

lakare_AC

Jul 08, 2016, 10:46 am Last Edit: Jul 15, 2016, 04:53 pm by lakare_AC
Bonjour,

Je dois réaliser deux carte électronique permettant de faire communication deux modules XBee dont chaque module est relié à une carte arduino pour traiter les informations reçu par l'autre (du genre, le End-Device"connecté sur le 1er arduino "  reçoit les valeurs d'un potentiomètre qui est relié sur coordinateur/arduino et ensuite renvoie ces valeurs sur une des pins de l'arduino sur faire du PWM (j'en suis pas arrivé là-bas).

Avant d'aller plus loin, je vous explique le projet en deux lignes:

L'objectif consiste à faire communiquer deux lampadaire entre eux par voie RF "radio-fréquence". Pour cela, j'ai fait quelque recherche sur internet pour avoir une idée pour les différentes protocole de communication, module disponible tout en tant faisant une sélection selon un critère bien déterminé.

Et cependant, j'ai choisi le module XBee ( http://www.digi.com/fr/products/wireless/point-multipoint/xbee-series1-module)

La partie qui fonctionne c'est la communication arduino/XBee et je peux voir les données sur l'autre module XBee via le logiciel" sur l'ordinateur" :smiley-cool:  XCTu de chez DIGIT International voir le lien de téléchargement (http://www.digi.com/products/xbee-rf-solutions/xctu-software/xctu ).

Mon problème: c'est communication XBee/Arduino :smiley-sad-blue:  :smiley-sad-blue:  :smiley-sad-blue:  :smiley-cry:  :smiley-cry: .  J'ai regardé pas mal des tutoriels mais toujours pas de bon résultat. Je suis à l'écoute de tout le monde, j'ai vraiment besoin d'aide. Rien ne fonctionne jusqu'à présent sur la communication XBee/arduino.

Une piste, je m'aimerai savoir s'il faut configurer le start, party, stop bit pour la communication (toujours XBee/arduino)

J'ai eu pas mal d'information sur ce site http://jeromeabel.net/ressources/xbee-arduino qui explique presque ce que je veux faire. J'ai suivi à la lettre mais rien ne marche.

J'ai vraiment besoin de votre aide !

Je vous remercie d'avance

Mon  mail : lakare.ac@gmail.com pour ceux qui veulent m'envoyer directement des documents ou programme pour que je teste

J-M-L

il nous faut des dessins de ce que vous avez connecté d'un point de vue hardware, éventuellement une photo pour qu'on voit bien les connexions, puis du code qui compile mais qui ne fait pas ce que vous voulez.... ensuite on pourra vous aider sans doute...

quel type d'Xbee vous avez est aussi important.. (XBee Series 1 (XBee 802.15.4), XBee Znet 2.5 (Series 2 ils ne se font plus), ZB, 2B, ...) ils ne se configurent pas de la même façon..
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

lakare_AC

Bonjour J-M-L,

Je vous remercie pour votre réponse, j'avais eu un problème perso, la raison pour laquelle j'ai pas pu vous répondre à temps.

Ci dessous, le premier montage que j'ai réaliser (la partie fonctionne sans problème) et le deuxième montage montage (avec la deuxième carte arduino, recepteur) ne fonctionne pas.

Code émetteur(Coordinateur) :
Code: [Select]

//#include <SoftwareSerial.h> 
//int lampePin = 9;
int Rc = A0;
float niveauLumiere;

void setup() {
  Serial.begin(9600);
 // pinMode(lampePin, OUTPUT);

  Serial.print("+++");
  Serial.print("ATDH0\r");
  Serial.print("ATDL10\r");
  Serial.print("ATMYFFFF\r");
  Serial.print("ATID1212\r");
  Serial.print("ATCN\r");
  
}
void loop() {
niveauLumiere = analogRead(Rc);
niveauLumiere = map(niveauLumiere, 0, 1023, 0, 255);
//delayMicroseconds(400);
//Serial.print("premier test\n");
//Serial.print(\'n');
Serial.print(niveauLumiere);
Serial.print('\n');

}



Code récepteur (End Device) :

Code: [Select]


#include <SoftwareSerial.h>
int txPin = 3;
int rxPin =2;
SoftwareSerial myXBee = SoftwareSerial(rxPin, txPin);

//float niveauLumiere;
//
void setup() {
  Serial.begin(9600);
  myXBee.begin(9600);
  
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);

  Serial.print("+++");
  Serial.print("ATDH0\r");
  Serial.print("ATDLFFFF\r");
  Serial.print("ATMY10\r");
  Serial.print("ATID1212\r");
  Serial.print("ATCN\r");
}

void loop()
{
  if (Serial.available())
  { // If data comes in from serial monitor, send it out to XBee
    myXBee.write(Serial.read());
  }
  if (myXBee.available())
  { // If data comes in from XBee, send it out to serial monitor
   Serial.println(Serial.write(myXBee.read()));
  }
}


J-M-L

juste par acquis de conscience je n'utiliserai pas les pin 2 et 3 qui correspondent aux interruptions et peuvent être impactées par des timers mal programmés dans des libs

vous êtes sur quel type d'arduino? Software Serial ne fonctionne pas sur toutes les pins - cf la doc


quand vous écrivez SoftwareSerial myXBee = SoftwareSerial(rxPin, txPin); assurez vous bien que rapin c'est celle côté arduino donc bien connectée à Tx de l'autre côté
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

lakare_AC

Bonjour,

J'utilise Arduino UNO.

J'ai bien connecté les pins 2 et 3 à Rx et Tx du module XBee.

pour la carte arduino UNO (c'est le pin 0 et 1 ) qui sont respectivement connecté Rx et Tx mais je pensais que avec la bibliothèque SoftwareSerial, je peux utiliser n'importe quelle pin.

Que pensez vous du code recepteur et émetteur .?

Merci pour votre réponse,

J-M-L

Bonjour,

J'utilise Arduino UNO.

J'ai bien connecté les pins 2 et 3 à Rx et Tx du module XBee.
Essayez d'autres pins que celle liées aux interruptions.

Juste pour éviter des soucis de timing je séparerai ça en 3 parties

   Serial.println(Serial.write(myXBee.read()));

Le read, le write, le print
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

lakare_AC

Ok pas de problème,

Je vous tiendrai informer de la suite,

Merci

Go Up