Попробуйте это
Для передатчика Вместо const uint64_t pipe = 0xF0F0F0F0E1LL;
используйте const byte address[6] = "00001";
в качестве адреса и затем отмените настройку, как показано ниже:
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
}
Затем убедитесь, что у вас естьзначение, установленное для передаваемой тестовой переменной, как указано ниже
void loop() {
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
Serial.println("Sending Data");
delay(1000);
}
На стороне получателя этот код имеет значение
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address[6] = "00001";
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
}
void loop() {
if (radio.available()) {
char text[32] = "";
radio.read(&text, sizeof(text));
Serial.println(text); //This will print out the received value
}
}
PS: убедитесь, что все соединения выполнены справаконтакты
И вы можете проверить правильность подключения микросхемы NRF24L01, добавив приведенный ниже код
bool result = radio.isChipConnected ();
Serial.println (result);
. На последовательном мониторе должна выводиться 1, если микросхема NRF24L01 подключена правильно