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);
}
} |
Partager