Strani simboli su display lcd

sto modificando il codice originale sempre sul banco. eccolo:

  #include <DS3232RTC.h> 
  #include <LiquidCrystal_I2C.h>
  #include <Wire.h>
  #include <Time.h>
  #include <TimeLib.h>
  #include <DHT.h>
  #define DHTPIN 6 // 6 è il pin di Arduino a cui collego il sensore di temperatura
  #define DHTTYPE DHT22 // dht22 è il tipo di sensore che uso
  DHT dht(DHTPIN, DHTTYPE);
  #define Isteresi 3
  #define TempImpostata 22
  LiquidCrystal_I2C lcd(0x27,20,4); 
  DS3232RTC rtc;
   
  time_t myTime;
  
  
  #define PAUSA 600000
  #define DURATA 60000
  unsigned long t1=0;
  byte on=0;
  int relay_luci = 3; // PIN DEL RELè LUCE
  int relayVentolaEntrata = 10;
  int relayVentolaUscita= 9;
  int relay_calore = 8; //calore
  //Setup light cycle for both bars
  const int OraAccensione = 6;     //Accensione luci alle 6:00:00
  const int OraSpegnimento = 23;    // Spegnimento luci alle 20:59:59


void setup() 
{
  lcd.init();
  rtc.begin();
  lcd.clear();
  lcd.backlight();
  setTime(19, 54, 00, 06, 3, 2019);   //set the system time to 23h31m30s on 13Feb2009 
  lcd.setCursor(0, 1);
  lcd.print("Temp:");
  lcd.setCursor(11, 1);
  lcd.print("Hu:");
  lcd.setCursor(19, 1);
  lcd.print("%");
  
  pinMode(relay_luci, OUTPUT);
  digitalWrite(relay_luci,LOW);

  pinMode(relayVentolaEntrata, OUTPUT);
  digitalWrite(relayVentolaEntrata, LOW);

  pinMode(relayVentolaUscita, OUTPUT);
  digitalWrite(relayVentolaUscita, LOW);

  pinMode(relay_calore, OUTPUT);
  digitalWrite(relay_calore, LOW);

}


void loop() 
{
 if (myTime >= OraAccensione && myTime < OraSpegnimento) 
{
if
(millis()-t1>PAUSA && on==0)
  {on=1; 
  digitalWrite(relayVentolaUscita, HIGH);
  digitalWrite(relayVentolaEntrata, HIGH);
  } // Se è trascorsa la pausa, accende
if
(millis()-t1>PAUSA+DURATA)
  {on=0; 
  t1 =millis(); 
  digitalWrite(relayVentolaUscita, LOW);
  digitalWrite(relayVentolaEntrata, LOW);
  }} // Se è trascorsa anche la durata, spegne e azzera.

 
  digitalWrite(relay_luci, HIGH);
  float h = dht.readHumidity();
  float t = dht.readTemperature();
 //lcd.print(rtc.getDateStr());  
  // posiziono il cursore alla colonna 5 e riga 0 
  //lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print (hour());
  lcd.print(":");
  lcd.print(minute());
  lcd.print(":");
  lcd.print(second());
  lcd.setCursor(10, 0);
  lcd.print(day());
  lcd.setCursor(11, 0);
  lcd.print("/");
  lcd.print(month());
  lcd.setCursor(13, 0);
  lcd.print("/");
  lcd.print(year());
  lcd.setCursor(5, 1);    
  lcd.print(t);
  //lcd.setCursor(7, 1);
  //lcd.print("C");
  lcd.setCursor(14, 1);
  lcd.print(h);

 if (t > TempImpostata)
{
  if (t > TempImpostata + Isteresi)
{
  digitalWrite(relay_calore, LOW);
  //digitalWrite(relayVentolaEntrata, HIGH);
  //digitalWrite(relayVentolaUscita, HIGH);
}
  else
{
  digitalWrite(relay_calore, LOW);
  //digitalWrite(relayVentolaEntrata, LOW);
  //digitalWrite(relayVentolaUscita, LOW);
}  
}
  else 
{
  if (t < TempImpostata - Isteresi)
{
  digitalWrite(relay_calore, HIGH);
  //digitalWrite(relayVentolaEntrata, LOW);
  //digitalWrite(relayVentolaUscita, LOW);
}

  else if (myTime >= OraSpegnimento || myTime < OraAccensione)
{
  digitalWrite(relay_luci, LOW);
  digitalWrite(relay_calore, LOW);
  digitalWrite(relayVentolaEntrata, LOW);
  digitalWrite(relayVentolaUscita, LOW);
 // lcd.clear();
  //lcd.noBacklight();
}}}

purtroppo se tolgo le // all'ultima riga del codice

//lcd.noBacklight();

il display si spegne dopo una frazione di secondo. come se non riconoscesse l'orario di accensione e spegnimento.
al momento comunque sembrerebbero risolti i problemi dei simboli strani.
domani provo a riportare tutto nello scatolato.

buonanotte :sleeping: