void Menu(){
int OPMENU = 1;
int refrescarMENU = 1;
int boton_pulsado;
int NOSALIR = 0;
//
int peristaltica = 0;
int rele = 0;
//
int p1 = EEPROM.read(ml_p1);
int p2 = EEPROM.read(ml_p2);
int p3 = EEPROM.read(ml_p3);
int on = EEPROM.read(luz_on);
int off = EEPROM.read(luz_off);
//
LCD_Reset(1);
setCur(3,1); Serial.print("CONFIGURACION");
delay(1000);
while (NOSALIR==0){
wdt_reset(); //Watchdog
boton_pulsado = analogRead(boton);
if (boton_pulsado == v_arriba) {OPMENU--; delay(200); refrescarMENU=1; if (OPMENU==0) {OPMENU=8;}};
if (boton_pulsado == v_abajo ) {OPMENU++; delay(200); refrescarMENU=1; if (OPMENU==9) {OPMENU=1;}};
if ((OPMENU < 5)&&(refrescarMENU==1)){
LCD_Reset(1);
setCur(0,0); Serial.print("1.Comida 10min "); if (OPMENU == 1) {Serial.print("<");};
setCur(0,1); Serial.print("2.Cambio de agua "); if (OPMENU == 2) {Serial.print("<");};
setCur(0,2); Serial.print("3.Luz SUMP "); if (OPMENU == 3) {Serial.print("<");};
setCur(0,3); Serial.print("4.Calibrar PH "); if (OPMENU == 4) {Serial.print("<");};
refrescarMENU=0;
delay(300);
} else if ((OPMENU >= 5)&&(refrescarMENU==1)){
LCD_Reset(1);
setCur(0,0); Serial.print("5.Conf. Peristal. "); if (OPMENU==5){Serial.print("<");};
setCur(0,1); Serial.print("6.Cebar Peristal. "); if (OPMENU==6){Serial.print("<");};
setCur(0,2); Serial.print("7.Prueba Reles "); if (OPMENU==7){Serial.print("<");};
setCur(0,3); Serial.print("8.Salir "); if (OPMENU==8){Serial.print("<");};
refrescarMENU=0;
delay(300);
}
if (boton_pulsado == v_menu) NOSALIR=1;
}
////ACTUAR EN CONSECUENCIA DE LA OPCION PULSADA
LCD_Reset(1);
delay(300);
switch (OPMENU){
case 1:
Aviso(6, 600);
NOSALIR = 0;
break;
case 2:
Aviso(7, 600);
NOSALIR = 0;
break;
case 3:
NOSALIR = 0;
OPMENU = 1;
while (NOSALIR==0){
wdt_reset(); //Watchdog
boton_pulsado = analogRead(boton);
if (boton_pulsado == v_menu) {OPMENU++; delay(300); if (OPMENU==3) {NOSALIR=1;}};
setCur(0,0); Serial.print("Luz SUMP config.:");
setCur(0,2); Serial.print("1.Encendido: ");
setCur(15,2); Serial.print(on); Serial.print(" ");
setCur(0,3); Serial.print("2.Apagado: ");
setCur(15,3); Serial.print(off); Serial.print(" ");
if (OPMENU == 1){
setCur(19,2); Serial.print("<");
setCur(15, 2);
if (boton_pulsado == v_arriba){delay(300); on++;Serial.print(on);};
if (boton_pulsado == v_abajo){delay(300); on--;Serial.print(on);};
if (on < 0){on = 23;};
if (on > 23){on = 0;};
EEPROM.write(luz_on, on);
} else {
setCur(19,2); Serial.print(" ");
setCur(19,3); Serial.print("<");
setCur(15, 3);
if (boton_pulsado == v_arriba){delay(300); off++;Serial.print(off);};
if (boton_pulsado == v_abajo){delay(300); off--;Serial.print(off);};
if (on < 0){on = 23;};
if (on > 23){on = 0;};
EEPROM.write(luz_off, off);
}
}
break;
case 4:
break;
case 5:
NOSALIR = 0;
OPMENU = 1;
while (NOSALIR==0){
wdt_reset(); //Watchdog
boton_pulsado = analogRead(boton);
if (boton_pulsado == v_menu) {OPMENU++; delay(300); if (OPMENU==4) {NOSALIR=1;}};
setCur(0,0); Serial.print("Perist.config: 20:00");
setCur(0,1); Serial.print("P1 ml x dia: ");
setCur(15,1); Serial.print(p1); Serial.print(" ");
setCur(0,2); Serial.print("P2 ml x dia: ");
setCur(15,2); Serial.print(p2); Serial.print(" ");
setCur(0,3); Serial.print("P3 ml x dia: ");
setCur(15,3); Serial.print(p3); Serial.print(" ");
if (OPMENU == 1){
setCur(19,1); Serial.print("<");
setCur(15, 1);
if (boton_pulsado == v_arriba){delay(300); p1++;Serial.print(p1);};
if (boton_pulsado == v_abajo){delay(300); p1--;Serial.print(p1);};
EEPROM.write(ml_p1, p1);
}
if (OPMENU == 2){
setCur(19,1); Serial.print(" "); setCur(19,2); Serial.print("<");
setCur(15, 2);
if (boton_pulsado == v_arriba){delay(300); p2++;Serial.print(p2);};
if (boton_pulsado == v_abajo){delay(300); p2--;Serial.print(p2);};
EEPROM.write(ml_p2, p2);
}
if (OPMENU == 3){
setCur(19,2); Serial.print(" "); setCur(19,3); Serial.print("<");
setCur(15, 3);
if (boton_pulsado == v_arriba){delay(300); p3++;Serial.print(p3);};
if (boton_pulsado == v_abajo){delay(300); p3--;Serial.print(p3);};
EEPROM.write(ml_p3, p3);
}
}
break;
case 6:
NOSALIR = 0;
OPMENU = 1;
//Cebar peristalticas
while (NOSALIR==0){
wdt_reset(); //Watchdog
boton_pulsado = analogRead(boton);
if (boton_pulsado == v_menu) {
delay(300);
if (peristaltica==0) {
NOSALIR=1;
}else{
switch (peristaltica){
case 1:
digitalWrite(peristaltica1, HIGH);
delay(5000);
digitalWrite(peristaltica1, LOW);
break;
case 2:
digitalWrite(peristaltica2, HIGH);
delay(5000);
digitalWrite(peristaltica2, LOW);
break;
case 3:
digitalWrite(peristaltica3, HIGH);
delay(5000);
digitalWrite(peristaltica3, LOW);
break;
}
}
};
setCur(0,0); Serial.print("Cebado Peristaltica");
setCur(1, 2); Serial.print("Peristaltica "); setCur(15, 2); Serial.print(peristaltica); Serial.print(" ");
setCur(0, 3); Serial.print("Salir=0");
setCur(15,2);
if (boton_pulsado == v_arriba){delay(300); peristaltica++;Serial.print(peristaltica);};
if (boton_pulsado == v_abajo){delay(300); peristaltica--;Serial.print(peristaltica);};
if (peristaltica == -1){peristaltica = 0;};
if (peristaltica == 4){peristaltica = 3;};
}
break;
case 7:
NOSALIR = 0;
OPMENU = 1;
//Prueba de reles
while (NOSALIR==0){
wdt_reset(); //Watchdog
boton_pulsado = analogRead(boton);
if (boton_pulsado == v_menu) {
delay(300);
if (rele==0) {
NOSALIR=1;
}else{
switch (rele){
case 1:
digitalWrite(rele1, HIGH);
delay(5000);
digitalWrite(rele1, LOW);
break;
case 2:
digitalWrite(rele2, HIGH);
delay(5000);
digitalWrite(rele2, LOW);
break;
case 3:
digitalWrite(rele3, HIGH);
delay(5000);
digitalWrite(rele3, LOW);
break;
case 4:
digitalWrite(rele4, HIGH);
delay(5000);
digitalWrite(rele4, LOW);
break;
}
}
};
setCur(0,0); Serial.print("Prueba de reles");
setCur(8, 2); Serial.print("Rele "); setCur(15, 2); Serial.print(rele); Serial.print(" ");
setCur(0, 3); Serial.print("Salir=0");
setCur(15,2);
if (boton_pulsado == v_arriba){delay(300); rele++;Serial.print(rele);};
if (boton_pulsado == v_abajo){delay(300); rele--;Serial.print(rele);};
if (rele == -1){rele = 0;};
if (rele == 5){rele = 4;};
}
break;
}
LCD_Reset(1);
delay(300);
}