Bonjour,
Je suis actuellement en terminal STI2D dans laquelle on doit faire un projet durant l'année. Mon projet consiste à faire un chariot capable de suivre le propriétaire. J'ai voulu réaliser cela à l'aide de trois XBEE dont 1 émetteur et 2 récepteurs qui mesureront la distance grâce à la force de signal reçu. Pour finaliser mon projet il ne me manque plus "que" la commande pour avoir le RSSI (Received Signal Strength Indication) et j'en ai essayé pas mal, sans aucun succès. Mes XBee communiquent bien entre elles (j'ai essayé avec un potentiomètre et le moteur roulait quand bon me le semblait).
Je vous montre le codage que j'ai réalisé pour tester :
Émetteur:
int pin = 6;
unsigned long duration;
#include <SoftwareSerial.h>
SoftwareSerial xbee(2,3);
void setup() {
Serial.begin(57600);
xbee.begin(57600);
pinMode(pin, INPUT);
}
void loop() {
duration = pulseIn(pin, HIGH, 200);
Serial.println(duration);
xbee.write(duration);
delay(500);
}
Récepteur:
#include <SoftwareSerial.h>
SoftwareSerial xbee(2,3);
int val;
void setup() {
Serial.begin(57600);
xbee.begin(57600);
pinMode(9,OUTPUT);
}
void loop() {
if(xbee.available()>0)
{
val = xbee.read();
Serial.println(val);
analogWrite(9,val);
}
}
Cela me permet d'obtenir la valeur "11" quand la led RSSI est allumée, mais elle est constante et ne varie pas quand j'augmente la distance entre mes XBee
Peut-être que le problème ne vient pas du code mais de la configuration des XBee? (que je réalise à l'aide du logiciel XCTU)
Merci d'avance pour votre aide !