Página 1 de 1
Hora programada

Enviado:
24 Abr 2007 08:21
por buiz
Olá,
Desenvolvi um projeto utilizando um DS1307, agora tenho que implementar um programador horario para ligar e desligar um relé,
A lógica seria a seguinte:
Entre os parametros liga e desliga o relé = aciona,
Fora dos parametros liga e desliga o relé = desliga.
A hora para ligar podera ser menor que a hora para desligar Ex: lig:20:10 desl: 23:50
A hora para ligar podera ser maior que hora para desligar. Ex: lig: 22:25 desl: 03:15
Ta dando uma dor de cabeça para implementar esta função.
Se alguem poder ajudar agradeço.

Enviado:
24 Abr 2007 18:45
por Maurício
Eu programaria um timer pra me gerar um flag a cada 100ms, por exemplo.
Vc precisa ter duas variáveis para controlar esta situação.
Uma variável indica o horário de ligar (em horas/minutos), a outra, o horário de desligar (em horas/minutos).
A cada 100ms vc lê o relógio e compara com o valor das variáveis.
Se coincidir ligar, liga. Se coincidir desligar, desliga.
É isso.
[]'s
RETI.
Re: Hora programada

Enviado:
24 Abr 2007 19:08
por andre_luis
Olha, eu também já trabalhei com esse CI, mas nao estou entendendo muito qual é a complexidade que voce está observando. Basta ler nos enderecos relativos à hora e minuto. Poderia dar mais detalhes ?
+++

Enviado:
25 Abr 2007 07:44
por buiz
O e quipamento podera ser ligado entre os horarios e o relé devera ligar
ou seja se eu ligar as 20:00 e minha hora programada para ligar é 19:15 e desligar 21:40 o relé deve ligar.
Só que podera ser programada para ligar as 20:00 e desligar as 03:15 ai complica uma pouco.
Logico que se fosse para ligar na hora programada e desligar na hora programada seria bem mais facil fazer comparação.
mas o problema é que tenho que trabalhar entre os horarios programados.
Não sei se ficou claro agora.
hora liga... _______________ ....hora desliga
_________|......rele liga....... |_____________
rele desl................................... rele desl.

Enviado:
25 Abr 2007 08:07
por andre_luis
Acho que captei....
O que entendi, é que o PIC deveria - primeiramente - calcular o período de acionamento programado ( HH:MM desligar - HH:MM ligar ) e depois somar esse offset à hora em que o PIC foi inicializado. O resultado seria a HH:MM que ele deveria desligar. No caso, o acionamento do Rele iniciaria ao ligar o PIC. Seria isso ?
+++