First of all I want to thank all of you guys that are contributing to this forum. I read most of your posts from the first day of arduino came out to light.
I have come here with a problem and I want to ask for your help.
2 years ago I have made a home light controll using arduino mega and now I'm thinking to upgrade it to a new improved system.
After some research/documentation I have chosed to have multiple arduino bords that will controll different zones. Each arduino for a specific zone. Also I will have a MAIN board that will controll the connection from a small pc to the rest of the arduinos.
The problem appears in the comunincation. I need to connect all arduinos boards toghether using only a few wires (as few as possible) and all of them must be able to send/receive date between them using the MAIN arduino.
Let me give you an example:
the arduino NR. 1 will control the lights from LIVING ROOM, the arduino NR. 2 will controll the lights from BEDROOM and the MAIN arduino will help me to connect from my computer to NR.1 and NR. 2.
Now...both of arduinos NR.1 and Nr. 2 have buttons that will turn on/off the lights from teir specific room. So if a button from a room will be pressend the MAIN arduino will be informed about it, also if I will want to turn on/off lights from BEDROOM using my computer that is connecting to the MAIN arduino, the arduino NR.2 (from BEDROOM) will be informed about this one.
So, I want to know how can I make a multiple arduino comunication where all of the boards can send or receive data. I have read about I2c but it seems that I can't send signals from slaves to other boards or to the main controller.
Do you have any ideas? I need to be able to connect a maximum of 50 devices in paralel if it's possible.
Connect all in parallel using RS485, either 2-wire (simplex - one way comms: master to selected slave, slave back to master) or 4-wore (duplex (master & slave talk together at same time).
Have master individually poll each room in nice orderly fashion, keep more than 1 device from "talking" at a time.
CrossRoads:
Connect all in parallel using RS485, either 2-wire (simplex - one way comms: master to selected slave, slave back to master) or 4-wore (duplex (master & slave talk together at same time).
Have master individually poll each room in nice orderly fashion, keep more than 1 device from "talking" at a time.
Thank you CrossRoads!
I have read about rs484 and it seems that is what I wanted!
But it seems that it may appear a problem. Device limitation!
Most of them are limited to 32 devices, however I have found out that modern transceiver chips are rated at 1/4 or 1/8th unit load. In theory means that you could be able to have 4x or 8x as many nodes on a wire.
Is that corect? Can this be possible?
Also, and most important, does an arduino has enought CPU/RAM power to control 100 devices? Should all the devices have to be the same or you can have devices with different configuration?
Nice!
What about hardware power. Does an arduino has enought CPU/RAM to control 128 devices?
Also, should all the devices have the same hardware configuration or you can have devices with different configuration? Like 2 arduinos MEGA , 3 arduinos pro mini and an arduino DUE?
Yes, CPU can control 128 devices.
You can mix & match hardware config, all will be talking to each other over serial, one won't care how the serial originates on an another. Have same data rate used by all.
RS485 buffer lets the 5v devices talk to 3.3V devices.
CrossRoads:
Yes, CPU can control 128 devices.
You can mix & match hardware config, all will be talking to each other over serial, one won't care how the serial originates on an another. Have same data rate used by all.
RS485 buffer lets the 5v devices talk to 3.3V devices.
do you think that I will be able to do the same thing with these devices, I meant multiple master/salve in a network?
If not, is there any other wireless cheap solution available?