Striker:
Sur le module 2 j'essaye de voir sur le terminal ce que reçoit le Xbee
Sur le module 1 je vois bien les même valeurs que sur le LCD avec le terminal
Quand tu parles de terminal tu parle bien du moniteur serie de l'ide arduino ?
Parce que soit tu utilise le porte serie pour la communication entre tes deux arduino via xbee, soit tu affiche une valeur dans le moniteur serie de l'ide mais pas faire les deux en même temps (des valeurs peuvent s'afficher sur le terminal mais globalement on utilise pas un même port serie pour 2 choses différentes).
Edit:
http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Serial
La librairie Serial est utilisée pour les communications par le port série entre la carte Arduino et un ordinateur ou d'autres composants
.
Le "ou d'autres" peut être ton module xbee, mais le "ou" signifie l'un ou l'autre mais pas les deux.
Il te faudrait une autre méthode pour vérifier les valeurs ressuent sur l'arduino récepteur.
void loop()
{
if(Serial.available() > 0)
{
tableau[0] = Serial.read() ;
tableau[1] = Serial.read() ;
Serial.println(tableau[0]) ; //là tu renvoies les données à ton premier arduino emeteur via xbee
Serial.println(tableau[1]) ;
delay(750);
}
}
Les pin0(rx) et pin1(tx) sont ceux qui serve à la liaison serie entre tes deux arduino via port serie, mais c'est également ceux ci qui servent à la programmation et à la communication du "terminal" "moniteur" serie de l'ide arduino via ton usb.
Donc,
ici rien ne change sauf "Serial.write(tableau[0]) ;" au lieu de "Serial.println(tableau[0]) ;"
//Librairie
#include <LiquidCrystal.h>
//Config LCD
LiquidCrystal lcd( 12, 11, 5, 4, 3, 2) ;
//Tableau
byte tableau[2] = {0} ;
void setup(){
Serial.begin(9600) ;
lcd.begin(16, 2) ;
lcd.print("Atom by STX") ;
}
void loop(){
tableau[0] = analogRead(A0) ;
tableau[1] = analogRead(A1) ;
Serial.write(75) ; //envoie donnés port Serie (valeur arbitraire pour tester)
Serial.write(64) ;
lcd.setCursor(0,1) ; //affichage LCD
lcd.print(" ") ;
lcd.setCursor(0,1) ;
lcd.print("X= ") ;
lcd.print(tableau[0]) ;
lcd.setCursor(7,1) ;
lcd.print("Y= ") ;
lcd.print(tableau[1]) ;
delay(750) ;
}
byte tableau[2] = {0} ;
void setup()
{
Serial.begin(9600) ;
pinMode(13, OUTPUT);
}
void loop()
{
if(Serial.available() > 0)
{
tableau[0] = Serial.read() ;
tableau[1] = Serial.read() ;
//trouver une autre méthode de contrôle des valeurs ressuent ?
if(tableau[0] == 75 && tableau[1] == 64) //valeur arbitraire pour tester
{
digitalWrite(13, HIGH); on allume la diode inclus dans ton arduino correspondant à la pin13
}
delay(750);
}
}
peut être plutôt utilisé le deuxième en envois et contrôler sur le lcd les valeurs ressuent (juste le temps des testes).