Comunicacion entre 2 o mas arduinos [Ayuda]

Hola a todos,

Estoy realizando un proyecto de domótica y seguridad, al tratar de hacerlo escalable me encontre con un problema; tendré varios lectores de tarjetas RFID, cada uno estará conectado a un arduino(estoy usando el UNO pero pienso reemplazarlo por NANO), todas irán conectadas a una computadora que hará el procesamiento y se conectará a una base de datos.

El problema surge cuando quiero conectarlos con la PC, al tener 1 lo conecto con su cable usb y va todo bien, pero al tener muchos se multiplicarian la cantidad de cables y no hará escalable el proyecto. ¿Cómo puedo comunicar varios arduinos y conectarlo a la PC mediante 1 cable?

He estado leyendo sobre comunicacion RS485 y estoy intentando hacer pruebas pero aún no me queda muy claro como funciona con varios arduinos conectados y si se puede definir un arduino como MASTER para que solo este sea el que se conecte con la PC.

Cualquier ayuda o ideas de como lograr esto será muy agredecido.

Gracias!

Saludos.
Dependiendo lo que tengas. Puedes colocar un arduino como máster que reciba de los demás y este se comunique con la PC

Lo mejor que puedes hacer es poner un arduino que se comunique con el ordenador via usb y que a su vez ese arduino se comunique con el resto de arduinos a través de I2C. Por si no te suena, el protocolo I2C te permite conectar hasta 128 dispositivos en el mismo bus. Creo que con eso se te solucionaría el problema de la escalabilidad. En cuanto al arduino del pc, funcionaria igual que siempre y el resto de arduinos, los que recogerían la información de los sensores, los conectaras al bus i2c gobernado por el arduino del usb.

ArduMax:
Lo mejor que puedes hacer es poner un arduino que se comunique con el ordenador via usb y que a su vez ese arduino se comunique con el resto de arduinos a través de I2C. Por si no te suena, el protocolo I2C te permite conectar hasta 128 dispositivos en el mismo bus. Creo que con eso se te solucionaría el problema de la escalabilidad. En cuanto al arduino del pc, funcionaria igual que siempre y el resto de arduinos, los que recogerían la información de los sensores, los conectaras al bus i2c gobernado por el arduino del usb.

Gracias por sus ideas.

max_saeta, eso es precisamente lo que trato de hacer, tienes alguna idea de como hacerlo? te lo agradecería mucho.

ArduMax, he estado funcando informacion de I2C, y al parecer uno de sus problemas es la corta distancia en que pueden estar conectados, a lo mucho 1 o 2 metros de separación, sabes de alguna forma para resolver este problema? o quizás exista algún protocolo similar con mayor estabilidad a mayores distancias.

Gracias de nuevo.

Hola, ya probaste con la librería Software serial y un modulo bluetooth, con eso podrías poner n cantidad de arduinos que recogieran información de su entorno te dejo un link.

Otra alternativa es con nRF24L01... podes tener +3000 nodos. 2Mbits/seg de transferencia bidireccional.
Faciles de conectar y baratos.

robbbeltran1:
Hola, ya probaste con la librería Software serial y un modulo bluetooth, con eso podrías poner n cantidad de arduinos que recogieran información de su entorno te dejo un link.

surbyte:
Otra alternativa es con nRF24L01... podes tener +3000 nodos. 2Mbits/seg de transferencia bidireccional.
Faciles de conectar y baratos.

Hola,

Ya he trabajado antes con ambos(bluetooth y nrf24l01), no terminan de ser completamente estables y más aún pensando que este sistema estará encendido todos los días, durante todo el día; por otro lado, no necesito comunicación inalambrica, mi gran problema es comunicar varios arduinos para que mediante un solo cable, este pueda enviar informacion a una PC que procesará todos los datos.

Igualmente muchas gracias por sus sugerencias, trataré de hacer pruebas con I2C.

Saludos.

ya se que no sirve a tu proyecto pero si a uno mío. Porque dices que el nRF24L01 no es estable?

Saludos
Disculpen la tardanza ando sin PC. Y entro desde el celular.
Mi recomendación es usar el NRF24L01. Es mas estoy en un proyecto similar y usare este dispositivo. Con respecto a la estabilidad depende de la librería usada. Yo uso nRF24l01p la cual modifique para que hiciera una comunicación más estable y con menos fallos.