(Solucionado) Problemas al ajustar fecha y hora DS3231 error

Saludos, tengo un codigo de unas alarmas, pero me da error a la hora de ajustar la hora y fecha,
la ultima vez que lo use estuvo funcionando, os pego el codigo aver si me podeis hechar una mano …gracias.

#include <Wire.h> 
#include "RTClib.h"
RTC_DS1307 RTC;

int h1 = 18; // Ajusta la hora que quieras
int h2 = 17; //  Ajusta la hora que quieras

void setup () {
Wire.begin(); // Inicia el puerto I2C
RTC.begin(); // Inicia la comunicación con el RTC
Serial.begin(9600);
RTC.adjust(DateTime(__DATE__, __TIME__));  // Establece la fecha y hora 
}

void loop(){
DateTime now = RTC.now(); // rescata la informacion y la imprime 
Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(' ');
Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); 
Serial.println();
delay(1000);
// si concuerda la hora con la alarma la imprime
if ((now.hour() == h1) && (now.minute() == 0) && (now.second() == 0)) { Serial.println("ALARMA1"); }
if ((now.hour() == h2) && (now.minute() == 0) && (now.second() == 0)) {  Serial.println("ALARMA2"); }
}

Probá retirando la batería y corre el sketch a ver si muestra bien la hora. Hay reportes de que la batería puede estar en corto y da ese error.

Nos comentas a ver si por ahi es la cosa? Lee esto a ver si se asemeja a tu problema I2C DS1307 RTC Clock issue

Leyendo todo el enlace que te puse, al final habla de que desoldó el battery holder y lo volvió a soldar y el problema se solucionó. Yo te recomendaría que desconectes todo, y simplemente luego de retirar la batería, repases la soldadura de los contactos del receptáculo de batería

|500x500

Si lo que surbyte no te funciona haz un Scanner del I2C y comprueba la dirección de tu dispositivo, a mi me pasaba que por defecto tiene la 0x68 y el mio estaba direccionado en la 0x50, cambiando eso funcionó. El error "165" viene dado porque no hay comunicación I2C, aunque por lo que comentas de que antes te funcionaba el fallo seguramente estará en la pila.

un saludo

Saludos ...Surbyte tenias razon, el problema estaba en el modulo DS3231, pude rescatar otro que tenia por casa y funciono a la primera.

Gracias a todos por la ayuda :)

hola, ya sé que pones solucionado, pero para otro usuario que le pase algo y no sea lo mismo, y/o pueda ser, yo me encuentro que las plaquitas vienen con una pila, no una bateria recargable, y saliendo tensión por los bornes del portapilas. En tales casos, la solucion viene por poner una bateria recargable (en mi caso pongo un condensador de 1F/5.5v, ya que ya los tengo). saludos