Wireless communication between multiple Arduinos

Hey there
I'm building a project where I have 10 Uno's that act as nodes. Each node currently has an accelerometer that I've coded to detect when the node is greater than a certain angle.
What I would like to do is be able to send a True/False (0 or 1 essentially), from that node to the other nodes. Easy enough with an XBEE or similar wifi component. However, I want all the other nodes to communicate with each other to achieve this. For example if all the nodes are all greater than said angle, an RGB LED attached to the UNOs will light up Red. If only one or two are greater, then Blue, three or four Green, etc.
So first question, is this type of communication possible.
Second, what would be the best hardware component assuming question one?

How often does the data that is shared between the nodes need to update?

It would not be too difficult to use n nRF24L01+ wireless module (plus an Arduino) in each node and have one of them act as master to poll each of the others in turn and collect and share data. Think of an array of 10 bytes each of which represents a node. The master sends the current array to a node and gets the node in value in return. The master then updates the array before sending on to the next node etc etc. I reckon it could work around all 10 nodes in about 50 millisecs.

Have a look at this Simple nRF24L01+ Tutorial. There is an example tht illustrates a master and 2 slaves. That could easily be extended to a master and 9 slaves.

...R

Awesome! Thanks!

I'm assuming this is the module here: https://www.gearbest.com/transmitters-receivers-module/pp_218375.html?currency=CAD&vip=1830451

I went and looked at this tutorial as well for the units Arduino Wireless Communication – NRF24L01 Tutorial - YouTube
It says the communication maxes out at 6 units though?

otter:
I went and looked at this tutorial as well for the units https://www.youtube.com/watch?v=7rcVeFFHcFM
It says the communication maxes out at 6 units though?

This is a very common misconception. It's just rubbish.

You could communicate with hundreds of devices.

...R

Robin2:
This is a very common misconception. It's just rubbish.

You could communicate with hundreds of devices.

...R

That's what I was wondering as well. Looking at your tutorial, it literally is just adding a new address into the slave array.

Not sure if it helps, but I came across something called a Moteino... might be capable to do what you want and it seems like low power was kept in mind for battery powered projects.

I have nothing against the Moteino - I nearly got some a few years ago when they were new but they did not suit the project at the time. And now I have no experience of them.

I just want to say that an nRF24 working with an breadboard Atmega 328 will also be very economical with energy.

...R

Robin2:
This is a very common misconception. It's just rubbish.

You could communicate with hundreds of devices.

...R

I'm a little confused, in your example it has the part about 6 pipes that can receive messages...are the 6 pipes not what is communicating between other devices?

BrayleeNicole:
I'm a little confused, in your example it has the part about 6 pipes that can receive messages...are the 6 pipes not what is communicating between other devices?

An nRF24 has only a single wireless and all the message must come (or go) through it, one at a time. For that reason I don't see much reason to use more than 1 pipe.

The idea of pipes can be a bit confusing. Think of them as 6 shelves onto which the mail for different residents in an apartment block can be placed. All the letters come through the same mail slot (the radio receiver listening on Channel N) and when they fall on the floor someone picks them up, looks at the name of the recipient (the address the message was sent to) and puts them on the correct shelf (the pipe that has been assigned the same address as the message) or shreds them if they are for a recipient who lives in another block (i.e. if they are for an address that is not assigned to any of the pipes on this nRF24)

By assigning different addresses to the 6 pipes it makes it possible for the receiver to know who sent a message. But that only works if you have only 6 different senders.

On the other hand if each message includes a byte that identifies the sender a much larger number of individual senders can be easily identified even if they are all go to the same address.

...R