Probléme sur module i2c rtc et lcd i2c

Bonjour,

je suis nouveau sur le forum .

mon souci qui est incompréhensible ?

j’ai un arduino uno r3 je veux affiché l’heure sur un afficheur lcd(16*2) i2c avec un module rtc ds1307tiny .

tous fonctionné bien puis j’ai chargé un prog pour lcd non ic2(par erreur) et depuis les 2 emsembles ne fonctionne plus je les prends séparément l’afficheur fonctionne et l’horloge rtc aussi.
j’ai fait un scan i2c j’ai comme adresse "afficheur 0x27 "et “rtc 2 adresse 0x50 et 0x68”.

voilà deux code celui avec le capteur de température fonctionne et l’autre avec l’horloge ne fonctionne pas.

#include <LiquidCrystal_I2C.h>        //Librairie lcd bus i2c 
#include "RTClib.h"                   //Librairie module Horloge
#include <Wire.h>
#include <DallasTemperature.h>       //Librairie du capteur de Température
#include <OneWire.h>                 //Librairie du bus OneWire

RTC_DS1307 rtc ;                           // bus horloge Module DS1307
 
OneWire oneWire(10);                      //Bus One Wire sur la pin 10 de l'arduino
DallasTemperature sensors(&oneWire);      //Utilistion du bus Onewire pour les capteurs Module 18DS20
DeviceAddress sensorDeviceAddress;        //Vérifie la compatibilité des capteurs avec la librairie



LiquidCrystal_I2C lcd(0x27,20,4);  //-----adresse marériel du LCD I2C-----
                                   //en cas de non fonctionnement mettre la 8 en commentaire 
                                   //et retirez le commentaire de la ligne 9
 //LiquidCrystal_I2C lcd(0x3F,20,4);
 DateTime now = rtc.now();
 
int ph = 3;                   // pin 3 arduino Analogic en entrée
int engrais = 1;              // pin 1 arduino digital en sortie
int niveau_eau = 2;           // pin 2 arduino digital en entrée
int osmoseur = 7;             // pin 7 arduino digital en sortie
int co2 = 8;                  // pin 8 arduino digital en sortie  

int ramp1 = 3;                // pin 3 arduino digital en sortie PWM
int ramp2 = 5;                // pin 5 arduino digital en sortie PWM
int ramp3 = 6;                // pin 6 arduino digital en sortie PWM
int ramp4 = 9;                // pin 9 arduino digital en sortie PWM
/* static unsigned long LastTimer ;

byte whiteled[96] = {
  0, 0, 0, 0, 0, 0, 0, 0,                  // 0 - 1h45
  0, 0, 0, 0, 0, 0, 0, 0,                  // 2 - 3h45
  0, 0, 0, 0, 0, 0, 0, 0,                  // 4 - 5h45
  0, 0, 0, 0, 0, 0, 0, 0,                  // 6 - 7h45
  1, 16, 32, 55, 80, 110, 140, 255,        // 8 - 9h45
  255, 255, 255, 255, 255, 255, 255, 255,  //10 - 11h45
  255, 255, 255, 255, 255, 255, 255, 255,  //12 - 13h45
  255, 255, 255, 255, 255, 255, 255, 255,  //14 - 15h45
  255, 255, 255, 255, 255, 255, 255, 255,  //16 - 17h45
  255, 255, 255, 255, 255, 255, 255, 255,  //18 - 19h45
  110, 90,  70,  55,  40 ,  20,  10,   8,  //20 - 21h45
  6  , 3 ,   3,   1,   1,    1,   0,   0   //22 - 23h45
};
*/
char blinkPoint1s() {                                 // Clignottement des 2 points pour l'horloge
   static unsigned char state = 0;
   static unsigned long prevMillis = 0;
   unsigned long curMillis = millis();
   if(curMillis - prevMillis > 500) {
      prevMillis = curMillis;   
      state = !state;
   }
   return state ? ':' : ' '; 
}

void setup () {
  
   lcd.init();                           //initialisation de l'afficheur
  
// programation des sorties

    Serial.begin(9600);                              //initialisation du bus I2C
    sensors.begin();                                 //Activation du capteur Température
    sensors.getAddress(sensorDeviceAddress, 0);      //Demande l'adresse du capteur à l'index 0 du bus
    sensors.setResolution(sensorDeviceAddress, 12);  //Résolutions possibles: 9,10,11,12
    
    pinMode(co2,OUTPUT);        // sorti sur relais
    pinMode(engrais,OUTPUT);    // sorti sur relais
    pinMode(niveau_eau,INPUT);  // entrée 0v ou 5v
    pinMode(osmoseur,OUTPUT);   // sorti sur relais
    pinMode(ramp1,OUTPUT);      //sortie pwm sur mosfet
    pinMode(ramp2,OUTPUT);      //sortie pwm sur mosfet
    pinMode(ramp3,OUTPUT);      //sortie pwm sur mosfet
    pinMode(ramp4,OUTPUT);      //sortie pwm sur mosfet
    
    
    Wire.begin();           //initialisation de l horloge
    rtc.begin();
    if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    
    rtc.adjust(DateTime(__DATE__, __TIME__));
  }
}
void loop () {
  
  sensors.requestTemperatures();                   //Demande la température aux capteurs  
    
  lcd.backlight();                        // efface l ecran
  lcd.setCursor(0,0);                     // position du cursseur ligne 1
 // HMS();                                  // affichage de l heure ,minutes,secondes
  if (now.hour() < 10){lcd.print("0");}     // si l'heure est inferrieur à 10 affiche un zéro
  lcd.print(now.hour(), DEC);                 // affichage de l heure idem pour minutes et secondes
  lcd.print(blinkPoint1s());
  if (now.minute() < 10){lcd.print("0");}
  lcd.print(now.minute(), DEC);
  lcd.print(".");
  if (now.second() < 10){lcd.print("0");}
  lcd.print(now.second(), DEC);       
  lcd.setCursor(0,1);                     //position du cursseur ligne 2  
  lcd.print(sensors.getTempCByIndex(0));   // affichage de la température
  lcd.print(char(223));
      
}
  
 /* void HMS ()                               // routine horloge
  {
                    //définition de l'heure ,minutes seconde et date
   
  if (now.hour() < 10){lcd.print("0");}     // si l'heure est inferrieur à 10 affiche un zéro
  lcd.print(now.hour(), DEC);                 // affichage de l heure idem pour minutes et secondes
  lcd.print(blinkPoint1s());
  if (now.minute() < 10){lcd.print("0");}
  lcd.print(now.minute(), DEC);
  lcd.print(".");
  if (now.second() < 10){lcd.print("0");}
  lcd.print(now.second(), DEC);
     }
*/

2eme code celui fonctionne avec le LCD

#include <LiquidCrystal_I2C.h>  
#include <Wire.h>
#include <DallasTemperature.h>       //Librairie du capteur de Température
#include <OneWire.h> 
#include "RTClib.h"                   //Librairie module Horloge

OneWire oneWire(10);                      //Bus One Wire sur la pin 10 de l'arduino
DallasTemperature sensors(&oneWire);      //Utilistion du bus Onewire pour les capteurs Module 18DS20
DeviceAddress sensorDeviceAddress;

LiquidCrystal_I2C lcd(0x27,20,4);


void setup() {
 
 lcd.init();                           //initialisation de l'afficheur
 Serial.begin(9600);
 sensors.begin();                                 //Activation du capteur Température
 sensors.getAddress(sensorDeviceAddress, 0);      //Demande l'adresse du capteur à l'index 0 du bus
 sensors.setResolution(sensorDeviceAddress, 12);  //Résolutions possibles: 9,10,11,12

}

void loop() {
sensors.requestTemperatures();                   //Demande la température aux capteurs 
lcd.backlight();                        // efface l ecran
lcd.setCursor(0,0);                     // position du cursseur ligne 1
lcd.print(sensors.getTempCByIndex(0));   // affichage de la température
lcd.print(char(223));





  

}

Pourquoi l horloge ne fonctionne plus avec mon lcd???