duda tiempo entre transmisiones i2c[SOLUCIONADO]

muy buenas:
tengo una ligera duda respecto a las transmisiones i2c

he leido por ahi que es conveniente dejar entre dos transmisiones i2c consecutivas un pequeño tiempo pero no he encontrado nada que diga cuanto puede ser suficiente.

el tema es que tengo que hacer bastantes transmisiones en un programilla y claro un retardo mas otro pues suma tiempo y el tiempo de ejecucion es pelin alto 800 ms
os dejo el trozo de codigo de las transmisiones tel como lo tengo

Wire.beginTransmission(3);
Wire.write(datos_sensores,100);
wire.endTransmission();
delay(200);

Wire.beginTransmission(4);
Wire.write(datos_sensores,100);
wire.endTransmission();
delay(200);

gacias

depende del ,los disposivos que uses .
vas a tener que probar a "ojo".
comenza con un numero alto y luego fijate cuando deje de funcioar los dispositivos.
delay(200); me parece demaciodo.

puedes probar con un delayMicroseconds(500); // 600us needed to reset

gracias por la respuesta.

veo que el delay que empleas es de 1/2 milisegundo (bastante menor que mis 200 ms) jeje

si con microsegundos va bien creo que bajaré los delays a unos 10 ms que por lo que comentas ya es mas que suficiente.

es qe el tema me deja algo perdido ya que aunque veo por la red bastante informacion relativa al i2c en ningun sitio veo nada especifico acerca de tiempos de delay.

lo unico que encontré fue que entre un STOP y un START hay que dejar un delay y viendo proyectos de los demas he visto que ese tiempo es muy variable desde unos pocos de milis hasta algun segundo.

Hola erikblade,

Tal y como Naruto128 te indica, los delays dependeran de los dispositivos I2C que uses. Seria bueno si nos dices que I2C esclavos estas usando? Saludos,

p

hola Pallisier;

Pues os comento, de momento estoy usando un master y 4 esclavos, pero en un futuro poco a poco el numero de esclavos irá aumentando, segun vaya integrando mas cosas en el sistema, de todas formas creo que el numero de esclavos no será superior a 12 o 13

Hola Erik,
Que estas monitoreando? temperatura? Que esclavos son? Saludos,

p

si en principio es solo la calefaccion, 10 temperaturas ambiente, 10 temperaturas de consigna y 10 estados de las valvulas,
esto lo hacen dos arduinos, luego otro se encargaría de la comunicacion ethernet, y otro tengo intencion de implementarlo como control con una touch screen.

como ves es un sistema bastante modular.

por cierto el maestro recogeria los datos de los demas esclavos y dependiendo de donde hayan cambiado actua en consecuencia. a parte de hacer esto (gestionar la comunicacion entre arduinos) tengo intencion de implementear datalogger en el mismo pero mas adelante.

de momento solo tongo 2 arduinos controlando la calefaccion y un master que gestiona las comunicaciones aun estoy preparando el de ethernet pero estoy algo verde el el asunto de las paginas web y el funcionamiento del shield asi que me lo tomaré con calma

de ahi lo de la duda con los tiempos entre transmisiones ya que la idea es ir poco a poco ampliando el sistema a otras facetas.