variables adquieren valores solos

Hola amigos hace tiempo que no posteo (si es que alguna ves lo hice) pero es que tengo un problema y no se por donde va la cosa

Estoy haciendo un controlador de temperatura para unos tanques de fermentación (Cerveza)
con un arduino uno, pantalla 4x20 ic2, y sensores DS18B20 mas un Data logger shield, para estudiar las fluctuaciones de T° durante el año, pero aun no llego a es parte
de momento los valores se los estoy dando por puerto serie porque aun no me consigo un teclado

La cosa es que mientras comprobaba la sección del programa en donde muestro por la pantalla el tiempo que llevan los tanques fermentando.
los valores del set de temperatura adquirieron valores extraños, que yo no les asigne y al cambiarlos, retoma estos Valores extraños(52° y 12.591°c)

Revise por todos lados del sketch por si accidentalmente habría tecleado accidentalmente algo que le diera esos valore, pero no
reescribí otro sketch y volví al original en caso de que un bug o algo, pero vuelve a pasar lo mismo.
no tengo otra placa para ver si sea tenga problemas la placa, quizás al hacer tantas pruebas se "daño" o algo

les mando el sketch completo porque es algo extenso

fermentador.ino (9.88 KB)

Esos datos erroneos te los muestra en la salida de depuración serie o en el LCD??

Si es en el LCD tal vez debes de limpiar el LCD, puede que te este solapando datos y al leer parezcan erroneos.

helius:
Esos datos erroneos te los muestra en la salida de depuración serie o en el LCD??

Si es en el LCD tal vez debes de limpiar el LCD, puede que te este solapando datos y al leer parezcan erroneos.

tanto en el LCD como por el monitor serie

fue lo primero que pensé, que estuviera solapando datos en el LCD pero al mostrarlos en el monitor serie comprobé que efectivamente se les asigna estos valores

Te estas complicado un poco con el tiempo transcurrido. Gracias a la libreria TimeLib.f defines 5 variables time_t (aun tz nunca la usas) y en algún momento las haces igual a now().

  • Fecha0 = Iniciar fermentacion 1
  • Fecha1 = Iniciar fermentacion 2
  • Fecha1 = Iniciar fermentacion 3

Y veo que t la cargas al inicio de loop() y nuevamente antes de imprimir tiempos, creo que debes borrar el primero.

Luego para obtener el tiempo transcurrido solo debes restar ambas fecha asi:

t = now();
tz = t - Fecha0;
Serial.println(day(tz));