Go Down

Topic: Control de Encoder  (Read 162 times) previous topic - next topic

kcarache

Feb 05, 2020, 10:22 pm Last Edit: Feb 09, 2020, 10:41 pm by surbyte
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

victorjam

Cuando haces la lectura del pulsador guarda el valor:

Code: [Select]

   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.

kcarache

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

surbyte

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

Go Up