Buenos días a todos, hace años que desarrollo proyectos con Arduino.
Diseñé una máquina para informatizar la producción de 80 telares de una fábrica. El problema es que estas máquinas se hicieron hace 4 años y usé el IDE que había en aquel entonces, el 1.0.6.
Ahora debo actualizarlo por unos cambios que son necesarios y incluirles una pantalla nueva a color, etc...
El problema es que el mismo código, al compilarlo con Arduino 1.0.6 funciona a la perfección, lo cargo en la placa y todo funciona como debe (aún sin actualizar, está como hace 4 años), pero cuando cargo el mismo archivo de código en la última versión de Arduino lo compila pero la máquina no responde.
He probado a copiar las librerías viejas para que la versión nueva de Arduino las compile con ellas, pero nada.
Lo mas absurdo es que he conseguido a fuerza de Serial.print identificar donde se queda colgado el código, agarraos:
if (rpmAvg==0){
//Telar parado
Serial.println("llega3");
pulsos = 0; //establecemos los pulsos a 0 ya que el telar se ha parado
if (conTemp == 0){
conTemp = 1; //así solo repite esto una sola vez
lcd.setCursor(19,0);
lcd.write((byte)0);
activo = false;
numeroMediciones = 0;
Serial.println(cTime);
if (cTime == 0){
Serial.println("llega6");
tipAlerta = "BOOT";
Serial.println("llega1");
} else {
Serial.println("llega7");
tipAlerta = "PARO";
Serial.println("llega2");
motivoParada();
}
Serial.println("llega4");
inserta();
Serial.println("llega5");
metrosUlt = metros;
//si se ha acabado el rollo iniciamos uno nuevo
if (motivoParo == "ROLLO"){
nuevoRollo();
lcd.clear();
refrescaPantalla();
}
}
}
Me muestra hasta "llega6" a la hora de establecer un valor en esa variable se queda colgado y ya no me muestra los demás como "llega1".
Si comento esa línea, el código funciona con normalidad.
¿No es muy extraño?
La variable la tengo definida así, y se usa mucho por el código:
String tipAlerta; //usada para saber el estado del telar en la alerta
¿Alguien sabe por qué con 1.06 funciona y con las actuales no?
Gracias.