DS1307 Real time clock Datalogger

if (menu4=='A')
{

myGLCD.clrScr();
myGLCD.print("Detectando", CENTER, 10);
myGLCD.print("sensores", CENTER, 20);
myGLCD.update();

delay(1000);

myGLCD.clrScr();
myGLCD.print("SENSORES:", 4, 10);
myGLCD.printNumI(numSensoresT, 58, 10);
myGLCD.update();
delay (1000);

{goto inicio4;}

}

else if (menu4=='B')
{
myGLCD.clrScr();
myGLCD.print("-CAUDAL-", CENTER, 0);
myGLCD.print("Definir numero", CENTER, 10);
myGLCD.print("de sensores", CENTER, 20);
myGLCD.print("y pulsar #", CENTER, 30);
myGLCD.update();
unsigned long numQ=DefinenumeroQ();
numSensoresQ=numQ;
{goto inicio4;}
}

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

}

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

}

else if (menu == 'B')
{inicio2:
myGLCD.clrScr();
myGLCD.print("TARJETA SD", CENTER, 0);
myGLCD.drawLine(2,8,82,8);
myGLCD.print("A:Formatear", 0, 10);
myGLCD.print("B: Extraer", 0, 20);
myGLCD.print("0: Volver", 0, 30);
myGLCD.update();
char menu2=Defineletra2();

if (menu2=='0')
{goto inicio;}

}

while (menu == 'C')
{

while (pantallazo == 0)
{

//Escritura del encabezado
File logFile = SD.open("LOG.txt", FILE_WRITE);
if (logFile)
{
logFile.println(", , , ,"); //Dejar linea en blanco, por si hay datos previos

logFile.print("Fecha y hora");
logFile.print(",");

for (int encabezado=0; encabezado<numSensoresT;encabezado++) //
{
logFile.print("T");
logFile.print(encabezado+1);

if (encabezado < numSensoresT-1)
{
logFile.print(",");
}
else
{
logFile.println();
}

}
}
else
{
myGLCD.clrScr();
myGLCD.print("Fallo de",CENTER, 10);
myGLCD.print("tarjeta",CENTER, 20);
myGLCD.print("SD",CENTER, 20);
myGLCD.update();
delay(1500);

}

logFile.close();

delay(3000);

myGLCD.clrScr();
myGLCD.print("PERIODO", 0, 0);
myGLCD.printNumI(numero, 0, 10);

if (t==3600)
{
myGLCD.print(" horas", 15, 10);
}

else if (t==60)
{
myGLCD.print("min.", 15, 10);
}

else if (t==1)
{
myGLCD.print("segs.", 15, 10);
}

else if(t==0)
{
myGLCD.print("ND", 15, 10);
}

myGLCD.drawLine(1,18,83,18);

myGLCD.print("Sensores T:", 0, 21);
myGLCD.printNumI(numSensoresT, 64, 21);

myGLCD.print("Sensores Q:", 0, 31);
myGLCD.printNumI(numSensoresQ, 64, 31);
myGLCD.update();

delay(3000);

myGLCD.clrScr();
myGLCD.print("0:STOP", 0, 0);
myGLCD.print("A: Temp 1", 0, 10);
myGLCD.print("B: Temp. 2", 0, 20);
myGLCD.print("C: Caudales 1", 0, 30);
myGLCD.print("D: Caudales 2", 0, 40);
myGLCD.update();

delay(3000);

pantallazo++;
}

sensors.requestTemperatures(); // Petici?n de temperatura a todos los sensores

for (w=0; w<numSensoresT; w++)//Para la creaci?n del array de temperaturas
{

float temp = sensors.getTempCByIndex(w); //Toma la temperatura del sensor i y la almacena en la variable temp
temparray[w] = (temp);

}

ini:

if (menulog == 'A'){

myGLCD.clrScr();

for (int j=0; j<numSensoresT;j++) //
{
int a=(10*j);

myGLCD.print("T", 0, a);
myGLCD.printNumI((j+1), 8 ,a);
myGLCD.print(":", 20, a);
myGLCD.printNumF(temparray[j], 3, 25 ,a); //El 3 se cambia segun precision requerida, Estoy usando 12 bits para el ds18b20-->0.0625?C precision
myGLCD.print("*C", 62, a);

}

myGLCD.update();

}