Ciclide
Registrato: Oct 2010
Città: Carpi (MO)
Acquariofilo: Dolce
N° Acquari: 1
Età : 47
Messaggi: 1.239
Post "Grazie" / "Mi Piace"
Mentioned: 45 Post(s)
Annunci Mercatino: 0
|
Purtroppo ho dovuto " tagliare" in due il codice perché troppo lungo per essere pubblicato intero.
Quello che segue è solo il completamento del codice precedente.
codice:
void loop(void)
{
char buffer[10] = "";
DateTime now = RTC.now();
readButtons();
navigateMenus();
rilevTemp();
if (temperatura > (tRefrig + dRefrig)){
digitalWrite(refrig,HIGH);
}
else {
digitalWrite(refrig,LOW);
}
if (temperatura < (tRisc - dRisc)){
digitalWrite(risc,HIGH);
}
else {
digitalWrite(risc,LOW);
}
if (now.hour() == ACH1h && now.minute() == ACH1m){
tramonto1 = false;
alba1 = true;
}
if (now.hour() == TCH1h && now.minute() == TCH1m) {
alba1 = false;
}
if (now.hour() == ACH2h && now.minute() == ACH2m){
tramonto2 = false;
alba2 = true;
}
if (now.hour() == TCH2h && now.minute() == TCH2m) {
alba2 = false;
}
if (now.hour() == ACH3h && now.minute() == ACH3m){
tramonto3 = false;
alba3 = true;
}
if (now.hour() == TCH3h && now.minute() == TCH3m) {
alba3 = false;
}
if (now.hour() == ACH4h && now.minute() == ACH4m){
tramonto4 = false;
alba4 = true;
}
if (now.hour() == TCH4h && now.minute() == TCH4m) {
alba4 = false;
}
if (now.hour() == ACH5h && now.minute() == ACH5m){
tramonto5 = false;
alba5 = true;
}
if (now.hour() == TCH5h && now.minute() == TCH5m) {
alba5 = false;
}
if (now.hour() == ACH6h && now.minute() == ACH6m){
tramonto6 = false;
alba6 = true;
}
if (now.hour() == TCH6h && now.minute() == TCH6m) {
alba6 = false;
}
if (now.hour() == ACH7h && now.minute() == ACH7m){
tramonto7 = false;
alba7 = true;
}
if (now.hour() == TCH7h && now.minute() == TCH7m) {
alba7 = false;
}
if (now.hour() == ACH8h && now.minute() == ACH8m){
tramonto8 = false;
alba8 = true;
}
if (now.hour() == TCH8h && now.minute() == TCH8m) {
alba8 = false;
}
// INIZIO IF ALBA CANALE1
if (now.hour() >= ACH1h && now.minute() >= ACH1m && tramonto1 == false ) {
//fnAlba1();
x1++;
analogWrite(LED1, x1);
if (x1 == 255){
tramonto1=true;
}
stepA11 = stepA11 + stepA1;
}
else{
stepA11 = millis();
} // FINE IF ALBA CANALE1
// INIZIO IF TRAMONTO CANALE1
if (now.hour() >= TCH1h && now.minute() >= TCH1m && alba1 == false ) {
x1--;
analogWrite(LED1, x1);
if (x1 == 0){;
alba1=true;
}
stepT11 = stepT11 + stepT1;
}
else{
stepT11 = millis();
} // FINE IF TRAMONTO CANALE1
// INIZIO IF ALBA CANALE2
if (now.hour() >= ACH2h && now.minute() >= ACH2m && tramonto2 == false ) {
//fnAlba1();
x2++;
analogWrite(LED2, x2);
if (x2 == 255){
tramonto2=true;
}
stepA22 = stepA22 + stepA2;
}
else{
stepA22 = millis();
} // FINE IF ALBA CANALE2
// INIZIO IF TRAMONTO CANALE2
if (now.hour() >= TCH2h && now.minute() >= TCH2m && alba2 == false ) {
x2--;
analogWrite(LED2, x2);
if (x2 == 0){;
alba2=true;
}
stepT22 = stepT22 + stepT2;
}
else{
stepT22 = millis();
} // FINE IF TRAMONTO CANALE2
// INIZIO IF ALBA CANALE3
if (now.hour() >= ACH3h && now.minute() >= ACH3m && tramonto3 == false ) {
//fnAlba1();
x3++;
analogWrite(LED3, x3);
if (x3 == 255){
tramonto3=true;
}
stepA33 = stepA33 + stepA3;
}
else{
stepA33 = millis();
} // FINE IF ALBA CANALE3
// INIZIO IF TRAMONTO CANALE3
if (now.hour() >= TCH3h && now.minute() >= TCH3m && alba3 == false ) {
x3--;
analogWrite(LED3, x3);
if (x3 == 0){;
alba3=true;
}
stepT33 = stepT33 + stepT3;
}
else{
stepT33 = millis();
} // FINE IF TRAMONTO CANALE3
// INIZIO IF ALBA CANALE4
if (now.hour() >= ACH4h && now.minute() >= ACH4m && tramonto4 == false ) {
//fnAlba1();
x4++;
analogWrite(LED4, x4);
if (x4 == 255){
tramonto4=true;
}
stepA44 = stepA44 + stepA4;
}
else{
stepA44 = millis();
} // FINE IF ALBA CANALE4
// INIZIO IF TRAMONTO CANALE4
if (now.hour() >= TCH4h && now.minute() >= TCH4m && alba4 == false ) {
x4--;
analogWrite(LED4, x4);
if (x4 == 0){;
alba4=true;
}
stepT44 = stepT44 + stepT4;
}
else{
stepT44 = millis();
} // FINE IF TRAMONTO CANALE4
// INIZIO IF ALBA CANALE5
if (now.hour() >= ACH5h && now.minute() >= ACH5m && tramonto5 == false ) {
//fnAlba1();
x5++;
analogWrite(LED5, x5);
if (x5 == 255){
tramonto5 = true;
}
stepA55 = stepA55 + stepA5;
}
else{
stepA55 = millis();
} // FINE IF ALBA CANALE5
// INIZIO IF TRAMONTO CANALE5
if (now.hour() >= TCH5h && now.minute() >= TCH5m && alba5 == false ) {
x5--;
analogWrite(LED5, x5);
if (x5 == 0){;
alba5=true;
}
stepT55 = stepT55 + stepT5;
}
else{
stepT55 = millis();
} // FINE IF TRAMONTO CANALE5
// INIZIO IF ALBA CANALE6
if (now.hour() >= ACH6h && now.minute() >= ACH6m && tramonto6 == false ) {
//fnAlba1();
x6++;
analogWrite(LED6, x6);
if (x6 == 255){
tramonto6 = true;
}
stepA66 = stepA66 + stepA6;
}
else{
stepA66 = millis();
} // FINE IF ALBA CANALE6
// INIZIO IF TRAMONTO CANALE6
if (now.hour() >= TCH6h && now.minute() >= TCH6m && alba6 == false ) {
x6--;
analogWrite(LED6, x6);
if (x6 == 0){;
alba6 = true;
}
stepT66 = stepT66 + stepT6;
}
else{
stepT66 = millis();
} // FINE IF TRAMONTO CANALE6
// INIZIO IF ALBA CANALE7
if (now.hour() >= ACH7h && now.minute() >= ACH7m && tramonto7 == false ) {
//fnAlba1();
x7++;
analogWrite(LED7, x7);
if (x7 == 255){
tramonto7=true;
}
stepA77 = stepA77 + stepA7;
}
else{
stepA77 = millis();
} // FINE IF ALBA CANALE7
// INIZIO IF TRAMONTO CANALE7
if (now.hour() >= TCH7h && now.minute() >= TCH7m && alba7 == false ) {
x7--;
analogWrite(LED7, x7);
if (x7 == 0){;
alba7=true;
}
stepT77 = stepT77 + stepT7;
}
else{
stepT77 = millis();
} // FINE IF TRAMONTO CANALE7
// INIZIO IF ALBA CANALE8
if (now.hour() >= ACH8h && now.minute() >= ACH8m && tramonto8 == false ) {
//fnAlba1();
x8++;
analogWrite(LED8, x8);
if (x8 == 255){
tramonto8=true;
}
stepA88 = stepA88 + stepA8;
}
else{
stepA88 = millis();
} // FINE IF ALBA CANALE8
// INIZIO IF TRAMONTO CANALE8
if (now.hour() >= TCH8h && now.minute() >= TCH8m && alba8 == false ) {
x8--;
analogWrite(LED8, x8);
if (x8 == 0){;
alba8=true;
}
stepT88 = stepT88 + stepT8;
}
else{
stepT88 = millis();
} // FINE IF TRAMONTO CANALE8
switch (nMenu){
case 0:
if ( digitalRead( buttonMeno ) == HIGH || ( digitalRead( buttonPiu )) == HIGH) {
time = millis();
}
lcd.clear();
sprintf(buffer, "%02d/%02d/%d", now.day(), now.month(), now.year());
lcd.setCursor(0,0);
lcd.print( buffer );
sprintf(buffer, "%02d:%02d", now.hour(), now.minute());
lcd.setCursor(11,0);
lcd.print( buffer );
lcd.setCursor(0,1);
lcd.print("Temperatura: ");
lcd.setCursor(13,1);
lcd.print(temperatura);
lcd.setCursor(15,1);
lcd.print(char(223));
if (time > 0 && setModeTime < (millis() - time) ) {
setMode( now );
}
if ( digitalRead( buttonPinEsc ) == HIGH) {
lcd.setCursor(0,1);
//sprintf( buffer);
}
else if ( digitalRead( buttonPinEsc ) == LOW) {
char buffer[10] = "";
(buffer, "%02d/%02d/%d", now.day(), now.month(), now.year());
}
//delay(1000);
break;
case 1:
// char CH1ora[5]="";
if (digitalRead(buttonPiu) == HIGH) {
ACH1h = (ACH1h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
ACH1m = (ACH1m++);
delay(200);
}
if (ACH1h > 23) {
ACH1h = 0;
}
if (ACH1m > 59) {
ACH1m = 0;
}
sprintf(CH1ora,"");
sprintf(CH1ora, "%02d:%02d", ACH1h, ACH1m);
lcd.setCursor(0,1);
lcd.print( CH1ora );
break;
case 2:
if (digitalRead(buttonPiu) == HIGH){
FACH1=(FACH1++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH1);
}
if (digitalRead(buttonMeno) == HIGH && FACH1 >=1){
FACH1=(FACH1--);
delay(300);
lcd.setCursor(0,1);
lcd.print(FACH1);
}
stepA1 = ((FACH1 * 60000)/255);
break;
case 3:
if (digitalRead(buttonPiu) == HIGH) {
TCH1h = (TCH1h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
TCH1m = (TCH1m++);
delay(200);
}
if (TCH1h > 23) {
TCH1h = 0;
}
if (TCH1m > 59) {
TCH1m = 0;
}
sprintf(CH1ora,"");
sprintf(CH1ora, "%02d:%02d", TCH1h, TCH1m);
lcd.setCursor(0,1);
lcd.print( CH1ora );
break;
case 4:
if (digitalRead(buttonPiu) == HIGH){
FTCH1=(FTCH1++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH1);
}
if (digitalRead(buttonMeno) == HIGH){
FTCH1=(FTCH1--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH1);
}
stepT2 = ((FTCH1*60000)/255);
break;
case 5:
// char CH1ora[5]="";
if (digitalRead(buttonPiu) == HIGH) {
ACH2h = (ACH2h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
ACH2m = (ACH2m++);
delay(200);
}
if (ACH2h > 23) {
ACH2h = 0;
}
if (ACH2m > 59) {
ACH2m = 0;
}
sprintf(CH2ora,"");
sprintf(CH2ora, "%02d:%02d", ACH2h, ACH2m);
lcd.setCursor(0,1);
lcd.print( CH2ora );
break;
case 6:
if (digitalRead(buttonPiu) == HIGH){
FACH2=(FACH2++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH2);
}
if (digitalRead(buttonMeno) == HIGH){
FACH2=(FACH2--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH2);
}
stepA2=((FACH2*60000)/255);
break;
case 7:
if (digitalRead(buttonPiu) == HIGH) {
TCH2h = (TCH2h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
TCH2m = (TCH2m++);
delay(200);
}
if (TCH2h > 23) {
TCH2h = 0;
}
if (TCH2m > 59) {
TCH2m = 0;
}
sprintf(CH2ora,"");
sprintf(CH2ora, "%02d:%02d", TCH2h, TCH2m);
lcd.setCursor(0,1);
lcd.print( CH2ora );
break;
case 8:
if (digitalRead(buttonPiu) == HIGH){
FTCH2=(FTCH2++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH2);
}
if (digitalRead(buttonMeno) == HIGH){
FTCH2=(FTCH2--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH2);
}
stepT2 = ((FTCH2*60000)/255);
break;
case 9:
// char CH1ora[5]="";
if (digitalRead(buttonPiu) == HIGH) {
ACH3h = (ACH3h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
ACH3m = (ACH3m++);
delay(200);
}
if (ACH3h > 23) {
ACH3h = 0;
}
if (ACH3m > 59) {
ACH3m = 0;
}
sprintf(CH3ora,"");
sprintf(CH3ora, "%02d:%02d", ACH3h, ACH3m);
lcd.setCursor(0,1);
lcd.print( CH3ora );
break;
case 10:
if (digitalRead(buttonPiu) == HIGH){
FACH3=(FACH3++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH3);
}
if (digitalRead(buttonMeno) == HIGH && FACH3 >=1){
FACH3=(FACH3--);
delay(300);
lcd.setCursor(0,1);
lcd.print(FACH3);
}
stepA3 = ((FACH3*60000)/255);
break;
case 11:
if (digitalRead(buttonPiu) == HIGH) {
TCH3h = (TCH3h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
TCH3m = (TCH3m++);
delay(200);
}
if (TCH3h > 23) {
TCH3h = 0;
}
if (TCH3m > 59) {
TCH3m = 0;
}
sprintf(CH3ora,"");
sprintf(CH3ora, "%02d:%02d", TCH3h, TCH3m);
lcd.setCursor(0,1);
lcd.print( CH3ora );
break;
case 12:
if (digitalRead(buttonPiu) == HIGH){
FTCH3=(FTCH3++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH3);
}
if (digitalRead(buttonMeno) == HIGH){
FTCH3=(FTCH3--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH3);
}
stepT3 = ((FTCH3*60000)/255);
break;
case 13:
// char CH1ora[5]="";
if (digitalRead(buttonPiu) == HIGH) {
ACH4h = (ACH4h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
ACH4m = (ACH4m++);
delay(200);
}
if (ACH4h > 23) {
ACH4h = 0;
}
if (ACH4m > 59) {
ACH4m = 0;
}
sprintf(CH4ora,"");
sprintf(CH4ora, "%02d:%02d", ACH4h, ACH4m);
lcd.setCursor(0,1);
lcd.print( CH4ora );
break;
case 14:
if (digitalRead(buttonPiu) == HIGH){
(FACH4++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH4);
}
if (digitalRead(buttonMeno) == HIGH && FACH4 >=1){
(FACH4--);
delay(300);
lcd.setCursor(0,1);
lcd.print(FACH4);
}
stepA4 = ((FACH4*60000)/255);
break;
case 15:
if (digitalRead(buttonPiu) == HIGH) {
TCH4h = (TCH4h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
TCH4m = (TCH4m++);
delay(200);
}
if (TCH4h > 23) {
TCH4m = 0;
}
if (TCH4m > 59) {
TCH4m = 0;
}
sprintf(CH4ora,"");
sprintf(CH4ora, "%02d:%02d", TCH4h, TCH4m);
lcd.setCursor(0,1);
lcd.print( CH4ora );
break;
case 16:
if (digitalRead(buttonPiu) == HIGH){
(FTCH4++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH4);
}
if (digitalRead(buttonMeno) == HIGH){
(FTCH4--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH4);
}
stepT4 = ((FTCH4*60000)/255);
break;
case 17:
if (digitalRead(buttonPiu) == HIGH) {
ACH5h = (ACH5h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
ACH5m = (ACH5m++);
delay(200);
}
if (ACH5h > 23) {
ACH5h = 0;
}
if (ACH5m > 59) {
ACH5m = 0;
}
sprintf(CH5ora,"");
sprintf(CH5ora, "%02d:%02d", ACH5h, ACH5m);
lcd.setCursor(0,1);
lcd.print( CH5ora );
break;
case 18:
if (digitalRead(buttonPiu) == HIGH){
(FACH5++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH5);
}
if (digitalRead(buttonMeno) == HIGH){
(FACH5--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH5);
}
stepA5 = ((FACH5*60000)/255);
break;
case 19:
if (digitalRead(buttonPiu) == HIGH) {
TCH5h = (TCH5h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
TCH5m = (TCH5m++);
delay(200);
}
if (TCH5h > 23) {
TCH5h = 0;
}
if (TCH5m > 59) {
TCH5m = 0;
}
sprintf(CH5ora,"");
sprintf(CH5ora, "%02d:%02d", TCH5h, TCH5m);
lcd.setCursor(0,1);
lcd.print( CH5ora );
break;
case 20:
if (digitalRead(buttonPiu) == HIGH){
(FTCH5++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH5);
}
if (digitalRead(buttonMeno) == HIGH){
(FTCH5--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH5);
}
stepT5 = ((FTCH5*60000)/255);
break;
case 21:
if (digitalRead(buttonPiu) == HIGH) {
(ACH6h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
(ACH6m++);
delay(200);
}
if (ACH6h > 23) {
ACH6h = 0;
}
if (ACH6m > 59) {
ACH6m = 0;
}
sprintf(CH6ora,"");
sprintf(CH6ora, "%02d:%02d", ACH6h, ACH6m);
lcd.setCursor(0,1);
lcd.print( CH6ora );
break;
case 22:
if (digitalRead(buttonPiu) == HIGH){
(FACH6++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH6);
}
if (digitalRead(buttonMeno) == HIGH){
FACH6=(FACH6--);
delay(300);
lcd.setCursor(0,1);
lcd.print(FACH6);
}
stepA6 = ((FACH6*60000)/255);
break;
case 23:
if (digitalRead(buttonPiu) == HIGH) {
(TCH6h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
(TCH6m++);
delay(200);
}
if (TCH6h > 23) {
TCH6h = 0;
}
if (TCH6m > 59) {
TCH6m = 0;
}
sprintf(CH6ora,"");
sprintf(CH6ora, "%02d:%02d", TCH6h, TCH6m);
lcd.setCursor(0,1);
lcd.print( CH6ora );
break;
case 24:
if (digitalRead(buttonPiu) == HIGH){
(FTCH6++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH6);
}
if (digitalRead(buttonMeno) == HIGH){
(FTCH6--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH6);
}
stepT6 = ((FTCH6*60000)/255);
break;
case 25:
// char CH1ora[5]="";
if (digitalRead(buttonPiu) == HIGH) {
(ACH7h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
(ACH7m++);
delay(200);
}
if (ACH7h > 23) {
ACH7h = 0;
}
if (ACH7m > 59) {
ACH7m = 0;
}
sprintf(CH7ora,"");
sprintf(CH7ora, "%02d:%02d", ACH7h, ACH7m);
lcd.setCursor(0,1);
lcd.print( CH7ora );
break;
case 26:
if (digitalRead(buttonPiu) == HIGH){
(FACH7++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH7);
}
if (digitalRead(buttonMeno) == HIGH){
(FACH7--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH7);
}
stepA7 = ((FACH7*60000)/255);
break;
case 27:
if (digitalRead(buttonPiu) == HIGH) {
(TCH7h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
(TCH7m++);
delay(200);
}
if (TCH7h > 23) {
TCH7h = 0;
}
if (TCH7m > 59) {
TCH7m = 0;
}
sprintf(CH7ora,"");
sprintf(CH7ora, "%02d:%02d", TCH7h, TCH7m);
lcd.setCursor(0,1);
lcd.print( CH7ora );
break;
case 28:
if (digitalRead(buttonPiu) == HIGH){
(FTCH7++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH7);
}
if (digitalRead(buttonMeno) == HIGH){
(FTCH7--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH7);
}
stepT7 = ((FTCH7*60000)/255);
break;
case 29:
// char CH1ora[5]="";
if (digitalRead(buttonPiu) == HIGH) {
(ACH8h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
(ACH8m++);
delay(200);
}
if (ACH8h > 23) {
ACH8h = 0;
}
if (ACH8m > 59) {
ACH8m = 0;
}
sprintf(CH8ora,"");
sprintf(CH8ora, "%02d:%02d", ACH8h, ACH8m);
lcd.setCursor(0,1);
lcd.print( CH8ora );
break;
case 30:
if (digitalRead(buttonPiu) == HIGH){
(FACH8++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FACH8);
}
if (digitalRead(buttonMeno) == HIGH ){
(FACH8--);
delay(300);
lcd.setCursor(0,1);
lcd.print(FACH8);
}
stepA8 = ((FACH8*60000)/255);
break;
case 31:
if (digitalRead(buttonPiu) == HIGH) {
(TCH8h++);
delay(200);
}
if (digitalRead(buttonMeno) == HIGH) {
(TCH8m++);
delay(200);
}
if (TCH8h > 23) {
TCH8h = 0;
}
if (TCH8m > 59) {
TCH8m = 0;
}
sprintf(CH8ora,"");
sprintf(CH8ora, "%02d:%02d", TCH8h, TCH8m);
lcd.setCursor(0,1);
lcd.print( CH8ora );
break;
case 32:
if (digitalRead(buttonPiu) == HIGH){
(FTCH8++);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH8);
}
if (digitalRead(buttonMeno) == HIGH){
(FTCH8--);
delay(300);
//lcd.clear;
lcd.setCursor(0,1);
lcd.print(FTCH8);
}
stepT8 = ((FTCH8*60000)/255);
break;
case 33:
if (digitalRead(buttonPiu) == HIGH){
tRisc=(tRisc+0.1);
delay(300);
lcd.setCursor(0,1);
lcd.print(tRisc);
}
if (digitalRead(buttonMeno) == HIGH){
tRisc=(tRisc-0.1);
delay(300);
lcd.setCursor(0,1);
lcd.print(tRisc);
}
break;
case 34:
if (digitalRead(buttonPiu) == HIGH){
dRisc=(dRisc+0.1);
delay(300);
lcd.setCursor(0,1);
lcd.print(dRisc);
}
if (digitalRead(buttonMeno) == HIGH){
dRisc=(dRisc-0.1);
delay(300);
lcd.setCursor(0,1);
lcd.print(dRisc);
}
break;
case 35:
if (digitalRead(buttonPiu) == HIGH){
tRefrig=(tRefrig+0.1);
delay(300);
lcd.setCursor(0,1);
lcd.print(tRefrig);
}
if (digitalRead(buttonMeno) == HIGH){
tRefrig=(tRefrig-0.1);
delay(300);
lcd.setCursor(0,1);
lcd.print(tRefrig);
}
break;
case 36:
if (digitalRead(buttonPiu) == HIGH){
dRefrig=(dRefrig+0.1);
delay(300);
lcd.setCursor(0,1);
lcd.print(dRefrig);
}
if (digitalRead(buttonMeno) == HIGH){
dRefrig=(dRefrig-0.1);
delay(300);
lcd.setCursor(0,1);
lcd.print(dRefrig);
}
break;
case 100:
if ( digitalRead( buttonMeno ) == HIGH || ( digitalRead( buttonPiu )) == HIGH) {
time = millis();
}
/*
lcd.clear();
sprintf(buffer, "%02d/%02d/%d", now.day(), now.month(), now.year());
lcd.setCursor(0,0);
lcd.print( buffer );
sprintf(buffer, "%02d:%02d", now.hour(), now.minute());
lcd.setCursor(11,0);
lcd.print( buffer );
lcd.setCursor(0,1);
lcd.print("Temperatura: ");
lcd.setCursor(13,1);
lcd.print(temperatura);
lcd.setCursor(15,1);
lcd.print(char(223));
*/
if (time > 0 && setModeTime < (millis() - time) ) {
setMode( now );
}
if ( digitalRead( buttonPinEsc ) == HIGH) {
lcd.setCursor(0,1);
//sprintf( buffer);
}
else if ( digitalRead( buttonPinEsc ) == LOW) {
char buffer[10] = "";
(buffer, "%02d/%02d/%d", now.day(), now.month(), now.year());
}
delay(1000);
break;
} // SWITCH
} //loop()...
void setMode( DateTime now ) {
boolean setMode = true;
int setModeLevel = 0;
int _day = now.day();
int _month = now.month();
int _year = now.year();
int _hour = now.hour();
int _min = now.minute();
int _sec = now.second();
lcd.clear();
lcd.setCursor(0,0);
sprintf(buffer, "%s: %02d", "Giorno", _day);
delay( 1000 );
timeSet = millis();
while ( setMode ) {
if ( digitalRead(buttonPinEnter) == HIGH || digitalRead(buttonPiu) == HIGH || digitalRead(buttonMeno) == HIGH ) {
timeSet = millis();
}
lcd.setCursor(0,0);
// Set Day
if ( setModeLevel == 0 ) {
if ( digitalRead(buttonPiu) == HIGH && _day < 31) {
_day++;
}
if ( digitalRead(buttonMeno) == HIGH && _day > 1) {
_day--;
}
sprintf(buffer, "%s: %02d", "Giorno", _day);
}
// Set Month
if ( setModeLevel == 1 ) {
if ( digitalRead(buttonPiu) == HIGH && _month < 12) {
_month++;
}
if ( digitalRead(buttonMeno) == HIGH && _month > 1) {
_month--;
}
sprintf(buffer, "%s: %02d", "Mese", _month);
}
// Set Year
if ( setModeLevel == 2 ) {
if ( digitalRead(buttonPiu) == HIGH && _year < 9999) {
_year++;
}
if ( digitalRead(buttonMeno) == HIGH && _year > 1900) {
_year--;
}
sprintf(buffer, "%s: %02d", "Anno", _year);
}
// Set Hour
if ( setModeLevel == 3 ) {
if ( digitalRead(buttonPiu) == HIGH && _hour < 24) {
_hour++;
}
if ( digitalRead(buttonMeno) == HIGH && _hour > 1) {
_hour--;
}
sprintf(buffer, "%s: %02d", "Ora", _hour);
}
// Set Minute
if ( setModeLevel == 4 ) {
if ( digitalRead(buttonPiu) == HIGH && _min < 60) {
_min++;
}
if ( digitalRead(buttonMeno) == HIGH && _min > 1) {
_min--;
}
sprintf(buffer, "%s: %02d", "Minuti", _min);
}
// Set Second
if ( setModeLevel == 5 ) {
if ( digitalRead(buttonPiu) == HIGH && _sec < 60) {
_sec++;
}
if ( digitalRead(buttonMeno) == HIGH && _sec > 0) {
_sec--;
}
sprintf(buffer, "%s: %02d", "Secondi", _sec);
}
lcd.print( buffer );
if ( digitalRead(buttonPinEnter) == HIGH ) {
lcd.clear();
setModeLevel++;
}
if ( setModeLevel > 5 ) {
nMenu=0;
setMode = false;
break;
}
if (timeSet > 0 && (setModeTime*2) < (millis() - timeSet) ) {
RTC.adjust(DateTime(_year, _month, _day, _hour, _min, _sec));
setMode = false;
}
delay(200);
}
}
void menuChanged(MenuChangeEvent changed){
MenuItem newMenuItem=changed.to;
lcd.setCursor(0,1);
if(newMenuItem.getName()==menu.getRoot()){
pulischermo();
}
else if(newMenuItem.getName()=="Item1"){
setLCD();
lcd.print("ILLUMINAZIONE");
selOpt();
nMenu=100;
}
else if(newMenuItem.getName()=="CH1"){
setLCD();
lcd.print("CANALE 1");
selOpt();
}
else if(newMenuItem.getName()=="CH2"){
setLCD();
lcd.print("CANALE 2");
selOpt();
}
else if(newMenuItem.getName()=="CH3"){
setLCD();
lcd.print("CANALE 3");
selOpt();
}
else if(newMenuItem.getName()=="CH4"){
setLCD();
lcd.print("CANALE 4");
selOpt();
}
else if(newMenuItem.getName()=="CH5"){
setLCD();
lcd.print("CANALE 5");
selOpt();
}
else if(newMenuItem.getName()=="CH6"){
setLCD();
lcd.print("CANALE 6");
selOpt();
}
else if(newMenuItem.getName()=="CH7"){
setLCD();
lcd.print("CANALE 7");
selOpt();
}
else if(newMenuItem.getName()=="CH8"){
setLCD();
lcd.print("CANALE 8");
selOpt();
}
else if(newMenuItem.getName()=="ACH1"){
ach();
nMenu=1;
}
else if(newMenuItem.getName()=="FACH1"){
fach();
lcd.print(FACH1);
nMenu=2;
}
else if(newMenuItem.getName()=="TCH1"){
tch();
nMenu=3;
}
else if(newMenuItem.getName()=="FTCH1"){
ftch();
lcd.print(FTCH1);
nMenu=4;
}
else if(newMenuItem.getName()=="ACH2"){
ach();
nMenu=5;
}
else if(newMenuItem.getName()=="FACH2"){
fach();
lcd.print(FACH2);
nMenu=6;
}
else if(newMenuItem.getName()=="TCH2"){
tch();
nMenu=7;
}
else if(newMenuItem.getName()=="FTCH2"){
ftch();
lcd.print(FTCH2);
nMenu=8;
}
else if(newMenuItem.getName()=="ACH3"){
ach();
nMenu=9;
}
else if(newMenuItem.getName()=="FACH3"){
fach();
lcd.print(FACH3);
nMenu=10;
}
else if(newMenuItem.getName()=="TCH3"){
tch();
nMenu=11;
}
else if(newMenuItem.getName()=="FTCH3"){
ftch();
lcd.print(FTCH3);
nMenu=12;
}
else if(newMenuItem.getName()=="ACH4"){
ach();
nMenu=13;
}
else if(newMenuItem.getName()=="FACH4"){
fach();
lcd.print(FACH4);
nMenu=14;
}
else if(newMenuItem.getName()=="TCH4"){
tch();
nMenu=15;
}
else if(newMenuItem.getName()=="FTCH4"){
ftch();
lcd.print(FTCH4);
nMenu=16;
}
else if(newMenuItem.getName()=="ACH5"){
ach();
nMenu=17;
}
else if(newMenuItem.getName()=="FACH5"){
fach();
lcd.print(FACH5);
nMenu=18;
}
else if(newMenuItem.getName()=="TCH5"){
tch();
nMenu=19;
}
else if(newMenuItem.getName()=="FTCH5"){
ftch();
lcd.print(FTCH5);
nMenu=20;
}
else if(newMenuItem.getName()=="ACH6"){
ach();
nMenu=21;
}
else if(newMenuItem.getName()=="FACH6"){
fach();
lcd.print(FACH6);
nMenu=22;
}
else if(newMenuItem.getName()=="TCH6"){
tch();
nMenu=23;
}
else if(newMenuItem.getName()=="FTCH6"){
ftch();
lcd.print(FTCH6);
nMenu=24;
}
else if(newMenuItem.getName()=="ACH7"){
ach();
nMenu=25;
}
else if(newMenuItem.getName()=="FACH7"){
fach();
lcd.print(FACH7);
nMenu=26;
}
else if(newMenuItem.getName()=="TCH7"){
tch();
nMenu=27;
}
else if(newMenuItem.getName()=="FTCH7"){
ftch();
lcd.print(FTCH7);
nMenu=28;
}
else if(newMenuItem.getName()=="ACH8"){
ach();
nMenu=29;
}
else if(newMenuItem.getName()=="FACH8"){
fach();
lcd.print(FACH8);
nMenu=30;
}
else if(newMenuItem.getName()=="TCH8"){
tch();
nMenu=31;
}
else if(newMenuItem.getName()=="FTCH8"){
ftch();
lcd.print(FTCH8);
nMenu=32;
}
else if(newMenuItem.getName()=="Item2"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TEMPERATURE");
selOpt();
}
else if(newMenuItem.getName()=="Riscaldatore"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("RISCALDATORE");
selOpt();
}
else if(newMenuItem.getName()=="tRisc"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp.Riferimento");
lcd.setCursor(0,1);
lcd.print(tRisc);
nMenu=33;
}
else if(newMenuItem.getName()=="dRisc"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Delta intervento");
lcd.setCursor(0,1);
lcd.print(dRisc);
nMenu=34;
}
else if(newMenuItem.getName()=="Refrigeratore"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("REFRIGERATORE");
selOpt();
}
else if(newMenuItem.getName()=="tRefrig"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp.Riferimento");
lcd.setCursor(0,1);
lcd.print(tRefrig);
nMenu=35;
}
else if(newMenuItem.getName()=="dRefrig"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Delta intervento");
lcd.setCursor(0,1);
lcd.print(dRefrig);
nMenu=36;
}
else if(newMenuItem.getName()=="Item3"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("IMPOSTAZIONI");
selOpt();
}
else if(newMenuItem.getName()=="Data/Ora"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Data/Ora");
lcd.setCursor(0,1);
lcd.print("Imposta");
nMenu=100;
}
/*
}else if(newMenuItem.getName()=="Ora"){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Ora");
lcd.setCursor(0,1);
lcd.print("Ora");
}
*/
}
void menuUsed(MenuUseEvent used){
lcd.setCursor(0,0);
lcd.print("Confermato ");
//lcd.setCursor(0,1);
//lcd.print(used.item.getName());
delay(3000); //Ritardo prima del ritorno Home
nMenu=0;
pulischermo();
menu.toRoot(); //Ritorno Home
}
void readButtons(){ //lettura dello stato dei puls
int reading;
int buttonEnterState=LOW;
int buttonEscState=LOW;
int buttonLeftState=LOW;
int buttonRightState=LOW;
//Enter button
reading = digitalRead(buttonPinEnter);
if (reading != lastButtonEnterState) {
lastEnterDebounceTime = millis();
}
if ((millis() - lastEnterDebounceTime) > debounceDelay) {
buttonEnterState=reading;
lastEnterDebounceTime=millis();
}
lastButtonEnterState = reading;
//Esc button
reading = digitalRead(buttonPinEsc);
if (reading != lastButtonEscState) {
lastEscDebounceTime = millis();
}
if ((millis() - lastEscDebounceTime) > debounceDelay) {
buttonEscState = reading;
lastEscDebounceTime=millis();
}
lastButtonEscState = reading;
//Down button
reading = digitalRead(buttonPinRight);
// If the switch changed, due to noise or pressing:
if (reading != lastButtonRightState) {
// resetta il tempo di rimbalzo
lastRightDebounceTime = millis();
}
if ((millis() - lastRightDebounceTime) > debounceDelay) {
buttonRightState = reading;
lastRightDebounceTime =millis();
}
lastButtonRightState = reading;
//Up button
// scrive lo stato dell'ingresso in una variabile
reading = digitalRead(buttonPinLeft);
if (reading != lastButtonLeftState) {
// resetta il tempo di rimbalzo
lastLeftDebounceTime = millis();
}
if ((millis() - lastLeftDebounceTime) > debounceDelay) {
buttonLeftState = reading;
lastLeftDebounceTime=millis();
;
}
lastButtonLeftState = reading;
//Registra il puls schiacciato
if (buttonEnterState==HIGH){
lastButtonPushed=buttonPinEnter;
}
else if(buttonEscState==HIGH){
lastButtonPushed=buttonPinEsc;
}
else if(buttonRightState==HIGH){
lastButtonPushed=buttonPinRight;
}
else if(buttonLeftState==HIGH){
lastButtonPushed=buttonPinLeft;
}
else{
lastButtonPushed=0;
}
}
void navigateMenus() {
MenuItem currentMenu=menu.getCurrent();
switch (lastButtonPushed){
case buttonPinEnter:
if(!(currentMenu.moveDown())){
menu.use();
}
else{
menu.moveDown();
}
break;
case buttonPinEsc:
menu.toRoot(); //ritorno home
break;
case buttonPinRight:
menu.moveRight();
break;
case buttonPinLeft:
menu.moveLeft();
break;
}
lastButtonPushed=0; //reset della variabile
}
comunque sto lavorando per ridurlo ulteriormente
stay tunned
Gaetano
EDIT: in allegato la libreria modificata. Basta inserirla nella cartella Programmi>Arduino>Libreries>Cartella_a_scelta
rinominandolo MenuBackend.h e riavviare Arduino
__________________
Chi non ride mai non è una persona seria - (Chopin)
...La sobrietà và presa con moderazione... - (Jax - Brillo ma da lucido)
La mia vasca - RITORNO AL DOLCE
Ultima modifica di SirNino; 19-08-2014 alle ore 18:59.
Motivo: Rilevato errore nel codice void loop()+allegato
|