Can anyone help me with addressing 3 nRF24l01 modules?
I need the 2 child modules to write and read from the master module simultaneously.
Thanks
Can anyone help me with addressing 3 nRF24l01 modules?
I need the 2 child modules to write and read from the master module simultaneously.
Thanks
There is no master slave relationship in a NRF24L01+ peer network,
however, one node has to start a communication.
I design my NRF sketches around a "receive if you have nothing to transmit" paradigm.
For information, that has to distributed to more than one node, I use multicast.
I don't poll nodes for information, I receive it, when they send it.
I need the 2 child modules to write and read from the master module simultaneously.
That is not possible.
nRF24l01 devices are tranceivers, but they cannot transmit and receive at the same time, they can either be in receive mode or in transmit mode, but not both.
Perhaps explain what the project actually is ?
I understand the fact that nRF24l01 modules cannot transmit and receive at the same time.
My code already predicts this.
The help I need is that I don't understand the format of the address that I have to configure in the master and the 2 child.
Master:
radio.openWritingPipe(addresses[?]);
radio.openReadingPipe(?,addresses[?]);
(In the master would have to open 3 channels?)
Child 1:
radio.openWritingPipe(address[?]);
radio.openReadingPipe(?, address[?]);
Child 2:
radio.openWritingPipe(address[?]);
radio.openReadingPipe(?, address[?]);
In my code there are already TX and RX routines using the parameters:
radio.stopListening()
radio.write
radio.read
Thanks.
In radio.openWritingPipe() you use the address of the node(s) that should receive the packet.
It is perfectly legal to have many nodes sport the same pipe, as long as at most one sends Acks.
For the Ack, or an eventual AckPayload, pipe 0 will be automatically used,
with the address that was used for the sending.
From the six receive pipes, only two have the full 5 bytes, pipes 2 to 5 use the upper part of pipe 1.
So, when you want to use pipes 2 to five, you should use (for highest flexibility) addresses,
that have a common upper part, like "1node", "2node", etc.
Each pipe can be configured to trigger an Ack, or AckPayload,
transmits can be sent with a multicast option.
For details, study the data sheet.
Added: you should study the data sheet anyway,
it explains all the different transmission types en detail.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.