Connecting multiple NRF transceivers to a Single NRF Receiver

I am developing a project using nrf24L01 with arduino UNO R3. I am new to this. In my project I have to connect multiple nrf transceivers which will be mobile to a single NRF receiver. I want to know if it is possible connect multiple transceivers with single nrf receiver. Kindly guide me .
Thank you.

I want to know if it is possible connect multiple tranceivers with single nrf receiver.

Yes it is possible, but unless you can make sure that no two transmitters can go off at the same time it is also useless.

Then I have to make sure that no two transmitters should send the data at same time ?

Hi,
The nrf24L01 can be configured into a network and that way clashing of Tx is minimised.

google arduino nrf24L01 network

There are some YouTube available as well.

This is an excellent place to start if you have not fired up a nrf24L01 in anger.

https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo

Have you used the nrf24L01 before?
Can you tell us your electronics, programming, Arduino, hardware experience?

Tom.. :slight_smile:

Thank you for your guidance :slight_smile: . Actually I don't have any previous experience with electronics. I am a computer engineering student . I only came to know about NRF 24L01 and arduino few days ago. I didnt start with NRF yet as I have several doubts whether multiple data can be handled by the receiver at the same. This is vital for the project that I am developing.

This Simple nRF24L01+ Tutorial may be helpful.

For communicating one-to-many I suggest you use the concept in my second example. Organize your project so that the Master communicates with each Slave in turn and then the Slaves can easily return data to the Master in the ackPayload message. That way there will be no risk of transmission collisions and the Master will always know which Slave sends the data.

The code for the Master in that example can easily be extended to talk to a large number of slaves. Just give each slave a different address.

...R

Thank you for your valuable suggestion :slight_smile: . I have another doubt .The master doesn't know which slave(transceiver )will enter the network since slaves(transceivers) will be mobile . They will enter and leave the network within a couple of minutes. Is it possible to program in such a way that slave will send data only when it receives a code from the master ?

No that rather defeated the whole point of the master slave arrangement. You have to make sure there are no unexpected transmissions.
Just send out a message to a slave and if it does not reply then it is not there.

Thank you for your suggestion. Is it possible if the transceiver will just broadcast the message to whichever mobile transceivers present in that radius and after receiving the transceivers will send the data ?

Study the datasheet of the NRF24L01+, it has a lot of features.

Is it possible if the transceiver will just broadcast the message to whichever mobile transceivers present in that radius and after receiving the transceivers will send the data ?

Why are you ignoring what we say?

In what way will that not have unexpected multiple transmissions? Any message from the master has to be targeted so that only one slave replies.

You could easily use a seperate channel/pipe/address to allow unrequested announce messages,
even if you run your system in a master-slave setup.

Hi,
I think the Op doesn't realize the master will poll the slaves.

The master has a list of slaves and calls each one in turn.

Those that are there will respond, those that aren't will not.

The slave will only answer if it is called, that is within TX/RX range.

This polling can occur many times a second.

Tom.... :slight_smile:

an06:
Is it possible to program in such a way that slave will send data only when it receives a code from the master ?

That is exactly how my 2nd example works.

If the master sends a message to a non-existent slave it will recognize that its message has not been acknowledged and it can go on to try communication with the other slaves.

...R

Robin2:
That is exactly how my 2nd example works.

If the master sends a message to a non-existent slave it will recognize that its message has not been acknowledged and it can go on to try communication with the other slaves.

...R

In my case the number of mobile transceivers is more than 10,000. So if it sends to check if any slaves are present and moves on, it might create time delay. Does it not ? Then the existing transceivers in that instance might leave network before its turn comes.

Grumpy_Mike:
Why are you ignoring what we say?

In what way will that not have unexpected multiple transmissions? Any message from the master has to be targeted so that only one slave replies.

I am not ignoring what you have been saying. I am thinking about the time delay it might create when master sends data to each slave which may or may not be present in network. As the number of slaves will be high but slaves in that radius will be less comparatively.

Whandall:
You could easily use a seperate channel/pipe/address to allow unrequested announce messages,
even if you run your system in a master-slave setup.

Do you mean that a port must be created to handle the multiple data at the same time ?

Please try to understand the datasheet and the capabilities of the chip first.

an06:
In my case the number of mobile transceivers is more than 10,000.

I was thinking more like 10, 20 or 30.

I think it is time you explained the project you are trying to implement.

How many of those 10,000 will be in range and active at the same time?
How many messages do you want each slave to send every second.

No matter what you would like to happen only one of them can send a message to the Master at any one time. If two transmissions overlap both will be garbled. if both then try multiple re-tries the problem will get worse.

...R

Actually in the project , there will be in tranceivers in vehicles and the main receiver will be at some point in roadside. The tranceivers must send vehicle number to the receiver in roadside. So whatever vehicles which are there within that receivers radius will send data . In this the receiver will not know which vehicle is entering the radius until data is sent . The number of vehicles in radius will vary based on traffic .