USO DE EEPROM

Hola, amigos del foro , tengo una idea en mente sobre un proyecto que estoy pensando
Deseo usar la memoria eeprom para guardar un numero , y este numero ser usado como el delay para encender y apagar un led
Este numero lo quiero enviar por el puerto serial

int reloj ; 
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(9600);
  byte reloj = EEPROM.read(10);
  Serial.print(reloj);
}

void loop() {
  if (Serial.available()) 
  {
  reloj = Serial.read () ;  
  EEPROM.write(10, reloj) ;
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(reloj);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(reloj);                       // wait for a second
  }
}

Realice ese código, pero no logro guardar el numero , escribo un numero y solo sale el 10
alguien podría ayudarme
Gracias

Disculpa mi comentario pero si hubieras leído las normas te habrías dado cuenta que haciendo en google:

Arduino EEPROM.read o EEPROM.write tienes ejemplos muy claros

También puedes usar EEPROM.get y EEPROM.put del mismo modo.

Si tu problema es el inglés te aseguro que con google translate entenderás muy bien lo que se indica.

Lo que haces mal es que EEPROM.read(direccion) pide una direccion

Y read, lee de a 1 byte. Asi que en tu ejemplo le estas pidiendo que devuelva el dato o byte en la posición 10.

El código no esta necesariamente mal, pero requiere algunos cambios

int reloj ; 

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(9600);
  reloj = EEPROM.get(0);
  Serial.print(reloj);
}

void loop() {
  if (Serial.available()) {
      reloj = Serial.parseInt();  
      EEPROM.put(0, reloj) ; // wait for a second
  }
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(reloj);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(reloj); 
}

get y put leen y guardan todo el entero, no solo de a bytes como read y write.

Si pregunto en el foro es por que busque en otro lados , por personas como usted, la gente no usa foros , tipico sabelon que se pone a decir que otros no saben nada
Y te recuerdo que arduino es para todas las edades
Por cierto tu código no funciona

@luis_v lamento tu respuesta pero solo digo lo que las normas te piden que hagas.
Si buscastes, lo hiciste mal porque la información que te di esta en el Playground de Arduino.cc no en algún lugar raro de Internet.

Es el sitio a consultar sobre cada instrucción que tengas dudas.
Luego la simple operación de poner en Google: Arduino LoQueMeInteresaBuscar te dará siempre resultados.

No es de sabelotodo es lo que las normas te piden que hagas para ahorrarte tiempo a ti primeramente.

Ahora tu código o mejor dicho el que te reformé, es cierto, tiene un error menor que también podrías haber resuelto con la información de EEPROM.get

#include <EEPROM.h>
#define LED      13
int reloj = 0; 
byte estado = 0;
unsigned long start;

void setup() {
  // initialize digital pin LED as an output.
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
  
  // EEPROM.get(0, reloj);  // luego de guardar al menos 1 valor descomentar
  Serial.print(reloj);
}

void loop() {
  if (Serial.available()>0) {
      int tmp = Serial.parseInt();  
      if (tmp !=0) {
        Serial.print("Valor guardado:");
        Serial.println(reloj=tmp);
        EEPROM.put(0, reloj) ; // wait for a second
      }
  }
  switch(estado) {
      case 0: digitalWrite(LED, HIGH);   // turn the LED on (HIGH is the voltage level)
              estado = 1;
              start = millis();
              break;
      case 1: if (millis() - start > (unsigned long) reloj) {
                  digitalWrite(LED, LOW);
                  estado = 2;
                  start = millis();                 
              }
              break;
      case 2: if (millis() - start > (unsigned long) reloj) {
                  estado = 0;
              }
              break;
  }
}

Ahora responderá con velocidad a tus cambios.

Espero te sirva.

Más información de curiosidad de la EEPROM por aquí explicada.

http://blascarr.com/arduino-eeprom-save-load-data-structures/