| Batterio 
				 
				Registrato: Oct 2013 Città: codigoro (Fe) Acquariofilo: Dolce/Marino  
					Messaggi: 2
				 
		
		Post "Grazie" / "Mi Piace"
 Mentioned: 0 Post(s)      Annunci Mercatino: 0
 | 
				 creara una rampa per alba e tramonto con arduino 
 ho fatto questo programma per la gestione della plafoniera ma non riesco a creare una rampa in funzione al tempo che gli imposto per l'accensione dei led...aiuto[CODICE]#include <ShiftLCD.h>  //libreria shift register
 #include <math.h>  // libreria calcoli matematici
 #include <swRTC.h>  //libreria rtc
 
 //pin 13/11 non utilizzabili senza shield RTC
 //pin 3 non utilizzabile come uscita analogicam
 #define sens A0  //sensore temperatura NTC 5Kohm
 #define pulmenu A1  //scorrimento menù
 #define pulset A2  //pulsante di conferma
 #define pulpiu A3  //pulsante che incrementa il valore impostato
 #define pulmeno A4  //pulsante che decrementa il valore impostato
 #define ventole 3  //ventole di raffreddamento
 #define led20 6  //led bianchi 20.000K°
 #define led10 5  //led bianchi 10.000K°
 #define ledrb 9  //led royal blu
 #define leduv 10  //led uv
 #define ledm 4  //led moom
 ShiftLCD lcd(0,2,1);  //lcd
 swRTC rtc;  //rtc
 
 int spulmenu=0; //stato pulsante di scorrimento menù
 int spulset=0;  //stato pulsante di conferma
 int contamenu=0;  //contatore pagine menù
 int spulpiu=0;  //stato pulsante che incrementa il valore impostato
 int spulmeno=0;  //stato pulsante che decrementa il valore impostato
 int hh=12;  //valore di preset ore
 int mm=0;  //valore di preset minuti
 int ss=(rtc.getSeconds()); //valore di preset secondi
 int svtemp=15;  //set della temperatura di comando ventole
 int onhh20=13;  //valore di on ore led bianchi 20.000K°
 int onmm20=0;  //valore di on minuti led bianchi 20.000K°
 int onhh10=12;  //valore di on ore led bianchi 10.000K°
 int onmm10=1;  //valore di on minuti led bianchi 10.000K°
 int onhhrb=13;  //valore di on ore led rb
 int onmmrb=2;  //valore di on minuti led rb
 int onhhuv=13;  //valore di on ore led uv
 int onmmuv=3;  //valore di on minuti led uv
 int onhhm=13;  //valore di on ore led moom
 int onmmm=3;  //valore di on minuti led moom
 int offhh20=13;  //valore di off ore led bianchi 20.000K°
 int offmm20=4;  //valore di off minuti led bianchi 20.000K°
 int offhh10=13;  //valore di off ore led bianchi 10.000K°
 int offmm10=5;  //valore di off minuti led bianchi 10.000K°
 int offhhrb=13;  //valore di off ore led rb
 int offmmrb=6;  //valore di off minuti led rb
 int offhhuv=13;  //valore di off ore led uv
 int offmmuv=7;  //valore di off minuti led uv
 int offhhm=13;  //valore di off ore led moom
 int offmmm=8;  //valore di off minuti led moom
 int slum20=(slum20/2.54);  //set luminostità led bianchi 20.000K°
 int slum10=(slum10/2.54);  //set luminostità led bianchi 10.000K°
 int slumrb=(slumrb/2.54);  //set luminostità led rb
 int slumuv=(slumuv/2.54);  //set luminostità led uv
 int stimer10=1;  //set tempo di accensione led bianchi 10.000K°
 int stimer20=2;  //set tempo di accensione led bianchi 20.000K°
 int stimerrb=3;  //set tempo di accensione led royal blu
 int stimeruv=4;  //set tempo di accensione led uv
 int stimerm=5;  //set tempo di accensione led moom
 int lum20=0;  // luminostità led bianchi 20.000K°
 int lum10=0;  // luminostità led bianchi 10.000K°
 int lumrb=0;  // luminostità led rb
 int lumuv=0;  // luminostità led uv
 int lumm=0;  // luminostità led moom
 
 float val=0;           //Variabile di comodo per il calcolo della temperatura in base al proprio NTC
 float NTC=5000;        //Valore dell'NTC utilizzato. 5000=5k
 float vsens(int RawADC){
 val=10000/NTC;
 val=4.5*val;
 val=NTC*val;
 long resistenza;
 float Temp;  //per il calcolo della tempratura
 resistenza=((1024 * val / RawADC) - val);
 Temp = log(resistenza); //Salva Log(resistance)
 Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
 Temp = Temp - 273.15;  // Converte gradi Kelvin in Celsius
 return Temp;           //Ritorna la temperatura calcolata
 }
 
 byte gradi[8] = {B00111,B00101,B00111};  //simbolo gradi
 
 void setup(){
 lcd.begin(16,2);
 rtc.setTime(hh,mm,ss);
 rtc.stopRTC();
 rtc.startRTC();
 pinMode(ventole,OUTPUT);
 pinMode(led20,OUTPUT);
 pinMode(led10,OUTPUT);
 pinMode(ledrb,OUTPUT);
 pinMode(leduv,OUTPUT);
 pinMode(ledm,OUTPUT);
 }
 
 void loop(){
 delay(150);  //ritardo risposta pulsanti
 float temp;temp=vsens(analogRead(sens));temp = (temp * 9.0)/ 5.0 + 32.0;  //calcolo della temperatura
 if(temp>=svtemp){digitalWrite(ventole,HIGH);}else{  digitalWrite(ventole,LOW);}  //controllo ventole con la temperatura
 rtc.getHours();rtc.getMinutes();rtc.getSeconds();  //orologio
 
 spulmenu=analogRead(pulmenu);
 spulset=analogRead(pulset);
 spulpiu=analogRead(pulpiu);
 spulmeno=analogRead(pulmeno);
 
 //scorrimento menù
 if((spulmenu>10)&&(contamenu==0)){contamenu=1;lcd.  clear();
 }else{if((spulmenu>10)&&(contamenu==1)){contamenu=  2;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==2)){contamenu=  3;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==3)){contamenu=  4;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==4)){contamenu=  5;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==5)){contamenu=  6;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==6)){contamenu=  7;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==7)){contamenu=  0;lcd.clear();
 }}}}}}}}
 //scorrimento sottomenù led 10000°K
 if((spulset>10)&&(contamenu==1)){contamenu=11;lcd.  clear();
 }else{if((spulmenu>10)&&(contamenu==11)){contamenu  =12;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==12)){contamenu  =13;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==13)){contamenu  =14;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==14)){contamenu  =15;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==15)){contamenu  =11;lcd.clear();
 }}}}}}
 //scorrimento sottomenù led 20000°K
 if((spulset>10)&&(contamenu==2)){contamenu=21;lcd.  clear();
 }else{if((spulmenu>10)&&(contamenu==21)){contamenu  =22;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==22)){contamenu  =23;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==23)){contamenu  =24;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==24)){contamenu  =25;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==25)){contamenu  =21;lcd.clear();
 }}}}}}
 //scorrimento sottomenù led royal blu
 if((spulset>10)&&(contamenu==3)){contamenu=31;lcd.  clear();
 }else{if((spulmenu>10)&&(contamenu==31)){contamenu  =32;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==32)){contamenu  =33;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==33)){contamenu  =34;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==34)){contamenu  =35;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==35)){contamenu  =31;lcd.clear();
 }}}}}}
 //scorrimento sottomenù led uv
 if((spulset>10)&&(contamenu==4)){contamenu=41;lcd.  clear();
 }else{if((spulmenu>10)&&(contamenu==41)){contamenu  =42;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==42)){contamenu  =43;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==43)){contamenu  =44;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==44)){contamenu  =45;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==45)){contamenu  =41;lcd.clear();
 }}}}}}
 //scorrimento sottomenù led moom
 if((spulset>10)&&(contamenu==5)){contamenu=51;lcd.  clear();
 }else{if((spulmenu>10)&&(contamenu==51)){contamenu  =52;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==52)){contamenu  =53;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==53)){contamenu  =54;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==54)){contamenu  =51;lcd.clear();
 }}}}}
 //scorrimento sottomenù ventole
 if((spulset>10)&&(contamenu==6)){contamenu=61;lcd.  clear();
 }else{if((spulmenu>10)&&(contamenu==61)){contamenu  =62;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==62)){contamenu  =61;lcd.clear();
 }}}
 //scorrimento sottomenù orario
 if((spulset>10)&&(contamenu==7)){contamenu=71;lcd.  clear();
 }else{if((spulmenu>10)&&(contamenu==71)){contamenu  =72;lcd.clear();
 }else{if((spulmenu>10)&&(contamenu==72)){contamenu  =71;lcd.clear();
 }}}
 //uscita menù
 if((spulset>10)&&(contamenu==15)){contamenu=1;lcd.  clear();
 }else{if((spulset>10)&&(contamenu==25)){contamenu=  2;lcd.clear();
 }else{if((spulset>10)&&(contamenu==35)){contamenu=  3;lcd.clear();
 }else{if((spulset>10)&&(contamenu==45)){contamenu=  4;lcd.clear();
 }else{if((spulset>10)&&(contamenu==54)){contamenu=  5;lcd.clear();
 }else{if((spulset>10)&&(contamenu==62)){contamenu=  6;lcd.clear();
 }else{if((spulset>10)&&(contamenu==72)){contamenu=  7;lcd.clear();
 }}}}}}}
 if((onhh10==rtc.getHours())&&(onmm10==rtc.getMinut  es())){lum10++;}if(lum10>slum10){lum10=slum10;}  //orario di on led bianchi 10.000K°
 if((offhh10==rtc.getHours())&&(offmm10==rtc.getMin  utes())){lum10--;}if(lum10<1){lum10=0;}  //orario di off led bianchi 10.000K°
 analogWrite(led10,lum10);
 
 
 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 switch(contamenu){
 
 case 0:  //pagina iniziale
 lcd.setCursor(0, 0);
 if (rtc.getHours()<10){lcd.print("0");}lcd.print(rtc.  getHours(), DEC);
 lcd.print(":");
 if (rtc.getMinutes()<10){lcd.print("0");}lcd.print(rt  c.getMinutes(), DEC);
 lcd.print(":");
 if (rtc.getSeconds()<10){lcd.print("0");}lcd.print(rt  c.getSeconds(), DEC);
 lcd.print(" ");
 lcd.setCursor(12,0);lcd.print(temp,0.5);
 lcd.setCursor(14,0);lcd.write(0);lcd.createChar(0,  gradi);lcd.setCursor(15,0);lcd.print("C");
 lcd.setCursor(3,1);
 lcd.print("POWER:");lcd.print("");lcd.print("%  ");
 break;
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 case 1:  //pagina  led 10000K
 lcd.setCursor(1,0);
 lcd.print("SET LED 10000K");
 break;
 
 case 11:  //pagina ora di accensone led 10000K
 lcd.setCursor(5,0);
 lcd.print("SET ON");
 lcd.setCursor(4,1);
 if (onhh10<10){lcd.print("0");}lcd.print(onhh10);lcd.  print(":");
 if (onmm10<10){lcd.print("0");}lcd.print(onmm10);lcd.  print(":");
 lcd.print("00");
 if(spulpiu>10){onmm10++;if(onmm10>59){onmm10=0;onh  h10++;}if(onhh10>23){onhh10=0;}}  //incrementa ore/minuti
 if(spulmeno>10){onmm10--;if(onmm10<0){onmm10=59;onhh10--;}if(onhh10<0){onhh10=23;}}  //decrementa ore/minuti
 break;
 
 case 12:  //pagina ora di spegnimento led 10000K
 lcd.setCursor(5,0);
 lcd.print("SET OFF");
 lcd.setCursor(4,1);
 if (offhh10<10){lcd.print("0");}lcd.print(offhh10);lc  d.print(":");
 if (offmm10<10){lcd.print("0");}lcd.print(offmm10);lc  d.print(":");
 lcd.print("00");
 if(spulpiu>10){offmm10++;if(offmm10>59){offmm10=0;  offhh10++;}if(offhh10>23){offhh10=0;}}  //incrementa ore/minuti
 if(spulmeno>10){offmm10--;if(offmm10<0){offmm10=59;offhh10--;}if(offhh10<0){offhh10=23;}}  //decrementa ore/minuti
 break;
 
 case 13:  //pagina intensità led 10000K
 lcd.setCursor(2,0);
 lcd.print("SET INTENSITY");
 lcd.setCursor(7,1);
 if(spulpiu>10){slum10++;if(slum10>99){slum10=100;}  }  //aumenta intensità led 10000K
 if(spulmeno>10){slum10--;if(slum10<1){slum10=0;}}  //diminuisci intensità led 10000K
 if (slum10<10){lcd.print("0");}lcd.print(slum10);lcd.  print("%  ");
 break;
 
 case 14:  //pagina tempo accensione/spegnimento led 10000K
 lcd.setCursor(2,0);
 lcd.print("SET TIMER ON");
 lcd.setCursor(5,1);
 if(spulpiu>10){stimer10++;if(stimer10>1440){stimer  10=0;}}  //incrementa minuti
 if(spulmeno>10){stimer10--;if(stimer10<0){stimer10=1440;}}  //decrementa minuti
 if (stimer10<10){lcd.print("0");}lcd.print(stimer10);  lcd.print("min.    ");
 
 break;
 
 case 15:  //uscita menù
 lcd.setCursor(6,0);
 lcd.print("EXIT");
 break;
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 case 2:  //pagina led 20000K
 lcd.setCursor(1,0);
 lcd.print("SET LED 20000K");
 break;
 
 case 21:  //pagina ora di accensone led 20000K
 lcd.setCursor(5,0);
 lcd.print("SET ON");
 lcd.setCursor(4,1);
 if (onhh20<10){lcd.print("0");}lcd.print(onhh20);lcd.  print(":");
 if (onmm20<10){lcd.print("0");}lcd.print(onmm20);lcd.  print(":");
 lcd.print("00");
 if(spulpiu>10){onmm20++;if(onmm20>59){onmm20=0;onh  h20++;}if(onhh20>23){onhh20=0;}}  //incrementa ore/minuti
 if(spulmeno>10){onmm20--;if(onmm20<0){onmm20=59;onhh20--;}if(onhh20<0){onhh20=23;}}  //decrementa ore/minuti
 break;
 
 case 22:  //pagina ora di spegnimento led 20000K
 lcd.setCursor(5,0);
 lcd.print("SET OFF");
 lcd.setCursor(4,1);
 if (offhh20<10){lcd.print("0");}lcd.print(offhh20);lc  d.print(":");
 if (offmm20<10){lcd.print("0");}lcd.print(offmm20);lc  d.print(":");
 lcd.print("00");
 if(spulpiu>10){offmm20++;if(offmm20>59){offmm20=0;  offhh20++;}if(offhh20>23){offhh20=0;}}  //incrementa ore/minuti
 if(spulmeno>10){offmm20--;if(offmm20<0){offmm20=59;offhh20--;}if(offhh20<0){offhh20=23;}}  //decrementa ore/minuti
 break;
 
 case 23:  //pagina intensità led 20000K
 lcd.setCursor(2,0);
 lcd.print("SET INTENSITY");
 lcd.setCursor(7,1);
 if(spulpiu>10){slum20++;if(slum20>99){slum20=100;}  }  //aumenta intensità led 20000K
 if(spulmeno>10){slum20--;if(slum20<1){slum20=0;}}  //diminuisci intensità led 20000K
 if (slum20<10){lcd.print("0");}lcd.print(slum20);lcd.  print("%  ");
 break;
 
 case 24:  //pagina tempo accensione/spegnimento led 20000K
 lcd.setCursor(2,0);
 lcd.print("SET TIMER ON");
 lcd.setCursor(5,1);
 if(spulpiu>10){stimer20++;if(stimer20>1440){stimer  20=0;}}  //incrementa minuti
 if(spulmeno>10){stimer20--;if(stimer20<0){stimer20=1440;}}  //decrementa minuti
 if (stimer20<10){lcd.print("0");}lcd.print(stimer20);  lcd.print("min.    ");
 break;
 
 case 25:  //uscita menù
 lcd.setCursor(6,0);
 lcd.print("EXIT");
 break;
 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 case 3:  //pagina led royal blue
 lcd.setCursor(1,0);
 lcd.print("SET ROYAL BLUE");
 break;
 
 case 31:  //pagina ora di accensone led royal blue
 lcd.setCursor(5,0);
 lcd.print("SET ON");
 lcd.setCursor(4,1);
 if (onhhrb<10){lcd.print("0");}lcd.print(onhhrb);lcd.  print(":");
 if (onmmrb<10){lcd.print("0");}lcd.print(onmmrb);lcd.  print(":");
 lcd.print("00");
 if(spulpiu>10){onmmrb++;if(onmmrb>59){onmmrb=0;onh  hrb++;}if(onhhrb>23){onhhrb=0;}}  //incrementa ore/minuti
 if(spulmeno>10){onmmrb--;if(onmmrb<0){onmmrb=59;onhhrb--;}if(onhhrb<0){onhhrb=23;}}  //decrementa ore/minuti
 break;
 
 case 32:  //pagina ora di spegnimento led royal blue
 lcd.setCursor(5,0);
 lcd.print("SET OFF");
 lcd.setCursor(4,1);
 if (offhhrb<10){lcd.print("0");}lcd.print(offhhrb);lc  d.print(":");
 if (offmmrb<10){lcd.print("0");}lcd.print(offmmrb);lc  d.print(":");
 lcd.print("00");
 if(spulpiu>10){offmmrb++;if(offmmrb>59){offmmrb=0;  offhhrb++;}if(offhhrb>23){offhhrb=0;}}  //incrementa ore/minuti
 if(spulmeno>10){offmmrb--;if(offmmrb<0){offmmrb=59;offhhrb--;}if(offhhrb<0){offhhrb=23;}}  //decrementa ore/minuti
 break;
 
 case 33:  //pagina intensità led royal blue
 lcd.setCursor(2,0);
 lcd.print("SET INTENSITY");
 lcd.setCursor(7,1);
 if(spulpiu>10){slumrb++;if(slumrb>99){slumrb=100;}  }  //aumenta intensità led royal blue
 if(spulmeno>10){slumrb--;if(slumrb<1){slumrb=0;}}  //diminuisci intensità led royal blue
 if (slumrb<10){lcd.print("0");}lcd.print(slumrb);lcd.  print("%  ");
 break;
 
 case 34:  //pagina tempo accensione/spegnimento led royal blue
 lcd.setCursor(2,0);
 lcd.print("SET TIMER ON");
 lcd.setCursor(5,1);
 if(spulpiu>10){stimerrb++;if(stimerrb>1440){stimer  rb=0;}}  //incrementa minuti
 if(spulmeno>10){stimerrb--;if(stimerrb<0){stimerrb=1440;}}  //decrementa minuti
 if (stimerrb<10){lcd.print("0");}lcd.print(stimerrb);  lcd.print("min.    ");
 break;
 
 case 35:  //uscita menù
 lcd.setCursor(6,0);
 lcd.print("EXIT");
 break;
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 case 4:  //pagina led UV
 lcd.setCursor(3,0);
 lcd.print("SET LED UV");
 break;
 
 case 41:  //pagina ora di accensone led uv
 lcd.setCursor(5,0);
 lcd.print("SET ON");
 lcd.setCursor(4,1);
 if (onhhuv<10){lcd.print("0");}lcd.print(onhhuv);lcd.  print(":");
 if (onmmuv<10){lcd.print("0");}lcd.print(onmmuv);lcd.  print(":");
 lcd.print("00");
 if(spulpiu>10){onmmuv++;if(onmmuv>59){onmmuv=0;onh  huv++;}if(onhhuv>23){onhhuv=0;}}  //incrementa ore/minuti
 if(spulmeno>10){onmmuv--;if(onmmuv<0){onmmuv=59;onhhuv--;}if(onhhuv<0){onhhuv=23;}}  //decrementa ore/minuti
 break;
 
 case 42:  //pagina ora di spegnimento led uv
 lcd.setCursor(5,0);
 lcd.print("SET OFF");
 lcd.setCursor(4,1);
 if (offhhuv<10){lcd.print("0");}lcd.print(offhhuv);lc  d.print(":");
 if (offmmuv<10){lcd.print("0");}lcd.print(offmmuv);lc  d.print(":");
 lcd.print("00");
 if(spulpiu>10){offmmuv++;if(offmmuv>59){offmmuv=0;  offhhuv++;}if(offhhuv>23){offhhuv=0;}}  //incrementa ore/minuti
 if(spulmeno>10){offmmuv--;if(offmmuv<0){offmmuv=59;offhhuv--;}if(offhhuv<0){offhhuv=23;}}  //decrementa ore/minuti
 break;
 
 case 43:  //pagina intensità led uv
 lcd.setCursor(2,0);
 lcd.print("SET INTENSITY");
 lcd.setCursor(7,1);
 if(spulpiu>10){slumuv++;if(slumuv>99){slumuv=100;}  }  //aumenta intensità led uv
 if(spulmeno>10){slumuv--;if(slumuv<1){slumuv=0;}}  //diminuisci intensità led uv
 if (slumuv<10){lcd.print("0");}lcd.print(slumuv);lcd.  print("%  ");
 break;
 
 case 44:  //pagina tempo accensione/spegnimento led uv
 lcd.setCursor(2,0);
 lcd.print("SET TIMER ON");
 lcd.setCursor(5,1);
 if(spulpiu>10){stimeruv++;if(stimeruv>1440){stimer  uv=0;}}  //incrementa minuti
 if(spulmeno>10){stimeruv--;if(stimeruv<0){stimeruv=1440;}}  //decrementa minuti
 if (stimeruv<10){lcd.print("0");}lcd.print(stimeruv);  lcd.print("min.    ");
 break;
 
 case 45:  //uscita menù
 lcd.setCursor(6,0);
 lcd.print("EXIT");
 break;
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 case 5:  //pagina led moom
 lcd.setCursor(2,0);
 lcd.print("SET LED MOON");
 break;
 
 case 51:  //pagina ora di accensone led moom
 lcd.setCursor(5,0);
 lcd.print("SET ON");
 lcd.setCursor(4,1);
 if (onhhm<10){lcd.print("0");}lcd.print(onhhm);lcd.pr  int(":");
 if (onmmm<10){lcd.print("0");}lcd.print(onmmm);lcd.pr  int(":");
 lcd.print("00");
 if(spulpiu>10){onmmm++;if(onmmm>59){onmmm=0;onhhm+  +;}if(onhhm>23){onhhm=0;}}  //incrementa ore/minuti
 if(spulmeno>10){onmmm--;if(onmmm<0){onmmm=59;onhhm--;}if(onhhm<0){onhhm=23;}}  //decrementa ore/minuti
 break;
 
 case 52:  //pagina ora di spegnimento led moom
 lcd.setCursor(5,0);
 lcd.print("SET OFF");
 lcd.setCursor(4,1);
 if (offhhm<10){lcd.print("0");}lcd.print(offhhm);lcd.  print(":");
 if (offmmm<10){lcd.print("0");}lcd.print(offmmm);lcd.  print(":");
 lcd.print("00");
 if(spulpiu>10){offmmm++;if(offmmm>59){offmmm=0;off  hhm++;}if(offhhm>23){offhhm=0;}}  //incrementa ore/minuti
 if(spulmeno>10){offmmm--;if(offmmm<0){offmmm=59;offhhm--;}if(offhhm<0){offhhm=23;}}  //decrementa ore/minuti
 break;
 
 case 53:  //pagina tempo accensione/spegnimento led moom
 lcd.setCursor(2,0);
 lcd.print("SET TIMER ON");
 lcd.setCursor(5,1);
 if(spulpiu>10){stimerm++;if(stimerm>1440){stimerm=  0;}}  //incrementa minuti
 if(spulmeno>10){stimerm--;if(stimerm<0){stimerm=1440;}}  //decrementa minuti
 if (stimerm<10){lcd.print("0");}lcd.print(stimerm);lc  d.print("min.    ");
 break;
 
 case 54:  //uscita menù
 lcd.setCursor(6,0);
 lcd.print("EXIT");
 break;
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 case 6:  //pagina ventole
 lcd.setCursor(5,0);
 lcd.print("SET FAN");
 break;
 
 case 61:  //pagina ventole
 lcd.setCursor(1,0);lcd.write(0);lcd.createChar(0,g  radi);
 lcd.setCursor(2,0);
 lcd.print("C");
 lcd.setCursor(4,0);
 lcd.print("ON VENTOLE");
 lcd.setCursor(6,1);
 if (svtemp<10){lcd.print("0");}lcd.print(svtemp);
 lcd.setCursor(8,1);lcd.write(0);lcd.createChar(0,g  radi);
 lcd.setCursor(9,1);
 lcd.print("C");
 if(spulpiu>10){svtemp++;}if(svtemp>99){svtemp=0;}
 if(spulmeno>10){svtemp--;}if(svtemp<1){svtemp=99;}
 break;
 
 case 62:  //uscita menù
 lcd.setCursor(6,0);
 lcd.print("EXIT");
 break;
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 case 7:  //pagina orologio
 lcd.setCursor(4,0);
 lcd.print("SET CLOCK");
 break;
 
 case 71:  //pagina modifica orologio
 lcd.setCursor(2,0);
 lcd.print("CHANGE CLOCK");
 lcd.setCursor(4,1);
 if(spulpiu>10){ss=0;rtc.setTime(hh,mm++,ss);if(mm>  59){mm=0;hh++;}if(hh>23){hh=0;}}  //incrementa ore/minuti
 if(spulmeno>10){ss=0;rtc.setTime(hh,mm--,ss);if(mm<0){mm=59;hh--;}if(hh<0){hh=23;}}  //decrementa ore/minuti
 if (rtc.getHours()<10){lcd.print("0");}lcd.print(rtc.  getHours(), DEC);
 lcd.print(":");
 if (rtc.getMinutes()<10){lcd.print("0");}lcd.print(rt  c.getMinutes(), DEC);
 lcd.print(":");
 if (rtc.getSeconds()<10){lcd.print("0");}lcd.print(rt  c.getSeconds(), DEC);
 break;
 
 case 72:  //uscita menù
 lcd.setCursor(6,0);
 lcd.print("EXIT");
 break;
 }
 }
 [/CODE]
 |