Module NRF24L01 avec Arduino / Mise en réseau de plusieurs modules NRF24L01 / Code Arduino

Code Arduino


Ici nous allons mettre en réseau deux modules qui seront à la
fois émetteur et récepteur. Le nœud 00 enverra le message 
« Hello » au nœud 01 qui l’affichera dans le moniteur série. A la
réception le nœud 01 enverra à son tour un message « Word » au nœud
01 qui l’affichera aussi dans le moniteur série.


1.    Code côté nœud 00

    # include <RF24.h>

    # include <RF24Network.h>

    # include <SPI.h>

     

    RF24 radio(7,8);

    RF24Network network(radio);

    const uint16_t node00 = 00;

    const uint16_t node01 = 01;

     

    void setup() {

      SPI.begin();

      radio.begin();

      Serial.begin(9600);

      radio.setPALevel(RF24_PA_MIN);        

      radio.setDataRate(RF24_250KBPS);

      network.begin(90, node00);

    }

     

    void loop() {

      network.update();

      RF24NetworkHeader header(node01);

      const char text[] = "Hello";

      network.write(header, &text, sizeof(text));

      Serial.println("Sent");

      delay(5);

     

      while(network.available()){

        RF24NetworkHeader headern;

        char text1[32] = "";

        network.read(headern, &text1, sizeof(text1));

        Serial.println(text1);

      }

    }


    2.    Code côté nœud 01


              Code côté nœud 00

      # include <RF24.h>

      # include <RF24Network.h>

      # include <SPI.h>

       

      RF24 radio(7,8);

      RF24Network network(radio);

      const uint16_t node00 = 00;

      const uint16_t node01 = 01;

       

      void setup() {

        SPI.begin();

        radio.begin();

        Serial.begin(9600);

        radio.setPALevel(RF24_PA_MIN);        

        radio.setDataRate(RF24_250KBPS);

        network.begin(90, node01);

      }

       

      void loop() {

        network.update();

        while(network.available()){

          RF24NetworkHeader header;

          char text[32] = "";

          network.read(header, &text, sizeof(text));

          Serial.println(text);

        }

       

        delay(5);

       

        network.update();

        RF24NetworkHeader headern(node00);

        const char text1[] = "World";

        network.write(headern, &text1, sizeof(text1));

        Serial.println("Sent");

        delay(5);

      }