Opa galera,
Tenho um problema relativamente grande com o meu trabalho de tcc, preciso disparar uma ação(deixar uma saída em nível lógico alto) de acordo com um tempo pré determinado pelo usuário de uma interface de controle, nesta interface constam 3 botões, um botão de MENU (habilita o incremento e decremento de tempo), e mais os botões de incremento e decremento, os dois botões irão incrementar ou decrementar o tempo de disparo em uma hora(cada botão com uma função), o botão MENU quando for apertado pela segunda vez desabilitará mudanças no timer e vai salvar as configurações setadas pelo usuário da interface de controle.
Por enquanto tenho funcionando um relógio regressivo baseado na função millis() que começa em 24h00 e vai decrementando até chegar em 00h00, código :
int seg=0,
min=0,
hor=0,
botao;
static unsigned long ult_tempo = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int tempo = millis();
if(tempo - ult_tempo >= 1000)
{
ult_tempo = tempo;
seg--;
}
if(seg<=0)
{
seg = 59;
min--;
}
if(min<=0)
{
min = 59;
hor--;
}
if(hor<=0)
{
hor=24;
}
Serial.print(hor);
Serial.print(":");
Serial.print(min);
Serial.print(":");
Serial.println(seg);
delay(1500);
}
Também venho estudando o código do ButtonStateChange:
http://arduino.cc/en/Tutorial/ButtonStateChange
Tenho conseguido algum exito na detecção dos pulsos nos botões da interface, porém meu maior problema é a lógica envolvida em conseguir pré programar o timer para o disparo do meu dispositivo. Venho aqui no fórum procurando um norte para começar a sair do 0.1 hahaha.
Muito obrigado aos amigos do forum que tiveram paciência de ler o meu post até aqui hahaha.
Abraços