Lectura de archivo de tarjeta sd y utilizacion del dato leido dentro de una sentencia if

Hola a todos en el grupo, mi nivel de programación es básico aunque me defiendo al rato de programar pero tengo una consulta que agardecería mucho si alguien puede ayudarme a solucionar. Estoy almacenando en una micro SD conectada a un ethernet shiel, ya creo el archivo y guardo el dato, luedo leo la memoria, y quiero segun el dato leido por medio de una condicion if poder encender o apagr un puerto, esto quiero hacerlo para que los estados de los puertos se pongan tal y cual estaban antes de que arduino haya sido desconectado o perdido la fuente de aliemntación,el código que estoy utilizando es el siguiente, en la SD estoy guardando un cuero si el puerto está apagado y un 1 si el puerto está encendido y esta información está dentgro de la SD en un archivo denominado ValAgua.txt, el problema que tengo es que no se como usar el dato leido con la instrucción dataFile.read(); cree una variable de tipo byte, lo intenté con int u con String, la variable se llama ActualizaEstado en donde quiero cargar el valor leido del archivo ValAgua.txt para que con ese valor si es 1 dentro de un if me haga la accion de poner el puerto en estado lógico 1 ENCENDIDO, y si es 0 poner el estado lógico del puerto el o APAGADO, pero la variable no se carga con 0 o 1 sino un número diferente y por eso no entra en la condicion if que he creado en void setup; si alguine me pudiera ayudar para poder usar el valor leido del archivo dentro del if le agradecería mucho, sin más que decir me despido y agradezco su valiosa ayuda:

#include <SD.h>
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>

//VARIABLES PARA HTTP y UDP//

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = {172,16,1,5};
byte gateway[] = {172,16,1,62};
byte subnet[] = {255,255,255,192};

byte ActualizaEstado;

int LED1=7;
int SD1=53;

EthernetServer server(80);

//VARIABLES PARA SD CARD//
const int chipSelect = 4;

void setup()
{
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.begin(9600);
SD.begin(chipSelect);

pinMode(LED1,OUTPUT);
pinMode(53, OUTPUT);

// Check for Ethernet hardware present
if (Ethernet.hardwareStatus() == EthernetNoHardware) {
Serial.println("No se encuentra el módulo Ethernet. No se puede ejecutar el programa sin el.");
while (true) {
delay(1); // do nothing, no point running without Ethernet hardware
}
}
if (Ethernet.linkStatus() == LinkOFF) {
Serial.println("Cable Ethernet no conectado.");
}
if(Ethernet.hardwareStatus() == EthernetW5100){
Serial.println("Controlador Ethernet W5100 detectado.");
}
else if(Ethernet.hardwareStatus() == EthernetW5200){
Serial.println("Controlador Ethernet W5200 detectado.");
}
else if(Ethernet.hardwareStatus() == EthernetW5500){
Serial.println("Controlador Ethernet W5500 detectado.");
}

if (!SD.begin(chipSelect))
{  Serial.println("No hay tarjeta");
  return;  
}
       
File dataFile = SD.open("ValAgua.txt");
if (dataFile)   // Si ha podido abrir el fichero
{
  while (dataFile.available())              // Mientras no llegues al final
  ActualizaEstado = dataFile.read();  ///****AQUI NO SE CARGA ADECUADAMENTE EL VALOR*******////

   if(ActualizaEstado == 1){
     Serial.println(" - Se ha actualizado el estado del puerto 7 a UNO: ");
     Serial.println(ActualizaEstado);
     digitalWrite(LED1,HIGH);
   }      
   if(ActualizaEstado == 0){
     Serial.println(" - Se ha actualizado el estado del puerto 7 a CERO: ");
     Serial.println(ActualizaEstado);
     digitalWrite(LED1,LOW);
   }

  dataFile.close();                         // Cierra el fichero al acabar
  }
 else     // SI no puede abrir el fichero
    Serial.println("Error, no puedo usar ValAgua.txt");

}

He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español @13Avallejo82.

En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.

De antemano, muchas gracias por cooperar.

Por favor edita tu post y adjunta el código de acuerdo a las Normas del Foro en Español, punto 7. También usa la opción "Autoformato" del menú "Herramientas" de la IDE antes de copiar el código así nos facilitas su lectura.

Claro, imagino que se carga con 48 ó 49 que son los códigos ASCII de los caracteres '0' o '1', respectivamente.

Como no has puesto el código completo y no se ve como guardas los datos no se puede decir más, es solo una especulación.