non so, il tutto mi pare molto strano... ho modificato e riscritto il codice, così le cifre sembrano ritornare, eccolo qui:
#include <LiquidCrystal.h>
#include <Time.h>
#include <Wire.h>
#include <DS1307RTC.h> // a basic DS1307 library that returns time as a time_t
LiquidCrystal LCD(12,11,5,4,3,2);
void setup() {
LCD.begin (16,2);
Serial.begin(9600);
setSyncProvider(RTC.get); // comando per ricevere l'ora dall'RTC
}
void loop()
{
LCD.setCursor(0,0);
digitalClockDisplay();
delay(1000);
DS1307RTC();
}
void digitalClockDisplay(){
// digital clock display of the time
LCD.print(hour());
printDigits(minute());
LCD.setCursor(5,0);
printDigits(second());
LCD.print(" ");
}
void printDigits(int digits){
// utility function for digital clock display: prints preceding colon and leading 0
LCD.print(":");
if(digits < 10)
LCD.print('0');
LCD.print(digits);
}
void DS1307RTC(){
int ledw1=9;//pin linea led bianchi e rb posteriore
int ledw2=10;//pin linea led bianchi e rb anteriore
int leduv=6;//pin linea led rossi, verdi, uv
int dim;
int ora;
int oras;
int moonlight=7;//pin led lunari
int time=(hour()*100 + minute());//orario hr,min,sec ridotto in secondi//cambiato da unsigned int a int
pinMode (ledw1,OUTPUT);
pinMode (ledw2, OUTPUT);
pinMode (leduv, OUTPUT);
pinMode (moonlight,OUTPUT);
dim=14;//aumento intensità per ogni step
ora=1200;//12:30 ora accensione
oras=2315;//23:15 ora spegnimento
int x=3;//intervallo in minuti tra un fade e un altro
LCD.clear();
/*impostazione per l'accensione deiled lunari*/
if (time >= 2300 && time <= 2359){
digitalWrite (moonlight, HIGH);
}
if (time >= 0 && time <=1245){
digitalWrite (moonlight, HIGH);
}
else{
digitalWrite (moonlight, LOW);}
/*inizio della fase 'Alba' e aumento graduale dell'intensità dell'illuminazione*/
if ( time >= ora&&time <ora+x)
{
analogWrite (ledw1,dim*18);
analogWrite (ledw2,dim*18);
analogWrite (leduv, dim*16);
LCD.setCursor(0,1);
LCD.print ("Alba 0%");
}
if (time >= ora+x&&time<ora+x*2)
{
analogWrite (ledw1,dim*18);
analogWrite (ledw2,dim*18);
analogWrite (leduv, dim*14);
LCD.setCursor(0,1);
LCD.print ("Alba 6%");
}
if (time >= ora+x*2&&time < ora+x*3)
{
analogWrite (ledw1,dim*18);
analogWrite (ledw2,dim*16);
analogWrite (leduv, dim*14);
LCD.setCursor(0,1);
LCD.print ("Alba 12%");
}
if (time >= ora+x*3&&time < ora+x*4)
{
analogWrite (ledw1,dim*17);
analogWrite (ledw2,dim*15);
analogWrite (leduv, dim*13);
LCD.setCursor(0,1);
LCD.print ("Alba 18%");
}
if (time >=ora+x*4&&time < ora+x*5)
{
analogWrite (ledw1,dim*16);
analogWrite (ledw2,dim*14);
analogWrite (leduv, dim*12);
LCD.setCursor(0,1);
LCD.print ("Alba 24%");
}
if (time >= ora+x*5&&time < ora+x*6)
{
analogWrite (ledw1,dim*15);
analogWrite (ledw2,dim*13);
analogWrite (leduv, dim*11);
LCD.setCursor(0,1);
LCD.print ("Alba 30%");
}
if (time >= ora+x*6&&time < ora+x*7)
{
analogWrite (ledw1,dim*14);
analogWrite (ledw2,dim*12);
analogWrite (leduv, dim*10);
LCD.setCursor(0,1);
LCD.print ("Alba 36%");
}
if (time >= ora+x*7&&time < ora+x*

{
analogWrite (ledw1,dim*13);
analogWrite (ledw2,dim*11);
analogWrite (leduv, dim*9);
LCD.setCursor(0,1);
LCD.print ("Alba 42%");
}
if (time >= ora+x*8&&time < ora+x*9)
{
analogWrite (ledw1,dim*12);
analogWrite (ledw2,dim*10);
analogWrite (leduv, dim*

;
LCD.setCursor(0,1);
LCD.print ("Alba 48%");
}
if (time >= ora+x*9&&time < ora+x*10)
{
analogWrite (ledw1,dim*11);
analogWrite (ledw2,dim*9);
analogWrite (leduv, dim*7);
LCD.setCursor(0,1);
LCD.print ("Alba 54%");
}
if (time >= ora+x*10 && time < ora+x*11)
{
analogWrite (ledw1,dim*10);
analogWrite (ledw2,dim*

;
analogWrite (leduv, dim*6);
LCD.setCursor(0,1);
LCD.print ("Alba 60%");
}
if (time >= ora+x*11 && time < ora+x*12)
{
analogWrite (ledw1,dim*9);
analogWrite (ledw2,dim*7);
analogWrite (leduv, dim*5);
LCD.setCursor(0,1);
LCD.print ("Alba 66%");
}
if (time >= ora+x*12 && time < ora+x*13)
{
analogWrite (ledw1,dim*

;
analogWrite (ledw2,dim*6);
analogWrite (leduv, dim*4);
LCD.setCursor(0,1);
LCD.print ("Alba 72%");
}
if (time >= ora+x*13 && time < ora+x*14)
{
analogWrite (ledw1,dim*7);
analogWrite (ledw2,dim*5);
analogWrite (leduv, dim*4);
LCD.setCursor(0,1);
LCD.print ("Alba 78%");
}
if (time >= ora+x*14 && time < ora+x*15)
{
analogWrite (ledw1,dim*6);
analogWrite (ledw2,dim*4);
analogWrite (leduv, dim*4);
LCD.setCursor(0,1);
LCD.print ("Alba 84%");
}
if (time >= ora+x*15 && time < ora+x*16)
{
analogWrite (ledw1,dim*5);
analogWrite (ledw2,dim*4);
analogWrite (leduv, dim*4);
LCD.setCursor(0,1);
LCD.print ("Alba 90%");
}
/*fase intermedia 'Giorno' nella quale l'illuminazione viene tenuta al massimo dell'intensità impostata e che va dalla fine dell'alba all'inizio della fase di decremento dell'illuminazione 'Tramonto' */
if (time >= ora+x*16 && time < oras+x)
{
analogWrite (ledw1,dim*4);
analogWrite (ledw2,dim*4);
analogWrite (leduv, dim*4);
LCD.setCursor(0,1);
LCD.print ("Giorno");
}