Oui, j'ai déjà le module sur l'écran 
Je comptais brancher l'écran en série avec le RTC DS3231 du coup.
J'ai déjà préparé une grosse partie du code également.
//Bibliothèques inclues:
#include <Dusk2Dawn.h>
#include <EEPROM.h>
#include <Wire.h>
#include <math.h>
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
// Définition module heure temps réel:
RTC_DS3231 rtc;
// Définition du LCD:
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// Déclarations variables:
int annee = 0;
int mois = 0;
int jours = 0;
int heure = 0;
int minutes = 60;
int secondes = 60;
DateTime now;
int sunrise;
int sunset;
int currentTime;
// MàJ du module RTC à chaque nouvelle connexion.
// à mettre sur "false" après avoir téléversé sur "true" pour éviter une maj suite à une coupure de courant.
// Déclaration d'une constante
const bool debug = false;
void setup() {
Serial.begin(9600);
rtc.begin();
if (debug){
Serial.println("Démarrage. Vérification et ajustement du RTC");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
else if (!debug){
Serial.println("Démarrage. Vérification mais pas d'ajustement du RTC");
}
}
void loop() {
delay(1000);
lcd.init();
lcd.backlight();
horodatage();
}
void horodatage(){
lcd.setCursor(0, 0); // curseur sur 1ere colone, 1ere ligne
lcd.print("Heure"); // afficher Heure
lcd.setCursor(8, 0); // curseur sur 8eme colone ,1ere ligne
lcd.print(":"); // etc...
lcd.setCursor(11, 0);
lcd.print(":");
lcd.setCursor(0, 1);
lcd.print("Date");
lcd.setCursor(7, 1);
lcd.print(":");
lcd.setCursor(10, 1);
lcd.print(":");
}
void printInfosTime(){
lcd.setCursor(0, 2); // curseur sur 1ere colone, 3eme ligne
lcd.print("Sunrise"); // afficher Sunrise
lcd.setCursor(8, 2); // curseur sur 8eme colone ,3eme ligne
lcd.print(":"); // etc...
lcd.setCursor(10, 2);
lcd.print(sunrise);
delay(1000);
lcd.setCursor(0, 2);
lcd.print(" "); // on efface la ligne
lcd.setCursor(0, 2);
lcd.print("Sunset");
lcd.setCursor(7, 2);
lcd.print(":");
lcd.setCursor(10, 2);
lcd.print(sunset);
delay(1000);
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.print("CurrentTime");
lcd.setCursor(12, 2);
lcd.print(":");
lcd.setCursor(14, 2);
lcd.print(currentTime);
delay(1000);
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 2);
}
void printSensorInfos(){
lcd.setCursor(0, 3); // curseur sur 1ere colone, 4eme ligne
lcd.print("Poulailler"); // afficher Heure
lcd.setCursor(11, 3); // curseur sur 8eme colone ,4eme ligne
lcd.print(":"); // etc...
lcd.setCursor(13, 3);
lcd.print(statutPoulailler());
delay(1000);
lcd.setCursor(0, 3);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print("Enclos");
lcd.setCursor(7, 3);
lcd.print(":");
lcd.setCursor(9, 3);
lcd.print(statutEnclos());
delay(1000);
lcd.setCursor(0, 3);
lcd.print(" ");
}
void getHeureDate(){
if (heure != now.hour()){
lcd.setCursor(6, 0); // curseur à droite de Heure
heure = now.hour(); // on verrouille ajuste heure pour que lors du prochaine appel on passe à la suite sans afficher l'heure
if (heure <10){ // si on on reste en dessous de 10 , l'heure utilise qu'une colone
lcd.print("0"); // on met un 0 dans la premiere des deux colone prévue pour l'heure
}
lcd.print(heure);
}
if (minutes != now.minute()){
lcd.setCursor(9, 0);
minutes = now.minute();
if (minutes <10){
lcd.print("0");
}
lcd.print(minute);
}
if (secondes != now.second()){
lcd.setCursor(12, 0);
secondes = now.second();
if (secondes <10){
lcd.print("0");
}
lcd.print(secondes);
}
if (jours != now.day())
jours = now.day();
{
lcd.setCursor(5, 1);
if (jours <10){
lcd.print("0");
}
lcd.print(jours);
}
if (mois != now.month())
mois = now.month();
{
lcd.setCursor(8, 1);
if (mois <10){
lcd.print("0");
}
lcd.print(mois);
}
if (annee != now.year())
annee = now.year();{
lcd.setCursor(11, 1);
lcd.print(annee);
}
}
J'ignore si ça va marcher, j'ai encore rien testé !