Estoy trabajando en una alarma. Cuando salta, según el sensor que sea, se guarda en la EEPROM una memoria de alarma.Es decir, si salta, cuando la desactivas sale en un lcd : alarma en memoria pasillo.
Para grabar los valores uso ésto
EEPROM.write(1,1);//EEPROM ENTRADA
EEPROM.write(0,1);//EEPROM PASILLO
Ésta es la función que estoy usando para interpretar lo que está grabado.
memoriapasillo=EEPROM.read(0);
if(memoriapasillo==1);
{ lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Alarma en memoria");
lcd.setCursor(0, 1);
lcd.print(" Pasillo");
delay(1000);
}
memoriaentrada=EEPROM.read(1);
if(memoriaentrada==1);{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Alarma en memoria");
lcd.setCursor(0, 1);
lcd.print(" Entrada");
delay(1000);
Para saber que está grabado, saco por la consola los valores
Serial.print(EEPROM.read(0));
Serial.print(EEPROM.read(1));
Cada vez que se reactiva la alarma borro los datos de la EEPROM, mejor dicho, grabo 0 en los 2 sitios.
EEPROM.write(0,0);//BORRO MEMORIA PASILLO
EEPROM.write(1,0);//BORRO MEMORIA ENTRADA
El problema es que siempre aparece en la lcd: alarma en memoria pasillo y alarma en memoria entrada.PERO en la consola si que salen bien los valores, es decir, si ha saltado en pasillo sale un 1. Si ha saltado en la entrada sale un 1. Si rearmo(borro los datos) salen ceros en la consola.
ES DECIR el tema funciona, el problema está que en la función que uso para interpretar lo grabado, no reconoce el número.
Gracias de antemano. Espero que tengáis paciencia con todo el rollo.