Solucionado Problema con RTC 3231 no compila

Esto me tiene desorientado el programa me reclama ‘hour’ was not declared in this scope , esta es la linea
lcd.print(hour(), DEC); ok lo cambio a lcd.print(now.hour(), DEC); y reclama por el now
arme el ejemplo de arduino RTDlib / ds 3231 y agregue un lcd y funciona bien comparo miro y remiro y no pillo el problema ayer funcionaba en un sketh de prueba hoy comencé a ordenar y me pareció ver en un momento algo de actualización de librerías coincidencia o no pero llevo casi todo el dia y no se que sera.

E copiado la parte de la fecha y hora del serial print a mi sketch y funciona y con el lcd.print
deshabilitado el con /* */ en la parte de fecha y hora
todo lo demás se muestra

Realice un cambio de posición puce la parte del lcd print a continuación de la parte del serial print y funciono
no entiendo porque, pero lo dejare en prueba

podrían ayudarme una vez mas

codigo usado funciona prueba

#include <LiquidCrystal_I2C.h>

#include <Wire.h>
#include "RTClib.h"
LiquidCrystal_I2C lcd(0x3F, 16, 2);  // car127
RTC_DS1307 rtc; 

void setup () {
lcd.begin();
  while (!Serial); // for Leonardo/Micro/Zero

  Serial.begin(9600);

  delay(3000); // wait for console opening

 rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
   //  rtc.adjust(DateTime(2017, 11, 23, 1, 49, 0));
  }


void loop () {
    DateTime now = rtc.now();
    
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    //Serial.print(" (");
    Serial.print("  Hrs ");
    //Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    //Serial.print(") ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
//    Serial.print();
    
   
 //   Serial.print();
    lcd.clear(); 
    lcd.print(":"); 
      lcd.print(now.minute(), DEC);   
      lcd.setCursor(0,0); 
      lcd.print("Fecha:");
      lcd.print(""); 
      lcd.print(now.day(), DEC); 
      lcd.print("/"); 
      lcd.print(now.month(), DEC); 
      lcd.print("/"); 
     //  lcd.print(now.year()-2000);  //Solo imprimo los dos ultimos digitos del año 
      lcd.print(now.year(), DEC);  
      lcd.print("   "); 
     // lcd.clear(); 
     // lcd.backlight(); 
      lcd.setCursor(0,1);
      lcd.print("Hora:"); 
      lcd.print(" ");
      lcd.print(now.hour(), DEC); 
         //lcd.print(now.hour()); 
      lcd.print(":"); 
      lcd.print(now.minute(), DEC);   
      
       delay (3000);     // Pausa 3 segundos 
       
    delay(1000);
}

y el código del problema adjuntado

car127nuevo.ino (7.19 KB)