Buenas tardes a todos. Escribo a fin de comentar el problema que tengo ya que soy un aficionado a la programacion.
Estoy armando un proyecto para censar 3 temperaturas distintas, mostrarlas en un display y almacenar dichos valores para su posterior estudio. He logrado hacer funcionar todo el sistema pero tengo un inconveniente con la fecha, no con la hora.
La fecha cambia por ejemplo del día 19 al día 20 aproximadamente a las 5am y no a las 24hs(23:59:59).
Fecha Hora Temp1 Temp2 Temp3
19/10/2017 04:59:38 a.m. 24,06 ºC 24,31 ºC 22,87 ºC (unixtime 1508475578)
20/10/2017 05:14:34 a.m. 23,94 ºC 24,19 ºC 22,75 ºC (unixtime 1508476474)
La conversión de la de unixtime la hago en excel bajo la formula =(Axx/86400)+25569+(-5/24)
donde xx es el numero de fila. Esta fórmula la encontre por internet y aclaraban que el -5 es por el GMT horario...
La parte del programa que se encarga de grabar dicha información la dejo adjunta.
A que se debe este problema?
Desde ya pido disculpas a los programadores por la forma en que escribo el programa. Obviamente acepto toda sugerencia al respecto. Como no soy experto en la materia de programación van a observar muchas lineas de códigos convertidas a comentarios ya que voy realizando pruebas para su funcionamiento.
Desde ya gracias
if (cont == 290){ //cada 10 vueltas del contador son 30 segundos aprox. En este caso graba la info cada
lcd.clear(); //aprox. 14-15 minutos .
lcd.backlight();
lcd.setCursor(1,0);
lcd.print ("GRABANDO DATOS");
lcd.setCursor(1,1);
lcd.print ("NO DESCONECTAR");
delay (100);
//lcd.noBacklight();
delay (1500);
now = RTC.now();
logfile.print(now.unixtime()); // seconds since 1/1/1970
logfile.print(", ");
//logfile.print(count);
//logfile.print(", ");
logfile.print(temperatura);
logfile.print(", ");
logfile.print(temperatura2);
logfile.print(", ");
logfile.print(temperatura3);
logfile.println(", ");
//if ( count++ > 1 ) {
logfile.flush(); // if Para forzar la escritura en la SD
//count = 0 ; // Cada 64 lecturas en el programa original de la web
lcd.clear();
// }
cont=0;
/*if (eco) {
Serial.print(now.unixtime()); // seconds since 1/1/1970
Serial.print(", ");
Serial.print(count);
Serial.print(", ");
Serial.print(temperatura);
Serial.println ("ºC Sensor 1");*/
// }
//lcd.backlight();
lcd.noBacklight();
}