Control de Encoder

buenas tardes necesito ayuda tengo un contador cuenta atras con arduino nano y display de 7 seg 4 dig y encoder giratorio con sw, el programa va muy bien funciona de la siguiente manera

enciendo el arduino y el display comienza 0000

selecciono mediante un encoder giratorio el tiempo en segundo de la cuenta atrás.

presiono el encoder y comienza el contador y me activa una salida para un relay.

si presiono nuevamente el encoder, pauso el contador

si presiono nuevamente el encoder, continua el contador hasta agotarse el tiempo y para la señal del realy.

el tiempo del contador se coloca en el mismo valor que se selecciono con el encoder giratorio al comienzo, es decir, si selecione 10seg al finalizar vuelve a 10 seg.

hasta aqui todo muy bien

el problema ocurre cuando desconecto el arduino y el tiempo se pone nuevamente en 0 segundos, yo necesito poder guardar el ultimo tiempo programado en la eeprom de manera de recuperarlo al enceder el arduino (caso se va la energia electrica).

necesito que me ayuden a guardar ese dato

abjunto el code por su tamaño

codigo del temporizador.txt (10.9 KB)

Cuando haces la lectura del pulsador guarda el valor:

   if (SW.read() == MD_KeySwitch::KS_PRESS && setPoint != 0)
    {
      PRINTS(" Press");
      // Guarda el valor en la EEPROM.
      state = S_START;
    }

y en el setup, lo recuperas.

muchas gracias, el valor en este caso que quiero guardar es el que me da el encoder cuando lo giro

// Rotary Encoder

const uint8_t RE_A_PIN = 3;

const uint8_t RE_B_PIN = 2;

por eso cre que se incluyen estas 2 librerias
#include <MD_REncoder.h>

#include <MD_KeySwitch.h>

una para la funcion del encoder en su rotacion y para otra para el key, como tendria que hacerlo en este caso que te comento?
me prodrias ayudar por favor

Que tal si lees las normas y editas tu post #2. Aunque sea una línea debe ir con etiquetas de código.