Benvenuti sul Forum di AcquaPortal, la più grande community italiana di acquariofilia!
Sul Forum di AcquaPortal puoi discutere con altri appassionati di acquariofilia, tenere un tuo Blog personale, inserire foto e video, chattare, ed aiutarci a creare un grande database con schede di pesci, invertebrati e prodotti di acquariofilia.
Per entrar a far parte della comunità occorre registrarsi.
Per farlo premi su
Al momento della registrazione ti verrà richiesto di accettare il Regolamento che ti consigliamo di leggere attentamente.
Ti consigliamo inoltre di leggere le FAQ per apprendere le funzionalità principali del forum.
Se invece sei un utente registrato e hai dimenticato i tuoi dati di accesso devi effettuare il Recupero dati.
Fai da te marinoPer parlare delle tecniche di costruzione artigianale, per presentare le vostre realizzazioni, e per avere informazioni su dove reperire materiale ed attrezzatura risparmiando tempo e denaro.
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)
...cosa dire...leggendo mi trovo in affanno per ....questo sketch. Pensa solo oggi son riuscito a capire come cambiare/inserire l'ora al ds1307.
Tanto di cappello. Sono basito. I mie complimenti. Mi sa ..se lo vorrai...che ti disturberò...
Ancora bravo!!!!!!!!!!
...cosa dire...leggendo mi trovo in affanno per ....questo sketch. Pensa solo oggi son riuscito a capire come cambiare/inserire l'ora al ds1307.
Tanto di cappello. Sono basito. I mie complimenti. Mi sa ..se lo vorrai...che ti disturberò...
Ancora bravo!!!!!!!!!!
Nessun problema...ovviamente fin dove arrivo!!
Ho disegnato anche l'assemblaggio dei componenti
__________________ Chi non ride mai non è una persona seria - (Chopin) ...La sobrietà và presa con moderazione... - (Jax - Brillo ma da lucido)