comunicacion I2C a larga distancia

Hola,

Aquí I2C FAQ - EmSA comentan que bajando la frecuencia se puede alargar la distancia del cable.

I2C FAQ

What is the maximum distance of the I2C bus?

This depends on the load of the bus and the speed you run at. In typical applications, the length is a few meters (9-12ft). The maximum capacitive load has been specified (see also the electrical Spec's in the I2C FAQ). Another thing to be taken into account is the amount of noise picked up by long cabling. This noise can disturb the signal transmitted over the bus so badly that it becomes unreadable.

The length can be increased significantly by running at a lower clock frequency. One particular application - clocked at about 500Hz - had a bus length of about 100m (300ft). If you are careful in routing your PCB's and use proper cabling (twisted pair and/or shielded cable), you can also gain some length.

Por lo que he entendido en otras páginas (que los expertos me corrijan) para bajar la frecuencia, en el fichero libraries/Wire/utilitiy/twi.h donde pone

  #ifndef TWI_FREQ
  #define TWI_FREQ 100000L
  #endif

prueba poniendo una más baja, por ejemplo

  #ifndef TWI_FREQ
  #define TWI_FREQ 1000L
  #endif

Para que surtan efecto estos cambios, hay que volver a compilar el sketch