DS1307 Real time clock Datalogger

//DEfine fecha y hora
unsigned long Definehora()
{
unsigned long h = 0;
char key = kpd.getKey();

while(key != '#')
{

switch (key)
{
case NO_KEY:
break;

case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':

h = h * 10 + (key - '0');

myGLCD.printNumI(h, 0, 40);
myGLCD.update();

break;

case '*':
h = 0;

myGLCD.update();
break;
}

key = kpd.getKey();

}

return h;
}

//DEfine fecha y hora
unsigned long Defineminutos()
{
unsigned long mi = 0;
char key = kpd.getKey();

while(key != '#')
{

switch (key)
{
case NO_KEY:
break;

case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':

mi = mi * 10 + (key - '0');

myGLCD.printNumI(mi, 0, 40);
myGLCD.update();

break;

case '*':
mi = 0;
myGLCD.update();
break;
}

key = kpd.getKey();

}

return mi;
}

//DEfine fecha y hora
unsigned long Definesegundos()
{
unsigned long s = 0;
char key = kpd.getKey();

while(key != '#')
{

switch (key)
{
case NO_KEY:
break;

case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':

s = s * 10 + (key - '0');

myGLCD.printNumI(s, 0, 40);
myGLCD.update();

break;

case '*':
s = 0;
myGLCD.update();
break;
}

key = kpd.getKey();

}

return s;
}

//Definicion unidades II
unsigned long Definefechahora(){
char key = kpd.getKey();
while(key != '#')
{
switch (key)
{
case NO_KEY:
break;

case 'A':
fechahora=key;
break;

case 'B':
fechahora=key;
break;

delay(1000);
}
key = kpd.getKey();
}
return fechahora;

}

unsigned long Definelog(){
char key = kpd.getKey();
while(key != '#')
{
switch (key)
{
case NO_KEY:
break;

case 'A':
menulog=key;
break;

case 'B':
menulog=key;
break;

case 'C':
menulog=key;
break;

case 'D':
menulog=key;
break;

case '0':
menulog=key;
menu='0';
break;

delay(1000);
}
key = kpd.getKey();
}
return menulog;

}

//-----------------------------------

void loop()
{
int numSensoresT = sensors.getDeviceCount();
float temparray[numSensoresT];

inicio:
if (menu=='0')
{
myGLCD.clrScr();
myGLCD.print("-MENU-", CENTER, 0);
myGLCD.drawLine(2,8,82,8);
myGLCD.print("#: Confirmar", CENTER, 10);
myGLCD.print("A: Config", 0, 20);
myGLCD.print("B: SD", 0, 30);
myGLCD.print("C: Datos", 0, 40);
myGLCD.update();
char menu=Defineletra();
}

else if (menu =='A')
{
myGLCD.clrScr();
myGLCD.print("CONFIGURACION", CENTER, 0);
myGLCD.drawLine(2,8,82,8);
myGLCD.print("A:Tiempo", 0, 10);
myGLCD.print("B: Sensores", 0, 20);
myGLCD.print("C: Unidades", 0, 30);
myGLCD.print("0: Volver", 0, 40);
myGLCD.update();
char menu1=Defineletra1();

if (menu1=='A')
{inicio3:
myGLCD.clrScr();
myGLCD.print("-TIEMPO-", CENTER, 0);
myGLCD.drawLine(2,8,82,8);
myGLCD.print("A:Fecha/h", 0, 10);
myGLCD.print("B: Periodo Log", 0, 20);
myGLCD.print("0: Volver", 0, 30);
myGLCD.update();
char menu3=Defineletra3();

if (menu3=='A')
{

while(fechahora=='0')
{
myGLCD.clrScr();
myGLCD.print("A:Correcto", 0, 0);
myGLCD.print("B:Cambiar", 0, 10);
verhora();

char fechahora=Definefechahora();

}

while(fechahora=='A')
{
{goto inicio3;}
}

while(fechahora=='B')
{
ponerhora();

{goto inicio3;}
}

}

else if (menu3=='B')
{

myGLCD.clrScr();
myGLCD.print("Definir unidad", 0, 0);
myGLCD.print("y pulsar #", CENTER, 10);
myGLCD.print("A: Horas", 0, 20);
myGLCD.print("B: Minutos", 0, 30);
myGLCD.print("C: Segundos", 0, 40);
myGLCD.update();
char unidad=Defineletra7();

myGLCD.clrScr();
myGLCD.print("Numero unidades", 0, 0);
myGLCD.print("#: Confirmar", 0, 10);
myGLCD.print(": Borrar", 0, 20);
myGLCD.update();
unsigned long num = Definenumero();
numero = num;
refresh_rate=(num
t);
{goto inicio3;}
}

else if (menu3=='0')
{goto inicio;}

}

else if (menu1=='B')
{ inicio4:
myGLCD.clrScr();
myGLCD.print("SENSORES", 0, 0);
myGLCD.drawLine(2,8,82,8);
myGLCD.print("A:Temperatura", 0, 10);
myGLCD.print("B: Caudal", 0, 20);
myGLCD.print("0: Volver", 0, 30);
myGLCD.update();
char menu4=Defineletra4();