Bonjour,
j'aimerai envoyer deux float via un module XBEE pro et le récupérer ensuite.
J'essaye de concaténer les float mais sans succès.
Une personne aurait une idée svp ?
Bonjour,
j'aimerai envoyer deux float via un module XBEE pro et le récupérer ensuite.
J'essaye de concaténer les float mais sans succès.
Une personne aurait une idée svp ?
Salut
Tu peux simplement les transmettre avec un print, avec des séparateurs :
float v1 = 100;
float v2 = 100;
Serial.print("valeur1=");
Serial.print(v1);
Serial.print(";valeur2=");
Serial.print(v2);
Le récepteur recevra :
valeur1=100.00;valeur2=100.00
Un peu comme une chaîne CGI.
Ensuite, le récepteur lit la chaîne et l'interprète.
strtok() peut être très utile.
Merci pour ta réponse, je vais essayer
Bon je n'ai plus rien sur la sortie. Je vous mets mon code si une personne à une idée svp
Code émetteur:
#include <SoftwareSerial.h>
#include <XBee.h>
SoftwareSerial xbee(3,4); //RX-TX
void setup() {
Serial.begin(9600); //liaison série avec le PC
xbee.begin(9600); //liaison série avec le XBEE
}
void loop()
{
while(1)
{
Serial.println("test");
xbee.println("Testing XBEE ");
}
}
et mon code récepteur:
#include <SoftwareSerial.h>
#include <XBee.h>
void setup() {
Serial.begin(9600);
Serial3.begin(9600);
}
void loop() {
char a;
a= Serial3.read();
Serial.println(a);
}
J'ai configuré mes deux xbee en 9600Bds avec XCTU.
Mon récepteur est un ATMEGA d'où le Serial3.
Tu utilises Serial et xbee en même temps, sur la même ligne série donc. Pas possible.
Soit tu utilises 2 MEGA soit tu utilises SoftwareSerial sur ta UNO ou NANO etc.
Voici un lien.
Merci pour tes réponses mais j'ai l'impression que c'est de pire en pire et que je n'y comprends plus rien.
Je vous explique ma config si jamais une personne a une info, je suis preneur.
J'ai configurer mes deux xbee avec le logiciel X-CTU avec le lien suivant :
Sauf la dernière étape qui consiste à vérifier leur dialogue car je n'ai qu'une seule platine de configuration.
Je les ai configuré en 9600bds.
J'ai ensuite branché mon Xbee Coordinator sur un arduino UNO alimenté par une batterie 9V.
Le DOUT est branché sur la pin RX, et DIN sur la pin TX (j'ai également essayé sur pin 2-3 sans succès).
Mon Xbee-pro est branché sur une antenne avec lien suivant:
https://www.reichelt.com/fr/fr/Antennes-WLAN-c-bles/DELOCK-88458/3/index.html?ACTION=3&LA=446&ARTICLE=133375&GROUPID=5841&artnr=DELOCK+88458&SEARCH=fiche%2BRP-SMA%2B100mm
En face j'ai une arduino Mega avec le DOUT branché sur RX3 et DIN sur TX3.
Je les ai alimenté en 3.3V.
Code émetteur:
#include <SoftwareSerial.h>
void setup() {
Serial.begin(9600); //liaison série avec le XBEE
}
void loop()
{
Serial.println("Hello world");
delay(5000);
}
Code récepteur:
#include <SoftwareSerial.h>
void setup() {
Serial.begin(9600);
Serial3.begin(9600);
}
void loop() {
if(Serial3.available()>0)
{
Serial.write(Serial3.read());
}
}
Qu'alimentes-tu en 3.3V ? La Uno et la Mega ?
Si oui, impossible. 5V sont requis sur la broche 5V. Ou 9V sur le jack.
La sortie 3.3V est utilisée pour alimenter des cartes externes fonctionnant sous cette tension.
Dans un premier temps, pour le développement alimente simplement par l'USB, sans alimentation externe.
@+
J'alimente le Uno en 9V via la batterie , le Mega avec l'USB et les XBEE en 3,3V via les arduino
Je suppose que la UNO est émetteur puisque tu inclus SoftwareSerial.h, que tu n'utilises pas d'ailleurs.
L'émetteur semble écrire sur la ligne série.
La MEGA est censée afficher ce qu'elle reçoit sur le terminal.
A part un défaut de branchement, je ne vois pas ce qui pourrait clocher.
Bonjour,
Les modules XBee consomment environ 200mA. Les cartes uno ou mega peuvent délivrer environ 50mA sur le 3.3V.
Il faut une alim 3.3V plus costaud pour alimenter les modules XBee.
C'est bon ça fonctionne , j'ai réinitialisé les paramètres dans x-ctu et rebranché.
En revanche tu me fais peur avec la conso