void LUCES (){
b(); //borra la pantalla
int salir =0;
int
cambia=0;
int suma=1;
int minuto=0;
int hora=0;
do{
cambia=0;
p();
pulsado(); // comprueba si se ha pulsado algun boton
// con esto de abajo te sube y baja por un menu de encender o apagar de luces blancas y azules dando adelante entras en cada uno y lo cambias
if (patras== HIGH) { /// ATRAS
lcd.clear();
salir = 1;
delay (500);
}else if (parriba== HIGH) {/// ARRIBA
suma++ ;
if (suma==6){suma = 1; }
}else if (pabajo== HIGH) { //// ABAJO
suma-- ;
if (suma==0){suma = 5;}
}else if (padelante== HIGH) {//// ADELANTE /////
cambia=1;
}
lcd.setCursor(0,1);
switch (suma) {
case 1:// cada "case" es un submenu donde modificas cada uno de las luces, este en concreto es hora y minutos en que se enciende la luz blanca.
hora = EEPROM.read(Mhblancaon);if (hora==255){hora=00;}//comprueba si se ha escrito alguna vez para esto sirve la eeprom para aunque se reinicie el arduino quede guardada la hora y no tengas que volvera decirselo.
minuto = EEPROM.read(Mmblancaon);if (minuto==255){minuto=00;}//comprueba si se ha escrito alguna vez
lcd.setCursor(0,0);lcd.print("LUZ BLANCA ON ");
//lcd.setCursor(0,1);lcd.print(" 00:00 ");
lcd.setCursor(1,1);if (hora<10){lcd.print("0");};lcd.print (hora);
lcd.setCursor(4,1);if (minuto<10){lcd.print("0");};lcd.print (minuto);
if (cambia==1){ // entra si has pulsado adelante y modifica la hora
lcd.setCursor(8,1);lcd.print("HORA ");
CambiarValor (valor,mini,maxi,digitos,columna);
valor=0;mini=0;maxi=23;digitos=2;columna=1;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
hora=tot;
/////// minuto//// los minutos
lcd.setCursor(8,1);lcd.print("MINUTOS");
valor=0;mini=0;maxi=59;digitos=2;columna=4;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
minuto=tot;
EEPROM.write(Mhblancaon,hora);EEPROM.write(Mmblancaon,minuto);// escribe en la eeprom la hora y el minuto, mhblancaon es la posicion de memoria donde se guarda que es un numero de 0 a 255 que asigne en el principio asi "int mhblancaon= 13" entonces asigna el valor hora=por ejemplo 10 en el bloque de memoria 13. que es lo mismo que EEPROM.write(13,10)
lcd.setCursor(0,0);lcd.print("GUARDANDO BLA ON");
delay(1500);
}
break;
case 2:// este case es memoria hora blanca off (mhblancaoff)memoriaminutoblanca off(mmblancaoff) o lo que es lo mismo hora y minto en el que se apaga las blancas.
hora = EEPROM.read(Mhblancaoff);if (hora==255){hora=00;}//comprueba si se ha escrito alguna vez
minuto = EEPROM.read(Mmblancaoff);if (minuto==255){minuto=00;}//comprueba si se ha escrito alguna vez
lcd.setCursor(0,0);lcd.print("LUZ BLANCA OFF ");
lcd.setCursor(0,1);lcd.print(" 00:00 ");
lcd.setCursor(1,1);if (hora<10){lcd.print("0");};lcd.print (hora);
lcd.setCursor(4,1);if (minuto<10){lcd.print("0");};lcd.print (minuto);
if (cambia==1){
lcd.setCursor(8,1);lcd.print("HORA ");
CambiarValor (valor,mini,maxi,digitos,columna);
valor=0;mini=0;maxi=23;digitos=2;columna=1;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
hora=tot;
/////// minuto peris////
lcd.setCursor(8,1);lcd.print("MINUTOS");
valor=0;mini=0;maxi=59;digitos=2;columna=4;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
minuto=tot;
EEPROM.write(Mhblancaoff,hora);EEPROM.write(Mmblancaoff,minuto);
lcd.setCursor(0,0);lcd.print("GUARDANDO BL OFF");
delay(1500);
}
break;
case 3: // azul on
hora = EEPROM.read(Mhazulon);if (hora==255){hora=00;}//comprueba si se ha escrito alguna vez
minuto = EEPROM.read(Mmazulon);if (minuto==255){minuto=00;}//comprueba si se ha escrito alguna vez
lcd.setCursor(0,0);lcd.print("LUZ AZUL ON ");
lcd.setCursor(0,1);lcd.print(" 00:00 ");
lcd.setCursor(1,1);if (hora<10){lcd.print("0");};lcd.print (hora);
lcd.setCursor(4,1);if (minuto<10){lcd.print("0");};lcd.print (minuto);
if (cambia==1){
lcd.setCursor(8,1);lcd.print("HORA ");
CambiarValor (valor,mini,maxi,digitos,columna);
valor=0;mini=0;maxi=23;digitos=2;columna=1;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
hora=tot;
/////// minuto peris////
lcd.setCursor(8,1);lcd.print("MINUTOS");
valor=0;mini=0;maxi=59;digitos=2;columna=4;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
minuto=tot;
EEPROM.write(Mhazulon,hora);EEPROM.write(Mmazulon,minuto);
lcd.setCursor(0,0);lcd.print("GUARDANDO AZL ON");
delay(1500);
}
break;
case 4: // azul off
hora = EEPROM.read(Mhazuloff);if (hora==255){hora=00;}//comprueba si se ha escrito alguna vez
minuto = EEPROM.read(Mmazuloff);if (minuto==255){minuto=00;}//comprueba si se ha escrito alguna vez
lcd.setCursor(0,0);lcd.print("LUZ AZUL OFF ");
lcd.setCursor(0,1);lcd.print(" 00:00 ");
lcd.setCursor(1,1);if (hora<10){lcd.print("0");};lcd.print (hora);
lcd.setCursor(4,1);if (minuto<10){lcd.print("0");};lcd.print (minuto);
if (cambia==1){
lcd.setCursor(8,1);lcd.print("HORA ");
CambiarValor (valor,mini,maxi,digitos,columna);
valor=0;mini=0;maxi=23;digitos=2;columna=1;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
hora=tot;
/////// minuto peris////
lcd.setCursor(8,1);lcd.print("MINUTOS");
valor=0;mini=0;maxi=59;digitos=2;columna=4;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
minuto=tot;
EEPROM.write(Mhazuloff,hora);EEPROM.write(Mmazuloff,minuto);
lcd.setCursor(0,0);lcd.print("GUARDANDO AZ OFF");
delay(1500);
}
break;
case 5://Luna on
lcd.setCursor(0,1);
lcd.print ("la luz de luna se ");
lcd.setCursor(0,2);
lcd.print ("enciende o apaga ");
lcd.setCursor(0,3);
lcd.print ("automaticamente.... ");
/*hora = EEPROM.read(Mhlunaon);if (hora==255){hora=00;}//comprueba si se ha escrito alguna vez
minuto = EEPROM.read(Mmlunaon);if (minuto==255){minuto=00;}//comprueba si se ha escrito alguna vez
lcd.setCursor(0,0);lcd.print("LUZ LUNA ON ");
lcd.setCursor(0,1);lcd.print(" 00:00 ");
lcd.setCursor(1,1);if (hora<10){lcd.print("0");};lcd.print (hora);
lcd.setCursor(4,1);if (minuto<10){lcd.print("0");};lcd.print (minuto);
if (cambia==1){
lcd.setCursor(8,1);lcd.print("HORA ");
CambiarValor (valor,mini,maxi,digitos,columna);
valor=0;mini=0;maxi=23;digitos=2;columna=1;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
hora=tot;
/////// minuto peris////
lcd.setCursor(8,1);lcd.print("MINUTOS");
valor=0;mini=0;maxi=59;digitos=2;columna=4;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
minuto=tot;
EEPROM.write(Mhlunaon,hora);EEPROM.write(Mmlunaon,minuto);
lcd.setCursor(0,0);lcd.print("GUARDANDO LUN ON");
delay(1500);
}*/
break;
case 6: luna off
lcd.setCursor(0,1);
lcd.print ("la luz de luna se ");
lcd.setCursor(0,2);
lcd.print ("enciende o apaga ");
lcd.setCursor(0,3);
lcd.print ("automaticamente.... ");
/* hora = EEPROM.read(Mhlunaoff);if (hora==255){hora=00;}//comprueba si se ha escrito alguna vez
minuto = EEPROM.read(Mmlunaoff);if (minuto==255){minuto=00;}//comprueba si se ha escrito alguna vez
lcd.setCursor(0,0);lcd.print("LUZ LUNA OFF ");
lcd.setCursor(0,1);lcd.print(" 00:00 ");
lcd.setCursor(1,1);if (hora<10){lcd.print("0");};lcd.print (hora);
lcd.setCursor(4,1);if (minuto<10){lcd.print("0");};lcd.print (minuto);
if (cambia==1){
lcd.setCursor(8,1);lcd.print("HORA ");
CambiarValor (valor,mini,maxi,digitos,columna);
valor=0;mini=0;maxi=23;digitos=2;columna=1;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
hora=tot;
/////// minuto peris////
lcd.setCursor(8,1);lcd.print("MINUTOS");
valor=0;mini=0;maxi=59;digitos=2;columna=4;
CambiarValor (valor,mini,maxi,digitos,columna);
if (tot==9999) { return; }//salimos
minuto=tot;
EEPROM.write(Mhlunaoff,hora);EEPROM.write(Mmlunaoff,minuto);
lcd.setCursor(0,0);lcd.print("GUARDANDO LU OFF");
delay(1500);
}*/
break;
}
}while (salir==0);
b();}