De la connection radio HF et des problemes du C


salutations du jour !

je m'escrime sur mes très vieux souvenir de programmation en c pour arriver à faire communiquer sans fils 2 arduino nano avec des modules radio hf et je sèche sur la récupération du message radio dans mon programme.

j'ai besoin de récupérer ce message radio sous forme de chaine de caractère entre a0 et z9 pour commander ensuite des animations de led.

ainsi je pourrais tester la commande radio et envoyer les animations correspondantes.

code émétteur :

code: [select]

void loop()       
{
  serial.println("envoit de code au server : 1");
  // send message nrf24_server
  uint8_t data[] = "a1";                          // "data" est la variable qui recoit le message transmettre.
  nrf24.send(data, sizeof(data));                 // envoi du message transmettre
  nrf24.waitpacketsent();                         // attendre que le message soit envoyer
}



pour l'émetteur tout va bien, je pourrais donner des conditions tranquillement avec des boutons etc.

le récepteur me pose problème :

code: [select]


void loop()
{
  if (nrf24.available())                    // verifie si la radio est utilisable
  {
    // should message now   
    uint8_t buf[rh_nrf24_max_message_len];  // declare la variable "buf" en lui donnant la taille maximum
    uint8_t len = sizeof(buf);              // declare la variable "len" en lui donnant la taille de "buf"

   
    if (nrf24.recv(buf, &len))              // teste si un message est arrivé
    {
      //      nrf24::printbuffer("request: ", buf, len);
      serial.println("reception de commande radio : ");
      serial.println((char*)buf);
      code_radio1 = (char*)buf ;
      serial.println(code_radio1);
       
      if((char*)buf!="a1")
      {serial.print("code radio 1:   ");
      serial.println("argh");
      }
     
     
      //code_radio1 = (char*)buf ;
      //serial.print("code radio 1:   ");
      //serial.println(code_radio1);

      //nrf24.send(code_radio1, sizeof(code_radio1));            // envoyer data par radio
      //nrf24.waitpacketsent();                                  // attendre que le message soit envoyer
     
      // send reply
      uint8_t data[] = "and hello you";  // declara "data" et lui fait prendre le message de retour
      nrf24.send(data, sizeof(data));            // envoyer data par radio
      nrf24.waitpacketsent();                    // attendre que le message soit envoyer
      //serial.println("sent reply");
    }
    else                                    //sinon aucun message n'a été reçu
    {
      serial.println("recv failed");
    }
  }
}



là je sèche sur les natures des variables : je voudrais pouvoir tester la variable "buf"
du genre : si buf=="a0" alors je fait xxx

donc si vous aviez la bonté d'aider un pauvre gniste qui bricole ses costumes cela serait grandement apprécié !!

jetez un œil sur mon tuto éventuellement exemple de communication sans fil nrf24l01+ ça pourrait vous donner des idées ?


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > De la connection radio HF et des problemes du C


arduino

Comments

Popular posts from this blog

Error compiling for board Arduino/Genuino Uno.

Installation database is corrupt

esp8266 (nodemcu 0.9) client.write très lent ???