Hi,
I have a project use nrf24l01. I want to transfer simple data from 2 transceiver (Nano) to single receiver. (Mega) The problem is receiver can't receive data from both transceiver.
TX1
#include <SPI.h>
#include <RF24.h>
#include <nRF24L01.h>
RF24 radio(7, 8);
const uint64_t pipes[3] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0E2LL, 0xF0F0F0F0E3LL };
int test1;
void setup(void) {
Serial.begin(9600);
radio.begin();
radio.setDataRate(RF24_250KBPS);
radio.openWritingPipe(pipes[1]);
radio.startListening();
}
void loop(void)
{
test1 = 11;
radio.write(&test1, sizeof(test1));
delay(1000);
}
TX2
#include <SPI.h>
#include <RF24.h>
#include <nRF24L01.h>
RF24 radio(7, 8);
const uint64_t pipes[3] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0E2LL, 0xF0F0F0F0E3LL };
int test2;
void setup(void) {
Serial.begin(9600);
radio.begin();
radio.setDataRate(RF24_250KBPS);
radio.openWritingPipe(pipes[2]);
radio.startListening();
}
void loop(void)
{
test2 = 22;
radio.write(&test2, sizeof(test2));
delay(1000);
}
RX
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8);
const uint64_t pipes[3] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0E2LL, 0xF0F0F0F0E3LL };
int test1, test2;
void setup(void) {
Serial.begin(9600);
radio.begin();
radio.setDataRate(RF24_250KBPS);
radio.openReadingPipe(1, pipes[1]);
radio.openReadingPipe(2, pipes[2]);
radio.startListening();
}
void loop(void)
{
if (radio.available()) {
delay(50);
radio.read(&test1, sizeof(test1));
Serial.print(test1);
radio.read(&test2, sizeof(test2));
Serial.print(test2);
}
else
{
Serial.println("No radio available");
}
}