Página 1 de 1

Hora programada

MensagemEnviado: 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.

MensagemEnviado: 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

MensagemEnviado: 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 ?

+++

MensagemEnviado: 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.

MensagemEnviado: 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 ?

+++