Using EEPROM and read information

hi:

I want to run on and off the LED 13 including "Arduino UNO R3" with a button and sending characters through serial or USB port.

EEPROM is also used to make it on or off the power loss.

This is the code but does not work.

#include <EEPROM.h>

char caracter;
String comando;
int pinLed =  13;   // Declaramos la variable pin del Led.
int Direccion = 0;
byte Dato;
byte Dato2;

// Variables pra el pulsador.
int estadoActual1=0; 
int estadoActual2=0; 
int estadoUltimo=0; 
int contador=0; 

void setup()
{
  pinMode(pinLed, OUTPUT);  // Inicializa el pin del LED como salida:
  Serial.begin(115200); // Puerto serie 115200 baudios.
  delay(200); // Retardo 0,2 segundos.
  Serial.println(EEPROM.read(Direccion),DEC); // Imprime en pantalla la dirección en decimal.
  Dato2 = EEPROM.read(Direccion); // Lee la dirección y lo almacena en la variable Dato2.
    
    // Lee los datos almacenados en al EEPROM al iniciar el programa.
  switch (Dato2) 
    {
      case B0:
      digitalWrite(pinLed, HIGH); // Enciende el Led.
      break;
    
      case B1:
      digitalWrite(pinLed, LOW); // Apaga el Led.
      break;
    }
}

void loop()
{
  /* Leyendo carácter a carácter lo que se resive por el canal del puerto serie
  y los voy concatenando uno tras otro en una cedena. */
  while (Serial.available()>0)
  {
    caracter= Serial.read();
    comando.concat(caracter);
    delay(10);
  }
  
  // Si los carácteres es recibido y verdadero.
  if (comando.equals("Led13_ON") == true)
  {
    digitalWrite(pinLed, HIGH); // Enciende el Led.
    Serial.println("El comando es Led13_ON"); // Muestra este mensaje en pantalla.
    Dato = B0; // Dato binario se almacena en la variable Dato.
    EEPROM.write(Direccion, Dato); // Escribe dirección y dato en la EEPROM.
  }   
  
  // Si los carácteres es recibido y verdadero.
  if (comando.equals("Led13_OFF")== true)
  {
    digitalWrite(pinLed, LOW); // Apaga el Led.
    Serial.println("El comando es Led13_OFF"); // Muestra este mensaje en pantalla.
    Dato = B1; // Dato binario se almacena en la variable Dato.    
    EEPROM.write(Direccion, Dato); // Escribe dirección y dato en la EEPROM.
  }  
  
  // Limpiamos la cadena para volver a recibir el siguiente comando.
  comando="";
  
  // Pulsador.
  estadoActual1=digitalRead(8); 
  delay(10);
  estadoActual2=digitalRead(8);
  if (estadoActual1 == estadoActual2)
  {
    if (estadoActual1 != estadoUltimo)
    { 
      if (estadoActual1 == HIGH)
      {
        contador = contador + 1;
        Serial.print ("Ésta es la pulsación nº ");
        Serial.println(contador); 
      }        
    }
  }
  
  estadoUltimo= estadoActual1;
      if (contador % 2 == 0 ) {
          digitalWrite(pinLed, LOW);       
      } else {
          digitalWrite(pinLed, HIGH);     
      }  
}

Greeting.

EEPROM is also used to make it on or off the power loss.

That makes little sense, what are you trying to do with it?