1 pièce(s) jointe(s)
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:
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:
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