hello,will you please tell me which code i have to use in the sdk 12.2.0 for rf communication with nrf51822 and nrf24l01 .and also tell me which settings i have to do for nrf24l01 side as a transmitter.so that i can receive data on nrf51822 side.
hello,will you please tell me which code i have to use in the sdk 12.2.0 for rf communication with nrf51822 and nrf24l01 .and also tell me which settings i have to do for nrf24l01 side as a transmitter.so that i can receive data on nrf51822 side.
Hi Pallavi
The ESB library in the nRF5 SDK v12.2.0 is designed to be backwards compatible with the nRF24L01/nRF24L01+, assuming you don't use the L01 device in legacy Shockburst mode (ACK's disabled).
On the nRF5 side you can use the esb_ptx and esb_prx examples as a starting point: \nRF5_SDK_12.2.0\examples\proprietary_rf\
For this to work you need the following settings on the nRF24L01 side:
Default address (0xE7E7E7E7E7), with 5 byte address length
16-bit CRC
2Mbps bitrate
Auto ACK and dynamic payload length enabled
For all other settings you can use the default values.
Edit: Added attachment.
Best regards
Torbjørn
Hello Sir,
My intention is to run a simple transmitter and receiver between NRF51822 and Arduino Uno +NRF24L01.
Please see below working code for a Transmitter and Receiver both using Arduino Uno + NRF24L01 Library for NRF24L01 (http://tmrh20.github.io/RF24/)
Pin Configuration: NRF24 Arduino 1 GND GND 2 VCC VCC 3 CE Analog 4 4 CSN Analog 5 5 SCK digIO 13 6 MOSI digIO 11 7 MISO digIO 12
Transmitter Code with its Configurations
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #define CE 18 #define CSN 19 RF24 radio(CE, CSN); unsigned char values; const byte rxAddr[5] = {0xC0,0x01,0x23,0x45,0x67};
void setup() { Serial.begin(9600); radio.begin(); radio.setPALevel(RF24_PA_MAX); radio.setDataRate(RF24_1MBPS); radio.setChannel(7); radio.openWritingPipe(rxAddr); radio.stopListening();
}
void loop() { values = 0x10; radio.write(&values,1); delay(2000); // Serial.print(value); //prints the character just read }
Receiver Code with its Configurations
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #define CE 18 #define CSN 19 RF24 radio(CE, CSN); unsigned char values; const byte rxAddr[5] = {0xC0,0x01,0x23,0x45,0x67};
void setup() { Serial.begin(9600); radio.begin(); radio.setPALevel(RF24_PA_MAX); radio.setDataRate(RF24_1MBPS); radio.setChannel(7); radio.openReadingPipe(0, rxAddr); radio.startListening(); }
void loop() { if (radio.available()) { char text; radio.read(&text, 1); Serial.print(text); } }
Please suggest whats should i do with respect to NRF51822 to work with these transmitter and receiver code respectively. We have been discussing all for so long but haven't come to a conclusion. So can you help me in code with simple configuration mentioned in the code above and run transmitter and receiver successfully.
Regards Pallavi
Hello Sir,
My intention is to run a simple transmitter and receiver between NRF51822 and Arduino Uno +NRF24L01.
Please see below working code for a Transmitter and Receiver both using Arduino Uno + NRF24L01 Library for NRF24L01 (http://tmrh20.github.io/RF24/)
Pin Configuration: NRF24 Arduino 1 GND GND 2 VCC VCC 3 CE Analog 4 4 CSN Analog 5 5 SCK digIO 13 6 MOSI digIO 11 7 MISO digIO 12
Transmitter Code with its Configurations
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #define CE 18 #define CSN 19 RF24 radio(CE, CSN); unsigned char values; const byte rxAddr[5] = {0xC0,0x01,0x23,0x45,0x67};
void setup() { Serial.begin(9600); radio.begin(); radio.setPALevel(RF24_PA_MAX); radio.setDataRate(RF24_1MBPS); radio.setChannel(7); radio.openWritingPipe(rxAddr); radio.stopListening();
}
void loop() { values = 0x10; radio.write(&values,1); delay(2000); // Serial.print(value); //prints the character just read }
Receiver Code with its Configurations
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #define CE 18 #define CSN 19 RF24 radio(CE, CSN); unsigned char values; const byte rxAddr[5] = {0xC0,0x01,0x23,0x45,0x67};
void setup() { Serial.begin(9600); radio.begin(); radio.setPALevel(RF24_PA_MAX); radio.setDataRate(RF24_1MBPS); radio.setChannel(7); radio.openReadingPipe(0, rxAddr); radio.startListening(); }
void loop() { if (radio.available()) { char text; radio.read(&text, 1); Serial.print(text); } }
Please suggest whats should i do with respect to NRF51822 to work with these transmitter and receiver code respectively. We have been discussing all for so long but haven't come to a conclusion. So can you help me in code with simple configuration mentioned in the code above and run transmitter and receiver successfully.
Regards Pallavi