Pages: [1]   Go Down
Author Topic: Arduino et un xbee  (Read 1216 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Alors voila je vous expose mon problème, alors je réalise un robot. Et donc j'utilise un Xbee qui ce trouve sur le robot et qui m'envoi des grandeur physique tel que le courant...  Et donc voila avec le Xbee sur le robot qui envoi donc une chaîne d'information que j'ai prédéfini qui est "XBAIEAOPAKDNEA" donc chaque combinaison de 2 caractères correspond a une information bien précise. Alors quand je reçoit cette chaine d'information grâce au second Xbee,qui est sur un Arduino, mais je reçois cette chaîne d'information en entière et j'aimerai donc savoir comment je pourrais découpé cette chaîne de tel façon a ce que il me stocke les 2 premier caractère comme étant la tension, puis les 2 suivant comment étant par exemple une distance
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,
bon, je ne suis pas expert mais je te donne ça :
Code:
char Str[ ] = "arduino";

void setup() {
  Serial.begin(9600);
}

void loop() {
for(int i; i<7; i++){
  char lettre1 = Str[i];
  char lettre2 = Str[i+1];
  if (lettre1 == 'a' && lettre2 == 'r') {
   
    Serial.print("c'est ce que je cherche !!!");
}
}
 
}

bonne chance
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3656
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sauf qu'ici il faudra i+=2 au lieu de i++ smiley-wink
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oui voila  smiley-grin
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je vous remercie pour vos réponse mais serait t-il possible d'avoir des commentaire pour expliqué le programme car je n'arrive pas a comprendre le programme dans les détail...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
char Str[ ] = "arduino"; // je crée une chaine de caractères, mais toi elle est deja crée ,c'est "XBAIEAOPAKDNEA", ce que tu reçois

void setup() {
  Serial.begin(9600);
}

void loop() {
for(int i; i<7; i++){ // pour i allant de 0 à 7 (la longueur de la chaine, toi c'est :   "XBAIEAOPAKDNEA" : 14
  char lettre1 = Str[i]; // création d'une variable qui sera la lettre de la chaine  "XBAIEAOPAKDNEA", numéro i. ex: si i=0, lettre1 = 'X'
  char lettre2 = Str[i+1]; // la tu récupère la lettre suivante
  if (lettre1 == 'a' && lettre2 == 'r') {   //tu regarde si c'est la bonne combinaison
   
    Serial.print("c'est ce que je cherche !!!");
}
}
 
}

Mais je pense que y a une manière pour fusionner lettre1 et lettre2, mais je ne la connais pas
essaye ça : http://answers.yahoo.com/question/index?qid=20090210122120AAGTPsY
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je te remercie pour la réponse. Je me demandé, en modifiant le programme, afin que par exemple qu'il prend les 2 premiere valeur et qu'il me l'affiche dans le moniteur serie comment etant par exemple la tension ?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu peux reformuler la question, j'ai pas bien compris
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon, après une longue réflexion j'ai trouvé la solution. J'espère que ça résout ton problème.  smiley-twist

Code:
String recu = "XBAIEAOPAKDNEA";

void setup() {
  Serial.begin(9600);
 
}

void loop() {

  for(int i=0; i<14; i++){
   
    char lettre1,lettre2,message[1];  //creation de variable char
    lettre1 = recu[i]; // la premiere lettre du recu
    lettre2 = recu[i+1]; // la deuxieme lettre du recu
    message[0] = lettre1;  //lettre1 prend la 1ere position dans la variable message
    message[1] = lettre2; //lettre2 prend la 2eme position dans la variable message
    Serial.print(message);
    Serial.println();}
}
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alors voila imaginons je reçois les 2 premiers caractère moi je voudrai qu'il identifie les 2 premiers caractères comment étant la tension et que dans le moniteur serie de l'arduino je veux qu'il m'affiche par exemple tension  = les 2 premiers caractères

Je ne sais pas si c'est claire pour vous....
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ben il faut juste ajouter :
Code:
for(...
    ...
    message[1] = lettre2;
    if(i==1) {
    Serial.print("Tension = ");
    Serial.print(message);
    Serial.println();}}
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je te remercie pour tes réponse rapide. Je vais tester le programme mais je pense qu'avec les modification que j'ai apporté cela va marche je te remercie infiniment
Logged

Pages: [1]   Go Up
Jump to: