Bonjour,
Je suis nouveau sur ce forum, si mon message ne respecte pas la charte ou si j'ai oublié un élément, dites le moi !
Sinon pour revenir sur le sujet, j'ai un problème sur lequel je bloque depuis quelques jours. J'aimerais pouvoir transmettre des données à l'aide de module nRF24L01, mais ça ne fonctionne tout simplement pas.
Voici mon code pour l'envoie des données:
#include <SPI.h>
#include <RF24.h>
#include <nRF24L01.h>
RF24 radio(9, 10);
const byte address[6] = "00001";
bool ledHigh = false;
void setup() {
//Initialize LED
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
//Initialize radio
radio.begin(); // <-- C'EST ICI QUE CA PLANTE
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
}
void loop() {
const char text[] = "off";
if(ledHigh){
const char text[] = "on";
}
ledHigh = !ledHigh;
if(ledHigh) digitalWrite(LED_BUILTIN, HIGH);
else digitalWrite(LED_BUILTIN, LOW);
//radio.write(&text, sizeof(text));
}
Et mon code pour la réception des données (deuxième carte):
#include <SPI.h>
#include <RF24.h>
#include <nRF24L01.h>
RF24 radio(9, 10);
const byte address[6] = "00001";
bool ledHigh = false;
void setup() {
//Initialize LED
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
//Initialize radio
radio.begin(); // <-- C'EST ICI QUE CA PLANTE
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
}
void loop() {
if(radio.available()){
char text[32] = "";
radio.read(&text, sizeof(text));
if(text == "on"){
digitalWrite(LED_BUILTIN, HIGH);
}else{
digitalWrite(LED_BUILTIN, LOW);
}
}
}
Le code plante au niveau du radio.begin(); (j'ai essayé de supprimer tout le reste en lien avec la radio, et les LED ne clignotais pas du moment que radio.begin() était présent.
Mes branchements semble bon. Je me suis basé sur le tutoriel suivant: https://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-nrf24l01-tutorial/
Et j'ai aussi essayé la bibliothèque Mirf, mais ça ne fonctionnais pas non plus.
Je vous remercie.