![]() |
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] |
Ciao, ho sempre pensato che per riuscire a programmare la centralina Arduino bisogna essere degli ingegneri elettronici
|
C' e' qui siu AP un topic aperto da un utente che ha creato una libreria per arduino che gestisce semplicemente alba tramonto e orari di accensione dei led.....devi cercare "aquarduino"
|
Ora mi metto alla ricerca..
|
Tutti gli orari sono GMT +2. Attualmente sono le 05:12. |
Powered by vBulletin versione 3.8.9
Copyright ©: 2000 - 2025, Jelsoft Enterprises Ltd.
Traduzione italiana Team: AcquaPortal
User Alert System provided by
Advanced User Tagging v3.2.5 Patch Level 2 (Lite) -
vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Copyright Zero Pixel Srl