Ayuda módulo Tiny RTC I2C DS1307 y Sensor temperatura y humedad SHT15

Hola a todos,

Quiero solicitar un poco de ayuda con respecto al bus I2C. Resulta que trato de obtener los datos del DS1307 y el SHT15 por el mismo bus, el codigo funciona pero solo obteniendo los datos individualmente. Estoy utilizando las librerias SHT1x y RTClib, el bus de datos esta configurado en los pines A4 y A5. El codigo funciona individualmente, comentando lo siguiente:

Sin nada comentado esta es la salida:

2014/10/27 23:54:14
Temperatura: -40.0099983215 C Humedad: -4.69%  
2014/10/27 23:54:18
Temperatura: -40.0099983215 C Humedad: -4.69%  
2014/10/27 23:54:23
Temperatura: -40.0099983215 C Humedad: -4.69%  
2014/10/27 23:54:27

Comentando fecha(); esta es la salida:

Temperatura: -40.0099983215 C Humedad: -4.69%  
Temperatura: -40.0099983215 C Humedad: -4.69%  
Temperatura: -40.0099983215 C Humedad: -4.69%

Comentando fecha(); y Wire.begin(); esta es la salida:

Temperatura: 24.1399993896 C Humedad: 44.88%  
Temperatura: 24.1199951171 C Humedad: 44.81%  
Temperatura: 24.1100006103 C Humedad: 44.81%  
Temperatura: 24.1199951171 C Humedad: 44.82%

Comentando tem_hum(); esta es la salida:

2014/10/27 23:58:12
2014/10/27 23:58:13
2014/10/27 23:58:14
2014/10/27 23:58:15

Comentando Wire.begin(); esta es la salida:

2165/165/165 165:165:85
Temperatura: -40.0099983215 C Humedad: -4.69%  
2165/165/165 165:165:85
Temperatura: -40.0099983215 C Humedad: -4.69%  
2165/165/165 165:165:85
Temperatura: -40.0099983215 C Humedad: -4.69%  
2165/165/165 165:165:85

Agradeceria si pudieran ayudarme, la idea es tener en la salida serial este formato:

2014/10/27 23:58:13 Temperatura: 24.1100006103 C Humedad: 44.81%

Este es el codigo sin comentar.

#include <SHT1x.h>
#include <Wire.h> 
#include "RTClib.h"
#define dataPin  A4
#define clockPin A5
SHT1x sht1x(dataPin, clockPin);
RTC_DS1307 RTC;

void setup()
{
    Serial.begin(9600); // Open serial connection to report values to host
    Wire.begin(); // Inicia el puerto I2C
    RTC.begin(); // Inicia la comunicación con el RTC  
    Serial.println("");
}
 
void loop()
{  

  fecha();
  delay(1000);
  tem_hum();
  
}

void fecha()
{
    DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC
   
    Serial.print(now.year(), DEC); // Año
    Serial.print('/');
    Serial.print(now.month(), DEC); // Mes
    Serial.print('/');
    Serial.print(now.day(), DEC); // Dia
    Serial.print(' ');
    Serial.print(now.hour(), DEC); // Horas
    Serial.print(':');
    Serial.print(now.minute(), DEC); // Minutos
    Serial.print(':');
    Serial.print(now.second(), DEC); // Segundos
    Serial.println();
}
void tem_hum()
{
  float temperatura;
  float humedad;
  
  temperatura = sht1x.readTemperatureC();
  humedad = sht1x.readHumidity();
  
  Serial.print("Temperatura: ");
  Serial.print(temperatura, DEC);
  Serial.print(" C");
  
  Serial.print(" Humedad: ");
  Serial.print(humedad);
  Serial.println("%  ");
}

Tengo claro que cada dispositivo debe contar con una direccion pero no comprendo como señalar en las librerias o en codigo que direccion que corresponde a cada dispositivo, RTC y Sensor. Realice un escaneo del bus con el codigo I2CScanner y solo detecta la direccion 80. este es el resultado.

I2CScanner ready!
starting scanning of I2C bus from 1 to 100...
addr: 1       	addr: 2       	addr: 3       	addr: 4       
addr: 5       	addr: 6       	addr: 7       	addr: 8       
addr: 9       	addr: 10       	addr: 11       	addr: 12       
addr: 13       	addr: 14       	addr: 15       	addr: 16       
addr: 17       	addr: 18       	addr: 19       	addr: 20       
addr: 21       	addr: 22       	addr: 23       	addr: 24       
addr: 25       	addr: 26       	addr: 27       	addr: 28       
addr: 29       	addr: 30       	addr: 31       	addr: 32       
addr: 33       	addr: 34       	addr: 35       	addr: 36       
addr: 37       	addr: 38       	addr: 39       	addr: 40       
addr: 41       	addr: 42       	addr: 43       	addr: 44       
addr: 45       	addr: 46       	addr: 47       	addr: 48       
addr: 49       	addr: 50       	addr: 51       	addr: 52       
addr: 53       	addr: 54       	addr: 55       	addr: 56       
addr: 57       	addr: 58       	addr: 59       	addr: 60       
addr: 61       	addr: 62       	addr: 63       	addr: 64       
addr: 65       	addr: 66       	addr: 67       	addr: 68       
addr: 69       	addr: 70       	addr: 71       	addr: 72       
addr: 73       	addr: 74       	addr: 75       	addr: 76       
addr: 77       	addr: 78       	addr: 79       	addr: 80 found!
addr: 81       	addr: 82       	addr: 83       	addr: 84       
addr: 85       	addr: 86       	addr: 87       	addr: 88       
addr: 89       	addr: 90       	addr: 91       	addr: 92       
addr: 93       	addr: 94       	addr: 95       	addr: 96       
addr: 97       	addr: 98       	addr: 99       	addr: 100       

done

No entiendo porque tienes problemas si la libreria de sht1X dice que puede coexistir con otros dispositivos I2C y obvio porque se le asigna a cada uno un Address distinto.
Lo que yo entiendo es que el SHT1X funciona con 2 Wires y puede coexistir. O sea no es I2C.
En la librería no encuentro un Address como en el RTC.

Para que esta la librería Wire.h???
Para que haces
Wire.begin(); // Inicia el puerto I2C

No vi en los ejemplos del RTC que hiciera falta ni en los del SHT1X

Muchas gracias por responder.

Las librerias que estoy utilizando son estas:

Al comentar Wire.h muestra unos errores al compilar y comentando Wire.begin(); la salida es la siguiente:

2165/165/165 165:165:85
Temperatura: -40.0099983215 C Humedad: -4.69%  
2165/165/165 165:165:85
Temperatura: -40.0099983215 C Humedad: -4.69%  
2165/165/165 165:165:85
Temperatura: -40.0099983215 C Humedad: -4.69%  
2165/165/165 165:165:85

No se que puede ser. Si compilo cada ejemplo del SHT y el RTC por separado funcionan correctamente al cargarlo al arduino uno, todo esto con los dos dispositivos conectados al mismo bus.

Este es el Tiny RTC I2C

Este es el SHT15

Mirá simulé tu situación y yo no logro hacer que funcione el STH15 de ningún modo.
Creo que hay un problema de ACK
Además en mi simulación (pero puede ser un error de la simulación) la salida del SHT15 nunca sube de los 2.5 volts aún cuando le ponga un Resistor de 10k, 4k7 o 1k5 como he visto en la web.

Probé todo y sigue sin funcionar, solo o con del RTC.
El código tambien lo probé, en conjunto, comentando... y nada.
Gran tema gran!!!

Mira el link que te dejé a ver si ayuda.

Muchas gracias por tu ayuda. al final conecte los dispositivos en puertos diferentes, hay funciono sin problema pero igual no es la idea.
Al igual que tu encontré info al respecto del problema.

http://www.ccsinfo.com/forum/viewtopic.php?t=17108

Saludos y gracias nuevamente.

Boa tarde estou a usar a livraria deste link: http://bildr.org/2012/11/sht15-arduino/

A resposta que obtenho do sensor SHT15 e esta:

ACK error 0
ACK error 2
ACK error 0
ACK error 2
-40.01 | -4.04

Alguem me pode ajudar a corrigir este problema?