Tengo un montaje con un reloj DS1307 por wire a través del puerto 0x68 y una eprom 24LC256 por wire a través del puerto 0x50 los dos funcionan perfectamente por separado pero conectados a la vez no funciona ninguno, los dos se conectan en los pines SDA y SCL que como yo tengo un Arduino Mega en vez del 4 y 5 son el 20 y 21.
Yo tenia entendido que se podía conectar varios componentes I2C siempre y cuando usaran direcciones distintas aunque usen los mismos pines, me lo puede confirmar alguien o darme alguna orientación?.
En el mismo bus I2C puedes tener varios componentes. yo llegué a funcionar con reloj como el tuyo, una pantalla LCD y una EEPROM. La EEPROM ya he pasado de ella y ahora uso una SD, que es más fácil de extraer la información.
Las resistencias pull-up no las tengo puesta porque según la documentación del Arduino Mega ya las tiene puestas en placa.
El reloj lo controlo con una librería que e escrito partiendo de la estándar para darle mas funcionalidad.
La eprom la controlo con otra librería realizada por mi partiendo de las funciones que hay en la documentación de arduino.
Pero ya digo que los dos funcionan correctamente por separado.
si los dos funcionan perfectamente por separado, prueba a ponerle igualmente unas resistencias pull-ups.
CREO que en algunas ocasiones con las que lleva la propia placa no es suficiente, por lo menos a mi me paso y se soluciono con las resistencias externas.
Ya lo e solucionado, e quitado la eprom y se termino el problema, estaba un poco harto de la guerra que daba, voy a usar la tarjeta SD que tengo en el montaje, lo que pasa es que esta tarjeta la tenia para generar en ella unos LOG de todo lo que pasaba en el sistema, (el montaje es un controlador de acuario) estos LOG los pienso leer cada tiempo por un programa que estoy haciendo en el ordenador para gráficas de funcionamiento.
pon el código que estas utilizando, es posible que veamos algo. yo una vez tuve problemas pero era por la forma de acceso de la memoria eeprom con i2c, dependiendo de la capacidad debes acceder de una u otra forma al mismo.
aun asi viendo el codigo podremos ayudarte. un saludo .