IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

NRF24L01 : Pas de message reçu


Sujet :

Arduino

  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut NRF24L01 : Pas de message reçu
    Bonjour à Tous ,

    J'ai souhaitais tester une liaison avec le NRF24L01
    Emetteur : NANO + NRF24L01
    Récepteur : WEMOS + NRF24L01

    Pour ce faire je me suis inspiré d'un exemple

    EMETTEUR
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    #include <SPI.h>
    #include <RF24.h>
     
    #define pinCE   7             // On associe la broche "CE" du NRF24L01 à la sortie digitale D7 de l'arduino
    #define pinCSN  8             // On associe la broche "CSN" du NRF24L01 à la sortie digitale D8 de l'arduino
    #define tunnel  "PIPE1"       // On définit un "nom de tunnel" (5 caractères), pour pouvoir communiquer d'un NRF24 à l'autre
     
    RF24 radio(pinCE, pinCSN);    // Instanciation du NRF24L01
     
    const byte adresse[6] = tunnel;               // Mise au format "byte array" du nom du tunnel
    const char message[] = "Hello World!!!";     // Message à transmettre à l'autre NRF24 (32 caractères maxi, avec cette librairie)
     
    void setup() {
      radio.begin();                      // Initialisation du module NRF24
      radio.openWritingPipe(adresse);     // Ouverture du tunnel en ÉCRITURE, avec le "nom" qu'on lui a donné
      radio.setPALevel(RF24_PA_MIN);      // Sélection d'un niveau "MINIMAL" pour communiquer (pas besoin d'une forte puissance, pour nos essais)
      radio.stopListening();              // Arrêt de l'écoute du NRF24 (signifiant qu'on va émettre, et non recevoir, ici)
    }
     
    void loop() {
      radio.write(&message, sizeof(message));     // Envoi de notre message
      delay(1000);                                // … toutes les secondes !
    }

    RECEPTEUR

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    //**********************************
    // RECEPTEUR WEMOS + NFR24L01
    //**********************************
     
    #include <SPI.h>
    #include <RF24.h>
     
    #define pinCE   2            // On associe la broche "CE" du NRF24L01 à la sortie digitale GPIO2 D4 de l'arduino
    #define pinCSN  15             // On associe la broche "CSN" du NRF24L01 à la sortie digitale GPIO15 D8 de l'arduino
    #define tunnel  "PIPE1"       // On définit le "nom de tunnel" (5 caractères) à travers lequel on va recevoir les données de l'émetteur
     
    RF24 radio(pinCE, pinCSN);    // Instanciation du NRF24L01
     
    const byte adresse[6] = tunnel;       // Mise au format "byte array" du nom du tunnel
    char message[32];                     // Avec cette librairie, on est "limité" à 32 caractères par message
     
    void setup() {
      // Initialisation du port série (pour afficher les infos reçues, sur le "Moniteur Série" de l'IDE Arduino)
      Serial.begin(9600);
      Serial.println("Récepteur NRF24L01");
      Serial.println("");
     
      // Partie NRF24
      radio.begin();                      // Initialisation du module NRF24
      radio.openReadingPipe(0, adresse);  // Ouverture du tunnel en LECTURE, avec le "nom" qu'on lui a donné
      radio.setPALevel(RF24_PA_MIN);      // Sélection d'un niveau "MINIMAL" pour communiquer (pas besoin d'une forte puissance, pour nos essais)
      radio.startListening();             // Démarrage de l'écoute du NRF24 (signifiant qu'on va recevoir, et non émettre quoi que ce soit, ici)
    }
     
    void loop() {
      // On vérifie à chaque boucle si un message est arrivé
      if (radio.available()) {
        radio.read(&message, sizeof(message));                        // Si un message vient d'arriver, on le charge dans la variable "message"
        Serial.print("Message reçu : ");
        Serial.println(message);     // … et on l'affiche sur le port série !
        delay (5000);
      }
    }
    J'obtiens ceci sans le contenu du message
    Mais je n'arrive pas à trouver mon erreur
    Images attachées Images attachées  

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    la majorité des soucis avec des RF24 proviennent généralement du montage et de l'alimentation
    testez votre circuit avec un code réputé fonctionnel. Tant que ça ne fonctionne pas, c'est qu'il faut explorer la partie hardware (vous mentionnez par exemple un WEMOS, c'est du 3.3V - est-ce que vous avez adapté la tension de votre NRF24L01?)

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    Bonjour Jay M
    c'est du 3.3V - est-ce que vous avez adapté la tension de votre NRF24L01?
    J'utilise des adaptateurs pour l’Émetteur comme pour le Récepteur
    En ce qui concerne l’Émetteur, l'envoi semble correct '
    j'obtiens bien le message "Hello World!!! ( j'ai rajouté cela)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Serial.print("Message envoyé : ");
      Serial.println(message);     // … et on l'affiche sur le port série !
      delay(1000);                                // … toutes les secondes !
    par contre pour le récepteur
    je n’obtiens rien d'autre que : "Message reçu : " ce qui prouve qu'il a rçu quelque chose , le canal n'est peut-être pas le bon


    J'ai vérifié les raccordements et aussi retiré l'adaptateur du récepteur pour voir si le pb venait de là ( en alimentant le module en 3.3v)
    j'en suis là ....

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    trouvez un tuto avec un petit code d'exemple et validez votre montage avec leur code

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    Justement pour m'affranchir de mon propre programme
    Ce que j'ai mis en exemple vient d'un tuto
    https://passionelectronique.fr/tutorial-nrf24l01/

  6. #6
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    vous avez exactement le même hardware?

  7. #7
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    En Récepteur , j'ai un ESP8266 Wemos D1 Mini
    En Emetteur un Nano

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    la wemos parle en 3.3V.
    avez vous un lien sur votre adaptateur ? (celui du tuto c'est pour connecter généralement vers un module et alim 5V)

  9. #9
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    la wemos parle en 3.3V.
    avez vous un lien sur votre adaptateur ? (celui du tuto c'est pour connecter généralement vers un module et alim 5V)
    J'alimente l'adaptateur du NRF24L01 via le 5v du Wemos , celui étant alimenté avec l'USB

  10. #10
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    Citation Envoyé par cobra38 Voir le message
    J'alimente l'adaptateur du NRF24L01 via le 5v du Wemos , celui étant alimenté avec l'USB
    OK pour l'alim en 5V de l'adaptateur, mais vos GPIO "causent en 3.3V" alors que ce module attend des communications en 5V aussi

  11. #11
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    j'ai fait l'essai sans adaptateur comme préconisé ici
    https://electroniqueamateur.blogspot...ec-cartes.html
    mais j'ai le même résultat

    par contre je ne comprends pas pourquoi les pins
    ne sont pas identifiées dans le programme seuls CE et CSN sont requises par RF24

    CSN du nRF24L01 - GPIO5 (D1) de l'ESP8266
    SCK du nRF24L01 - GPIO14 (D5) de l'ESP8266
    MOSI du nRF24L01 - GPIO13 (D7) de l'ESP8266
    MISO du nRF24L01 - GPIO12 (D6) de l'ESP8266

  12. #12
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    Citation Envoyé par cobra38 Voir le message
    par contre je ne comprends pas pourquoi les pins ne sont pas identifiées dans le programme seuls CE et CSN sont requises par RF24
    la bibliothèque dépend de l'implémentation du SPI qui connait les pins MISO et MOSI (définie en hardware ou pour la plateforme cible choisie à la compilation )


    ---
    le problème en branchant directement l'alim à 3.3V est la capacité à fournir le burst de courant nécessaire. ça peut marcher comme ça peut "merdouiller". La NRF24L01 est assez sensible à son alimentation

  13. #13
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    j'ai fait une autre a^pproche
    j'ai raccordé le Récepteur NRF24L01 avec un Nano ( tout en permutant les modules )
    suivant le prog suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    //**********************************
    // RECEPTEUR NANO + NFR24L01
    //**********************************
     
    #include <SPI.h>
    #include <RF24.h>
     
    #define pinCE   7            // On associe la broche "CE" du NRF24L01 à la sortie digitale GPIO2 D4 de l'arduino
    #define pinCSN  8             // On associe la broche "CSN" du NRF24L01 à la sortie digitale GPIO15 D8 de l'arduino
    #define tunnel  "PIPE1"       // On définit le "nom de tunnel" (5 caractères) à travers lequel on va recevoir les données de l'émetteur
     
    RF24 radio(pinCE, pinCSN);    // Instanciation du NRF24L01
     
    const byte adresse[6] = tunnel;       // Mise au format "byte array" du nom du tunnel
    char Rmessage[32];                     // Avec cette librairie, on est "limité" à 32 caractères par message
     
    void setup() {
      // Initialisation du port série (pour afficher les infos reçues, sur le "Moniteur Série" de l'IDE Arduino)
      Serial.begin(9600);
      // Partie NRF24
      radio.begin(); // Initialisation du module NRF24
      radio.setDataRate(RF24_250KBPS);  // en remplaçant « xxx » par RF24_250KBPS, RF24_1MBPS, ou encore, RF24_2MBPS
      radio.openReadingPipe(0,adresse);  // Ouverture du tunnel en LECTURE, avec le "nom" qu'on lui a donné
      radio.setPALevel(RF24_PA_MIN);      // Sélection d'un niveau "MINIMAL" pour communiquer (pas besoin d'une forte puissance, pour nos essais)
      radio.startListening();             // Démarrage de l'écoute du NRF24 (signifiant qu'on va recevoir, et non émettre quoi que ce soit, ici)
      Serial.println("Récepteur NRF24L01");
      Serial.println("");
      delay(100);
    }
     
    void loop() {
      if (radio.available()) {
        radio.read(&Rmessage,sizeof(Rmessage)); // Si un message vient d'arriver, on le charge dans la variable "message"
        Serial.print("reçu: ");
        Serial.println(Rmessage);     // … et on l'affiche sur le port série !
        delay (1000);
      }
    }
    J'ai le même problème
    je ne pige pas .....
    Images attachées Images attachées  

  14. #14
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    le Wemos n'est plus utilisé ?

  15. #15
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    Non , je suis passé au Nano pour essayer
    mais j'ai le même problème que je situe au niveau
    du traitement de la variable "message"

    mais j'avoue ne plus rien comprendre

  16. #16
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    donc vous avez bien 2 Arduino Nano 5V + adaptateur 5V + NRF24L01 et c'est branché correctement ?

    photo du montage?

  17. #17
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    Voici Jay M:
    (merci encore)

    Emetteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    #include "SPI.h"
    #include "nRF24L01.h"
    #include "RF24.h"
     
    #define pinCE   7             // On associe la broche "CE" du NRF24L01 à la sortie digitale D7 de l'arduino
    #define pinCSN  8             // On associe la broche "CSN" du NRF24L01 à la sortie digitale D8 de l'arduino
    #define tunnel  "1Node"       // On définit un "nom de tunnel" (5 caractères), pour pouvoir communiquer d'un NRF24 à l'autre
     
    RF24 radio(pinCE, pinCSN);    // Instanciation du NRF24L01
     
    const byte adresse[6] = tunnel;               // Mise au format "byte array" du nom du tunnel
    const char message[] = "Hello World!!!";     // Message à transmettre à l'autre NRF24 (32 caractères maxi, avec cette librairie)
     
    void setup() {
      Serial.begin(9600);
      Serial.println("Emetteur NRF24L01");
      Serial.println("");
      radio.begin();                      // Initialisation du module NRF24
      radio.openWritingPipe(adresse);     // Ouverture du tunnel en ÉCRITURE, avec le "nom" qu'on lui a donné
      radio.setDataRate(RF24_250KBPS);  // en remplaçant « xxx » par RF24_250KBPS, RF24_1MBPS, ou encore, RF24_2MBPS
      radio.setPALevel(RF24_PA_MIN);      // Sélection d'un niveau "MINIMAL" pour communiquer (pas besoin d'une forte puissance, pour nos essais)
      radio.stopListening();              // Arrêt de l'écoute du NRF24 (signifiant qu'on va émettre, et non recevoir, ici)
    }
     
    void loop() {
      radio.write(&message,sizeof(message)); // Envoi de notre message
      Serial.print("Message envoyé : ");
      Serial.println(message);     // … et on l'affiche sur le port série !
      delay(1000);                                // … toutes les secondes !
    }
    RECEPTEUR

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    //**********************************
    // RECEPTEUR NANO + NFR24L01
    //**********************************
     
    #include <SPI.h>
    #include <RF24.h>
     
    #define pinCE   7            // On associe la broche "CE" du NRF24L01 à la sortie digitale GPIO2 D4 de l'arduino
    #define pinCSN  8             // On associe la broche "CSN" du NRF24L01 à la sortie digitale GPIO15 D8 de l'arduino
    #define tunnel  "1Node"       // On définit le "nom de tunnel" (5 caractères) à travers lequel on va recevoir les données de l'émetteur
     
    RF24 radio(pinCE, pinCSN);    // Instanciation du NRF24L01
     
    const byte adresse[6] = tunnel;       // Mise au format "byte array" du nom du tunnel
    const char message[]="";                   // Avec cette librairie, on est "limité" à 32 caractères par message
     
    void setup() {
      // Initialisation du port série (pour afficher les infos reçues, sur le "Moniteur Série" de l'IDE Arduino)
      Serial.begin(9600);
     
      // Partie NRF24
      radio.begin(); // Initialisation du module NRF24
      radio.setDataRate(RF24_250KBPS);  // en remplaçant « xxx » par RF24_250KBPS, RF24_1MBPS, ou encore, RF24_2MBPS
      radio.openReadingPipe(0,adresse);  // Ouverture du tunnel en LECTURE, avec le "nom" qu'on lui a donné
      delay(500); 
      radio.setPALevel(RF24_PA_MIN);      // Sélection d'un niveau "MINIMAL" pour communiquer (pas besoin d'une forte puissance, pour nos essais)
      radio.startListening();             // Démarrage de l'écoute du NRF24 (signifiant qu'on va recevoir, et non émettre quoi que ce soit, ici)
      Serial.println("Récepteur NRF24L01");
      Serial.println("");
     
      delay(100);
    }
     
    void loop() {
      if (radio.available()) {
        radio.read(&message,sizeof(message)); // Si un message vient d'arriver, on le charge dans la variable "message"
        Serial.print("reçu: ");
        Serial.println(message);     // … et on l'affiche sur le port série !
        delay (5000);
      }
    }
    Images attachées Images attachées    

  18. #18
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    côté récepteur vous n'avez quasiment pas de mémoire allouée pour le message (juste 1 octet) et vous dites en plus que le texte n'est pas modifiable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const char message[]="";                   // Avec cette librairie, on est "limité" à 32 caractères par message
    donc quand vous faites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        radio.read(&message,sizeof(message)); // Si un message vient d'arriver, on le charge dans la variable "message"
    vous dites que votre buffer fait 1 octet

    ==>essayez avec


  19. #19
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    925
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 925
    Par défaut
    désolé , c'est idem
    - j'avais déjà essayé avec 32 mais sans résultat
    - j'ai aussi permuté les modules pour m'affranchir d'un défaut

    je mets à toute fin utile le message à la compilation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    D:\5- ELECTRONIQUE\Station Meteo\TEST\NRF24L01\R\R.ino: In function 'void loop()':
    D:\5- ELECTRONIQUE\Station Meteo\TEST\NRF24L01\R\R.ino:36:16: warning: invalid conversion from 'const void*' to 'void*' [-fpermissive]
         radio.read(&message,sizeof(message)); // Si un message vient d'arriver, on le charge dans la variable "message"
                    ^~~~~~~~
    In file included from D:\5- ELECTRONIQUE\Station Meteo\TEST\NRF24L01\R\R.ino:6:0:
    C:\Users\Utilisateur\Documents\Arduino\libraries\RF24/RF24.h:430:10: note:   initializing argument 1 of 'void RF24::read(void*, uint8_t)'
         void read(void* buf, uint8_t len);
              ^~~~
    Le croquis utilise 3324 octets (10%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.
    Les variables globales utilisent 286 octets (13%) de mémoire dynamique, ce qui laisse 1762 octets pour les variables locales. Le maximum est de 2048 octets.

  20. #20
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    essayez avec ces code

    EMETTEUR
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    // EMETTEUR
    #include <RF24.h>
     
    const byte CEPin = 8;
    const byte CSNPin = 7;
    RF24 radio(CEPin, CSNPin);
     
    uint8_t adresse[] = {0xCC, 0xCE, 0xCC, 0xCE, 0xCC};
     
    struct __attribute__ ((packed)) t_message {
      char payload[30];
    } message;
     
    void setup() {
      Serial.begin(115200);
     
      if (!radio.begin()) {
        Serial.println(F("erreur !!"));
        while (true) ; 
      }
     
      radio.setPALevel(RF24_PA_LOW);
      radio.setPayloadSize(sizeof(t_message));
      radio.openWritingPipe(adresse);
      radio.stopListening();
     
      strcpy(message.payload, "Hello, world");
      Serial.println(F("PRET"));
    }
     
    void loop() {
      if (!radio.write( &message, sizeof(t_message) ))
        Serial.println(F("erreur d'envoi"));
      else
        Serial.print(message.payload);
     
      delay(1000);
    }

    RECEPTEUR
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    // RECEPTEUR
    #include <RF24.h>
     
    const byte CEPin = 8;
    const byte CSNPin = 7;
    RF24 radio(CEPin, CSNPin);
     
    uint8_t adresse[] = {0xCC, 0xCE, 0xCC, 0xCE, 0xCC};
     
    struct __attribute__ ((packed)) t_message {
      char payload[30];
    } message;
     
    void setup() {
      Serial.begin(115200);
     
      if (!radio.begin()) {
        Serial.println(F("erreur !!"));
        while (true) ;
      }
     
      radio.setPALevel(RF24_PA_LOW);
      radio.setPayloadSize(sizeof(t_message));
      radio.openReadingPipe(1, adresse);
      radio.startListening();
      Serial.println(F("PRET"));
    }
     
    void loop() {
      if (radio.available()) {
        radio.read( &message, sizeof(t_message));
        Serial.print("Message = "); Serial.println(message.payload);
      }
    }

Discussions similaires

  1. [FTP] Warning avec ftp_get, mais pas de message d'erreur
    Par NomUtilisateurDejaPris dans le forum Langage
    Réponses: 2
    Dernier message: 22/02/2006, 18h12
  2. Réponses: 10
    Dernier message: 13/02/2006, 08h30
  3. [EJB] [JBoss] EJB ne se déploie pas - pas de message d'erreur
    Par Sapience dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 10/01/2006, 16h41
  4. [Connexion] pas de message d'erreur
    Par kase74 dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 22/04/2005, 10h35
  5. déclencheurs qui ne se lancent pas - pb messages
    Par marie253 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/08/2004, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo