Conectar 6 arduino nano como esclavos a un arduino mega como master !

Hola comunidad, he utilizado la comunicación I2C para conectar varios arduinos nanos a un mega como master, el objetivo es que cada arduino nano mida una señal de tensión única para aprovechar toda la velocidad de conversión del ADC para un único canal digamos a una velocidad de 1KSample/seg el problema esta en que cuando mando la información al master la velocidad i2c no llega ni a los 400 kbits/sec. Ya que después de recibir la información de cada uno de los esclavos imprimo vía serial la información adquirida desde el master a una velocidad de 115200 baudios, pero note que no estoy capturando la informacion a la misma velocidad que imprimo los datos. Alguna sugerencia de algun integrado que permita conectar varias arduino a uno solo .

Primero que nada, sería de mucha utilidad que pusieras el código que utilizas porque tener que adivinar quita las ganas de ayudar.

Por ejemplo, ¿usas la librería Wire? De ser así, ¿has seteado lla velocidad o está por defecto?
Wire maneja 2 velocidades, por defecto trabaja a 100k pero se puede setear así

Wire.setClock(frecuencia);

donde

frecuencia = 100000 para 100k
o
frecuencia = 400000 para 400k

Saludos

Un Due que tiene un AD de 12 bits alcanza sampleos de 1MSps y hay mas arduinos capaces de consegir el sampleo que necesitas sin usar 6 esclavos.

Un STm32F308 o mas conocido como BluePill tiene DMA y alcanza 1MSps velocidades sin problemas.

EL Nano arranca en 8.9 kSps.
Te dejo esta guia link
Cambiando el prescaler del ADC y con interrupciones se llega a 76.8KSps y si lo guardas en RAM se puede llegar a fantásticos 166KSps.

Disfruta el tutorial.

¡Muy buen material!
Fácil de entender (aunque esté en la lengua de los bárbaros :grin: ), simple y directo al grano.
En lo personal, te lo agradezco @surbyte.

Saludos

Hay un mundo detras de cada tema, como has visto @gatul.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.