Module NRF24L01 avec Arduino / Ce qu'il faut savoir / Code partie 1

Code partie 1


1. Instanciation de la bibliothèque

Pour la programmation Arduino plusieurs choix s’offre à nous. Plusieurs bibliothèques ont été éditées pour ce module.

Nous allons de ce pas utilisé la bibliothèque nRF24 dans Arduino IDE.

Pour instancier cette librairie il suffit d’inclure 02 librairies à tous vos projets, à savoir :


      La librairie SPI ; 

    La librairie NRF24;

    De la manière suivante :

    #include <SPI.h>
    #include <RF24.h>

    Définir ensuite le brochage des pins CE et CSN de la manière suivante :

    #define pinCE  7
    #define pinCSN  8
    RF24 radio (pinCE, pinCSN);

    Enfin initialiser le module dans le void setup comme suit :

    void setup () {
    radio.begin ();
    }

    2. Sélection du canal de communication

    Pour choisir le canal de communication il suffit de faire appel à la fonction setChannel () comme suit :

    radio.setChannel(x); // en remplaçant « x » par une valeur comprise entre 0 et 125
    0 correspond à la fréquence de 2,4GHz et 125 correspond à la fréquence de 2,525GHz.

    3. Choix du niveau de transmission
    Le niveau de signal radio du module influencera directement sur sa portée. Vous avez ici le choix entre 04 niveaux d'émission

    du signal:

    • RF24_PA_MIN : pour un niveau d’émission minimal ;
    • RF24_PA_LOW : niveau d’émission bas ;
    • RF24_PA_HIGH : niveau d’émission moyen/haut ;
    • RF24_PA_MAX : niveau d’émission élevé ;

    Le code concernant le choix du niveau de transmission doitêtre édité de la manière suivante :

    radio.setPALevel (xxx);          // en remplaçant « xxx » par RF24_PA_MIN, RF24_PA_LOW
    RF24_PA_HIGH, ou RF24_PA_MAX

    4.  Ouverture d’un tunnel pour l’émission

    Pour envoyer des données d’un nRF à un autre il faut d’abord définir un canal d’émission et lui donner un nom sur 05

    caractères comme suit :

    const byte adresse[6] = PIPE1;    // adresse de tunnel, au format "byte array"

    L’ouverture du canal voulu pour l’émission du message se fait comme-ci :

    radio.openWritingPipe(adresse);      // Ouverture du "tunnel1" en écriture (émission radio)

    5.  Ouverture d’un tunnel pour la réception

    De la même manière que pour l’émission, il faut définir un canal pour la réception et lui donner un nom sur 05 caractères

    comme suit :

    const byte adresse[6] = PIPE2;    // adresse de tunnel, au format "byte array"

    L’ouverture du canal voulu pour la réception du message se fait comme-ci :

    radio.openReadingPipe(0,adresse);      // Ouverture du "tunnel1" en lecture (réception radio)