2024-05-14 16:11:08 +03:00
..
1
2024-05-14 16:11:08 +03:00
1
2024-05-14 16:11:08 +03:00
1
2024-05-14 16:11:08 +03:00

Multiple Receive Example

The nRF24L01 has 6 receive data pipes (RX_ADDR_P0-P6).
In this library, the first data pipe(RX_ADDR_P0) is used for automatic ACK reception on transmission.
The second(RX_ADDR_P1) to sixth(RX_ADDR_P5) data pipes are used for data reception.
Therefore, it is possible to receive from a maximum of five transmitting sides.
This example receive from 1RECV/2RECV/3RECV/4RECV/5RECV.

nRF24L01 Address Register Setting

Sender Receiver
#1 TX_ADDR
"1RECV"
RX_ADDR_P0
"1RECV"
RX_ADDR_P1
NONE
TX_ADDR
NONE
RX_ADDR_P0
NONE
RX_ADDR_P1
"1RECV"
RX_ADDR_P2
"2RECV"
RX_ADDR_P5
"5RECV"
(Send Data) -> -> -> -> -> (Get Data) Data to Receiver
(Get Ack) <- <- <- <- (Send Ack) Ack to Sender
#2 TX_ADDR
"2RECV"
RX_ADDR_P0
"2RECV"
RX_ADDR_P1
NONE
TX_ADDR
NONE
RX_ADDR_P0
NONE
RX_ADDR_P1
"1RECV"
RX_ADDR_P2
"2RECV"
RX_ADDR_P5
"5RECV"
(Send Data) -> -> -> -> -> -> (Get Data) Data to Receiver
(Get Ack) <- <- <- <- <- (Send Ack) Ack to Sender
#5 TX_ADDR
"5RECV"
RX_ADDR_P0
"5RECV"
RX_ADDR_P1
NONE
TX_ADDR
NONE
RX_ADDR_P0
NONE
RX_ADDR_P1
"1RECV"
RX_ADDR_P2
"2RECV"
RX_ADDR_P5
"5RECV"
(Send Data) -> -> -> -> -> -> -> (Get Data) Data to Receiver
(Get Ack) <- <- <- <- <- <- (Send Ack) Ack to Sender

Configuration

config-top

config-app

Receiver Register

RX_ADDR_P1 is 0x3152454356.
RX_ADDR_P2 will be 0x3252454356. The same value is used for the last 4 bytes. Register-Receiver

Communicat with Arduino Environment

Run this sketch.
ArduinoCode\Multiple-Receive/EmitterX

Receiver screenshot

This is received from 5 units at the same time.
ScreenShot