FAÇA UM RELÓGIO CONTROLADOR PROGRAMÁVEL MULTICANAIS II – COM PIC 16F628A E DS1302 (REF186)

Automatizar atividades repetitivas está agora mais fácil (versão para circuito integrado RTC tipo DS1302)…

Esta montagem é um aprimoramento do ‘RELOGIO CONTROLADOR DE 6 CANAIS’ podendo ser montado em 7 versões diferentes, dependendo da sua necessidade.
Igualmente a versão com DS1307, foi também incorporado no software, a programação do dia da semana além das horas, minutos e segundos que um determinado canal irá ligar/desligar um dispositivo.
Veja abaixo, o esquema da versão para 7 canais:

Note que houve uma pequena alteração em relação ao esquema com DS1307, pois a comunicação com este integrado exige 3 pinos (SSC). O pino 13 compartilha também a função de cadenciar o clock para o DS1302. Já o pino 3 passou a controlar o RST.
Na pasta fornecida no final deste artigo, poderemos obter 7 esquemas diferentes e 7 arquivos hex correspondentes a cada montagem, devendo ser carregado o firmware escolhido no pic com um programador de pics. O arquivo “C” está disponível, pois alguns hobistas talvez queiram adaptar o programa para alguma necessidade pessoal, ou mesmo melhorar as rotinas conforme tiver facilidade com o manuseio do compilador CCS C. Como estou ainda aprendendo “C”, sugestões serão bem-vindas para o benefício de todos. Também, poderá adaptar o arquivo para outros tipos de compiladores “C”, apenas trocando a forma de escrita de alguns comandos peculiares ao compilador utilizado.

PROGRAMAÇÃO DOS CANAIS E RELÓGIO/CALENDÁRIO

Quando em uso, o LCD irá mostrar na primeira linha, as horas, minutos e segundos ( hh:mm:ss). Já na segunda linha irá apresentar o dia da semana com 3 letras (ex: SEG para segunda-feira) e o calendário com dia, mês e ano (DD:MM:AA).
Ao apertar o botão ‘MENU’ passamos para o modo de programação. De imediato começa a piscar as horas, minutos e segundos. Pressionando os botões ‘SEG’, ‘MIN’ e ‘HORA’, podemos ajustar as horas, minutos e segundos.
Para ajustar o dia da semana, de um novo aperto no botão ‘MENU’. Isto fará que fique piscando o dia da semana. Apertando qualquer dos botões ‘SEG’, ‘MIN’ ou ‘HORA’, fará que ocorra mudança deste dia, de forma sequencial.
Para ajustar o calendário, deverá dar um novo aperto no botão ‘MENU’. Agora o calendário irá piscar. Use os botões ‘SEG’, ‘MIN’ e ‘HORA’ para alterar o dia, mês e ano. Para salvar estas alterações feitas para o relógio, aperte o botão ‘MENU’. Nesta operação, também ira mostrar no LCD o canal a ser ajustado e piscará o horário para ligar na linha superior. Ajuste usando os botões ‘SEG’, ‘MIN ou ‘HORA’. Aperte o botão ‘MENU’ para ajustar a hora desejada para desligar, na linha inferior. Outro aperto em ‘MENU’ fará aparecer a tela com os dias que deseja que acione a saída. Na linha inferior temos as iniciais dos dias da semana, no formato D S T Q Q S S (Domingo, Segunda, Terça… Sábado).
Com o botão ‘SEG’ navegamos entre os dias a ser selecionado. Usando o botão ‘MIN’ marcamos o dia para ligar e com o botão ‘HORA’ desmarcamos o dia (não ligará). Note que o dia a ser marcado/desmarcado ficará piscando. Quando marcamos um dia, irá aparecer no espaço anterior o carácter ‘>’, para indicar a escolha para o usuário. Quando desmarcamos, voltará a apresentar um espaço em branco antes da inicial do dia. Para gravar estas escolhas, aperte novamente o botão ‘MENU’. Se houver mais canais, conforme a opção escolhida, repita os mesmos passos para cada canal, lembrando que somente será gravado após aperto do botão ‘MENU’. Caso deseje que um canal nunca acione a saída, basta programar os horários de ‘ligar’ iguais ao de ‘desligar’ ou então desmarque todos os dias da semana. O botão ‘RESET’ pode ser usado para sair de modo mais rápido do modo de programação, respeitando as instruções acima quanto a gravar dados para cada canal.

APLICAÇÕES DESTA MONTAGEM

Vários equipamentos que necessitem ser ligados em determinado horário podem ser ligados a este dispositivo. Como exemplo, poderá ser usado como um simulador de presença, ligando determinados eletrodomésticos em horários condizentes, bem como luzes e aparelhos de som. Pode ser usado em irrigação, inclusive em situações que necessitem regas dia sim dia não. Outros usos poderão ser encontrados pelos próprios hobistas.
Quando necessitamos que vários horários acionem uma única carga no dia, podemos colocar os contatos dos reles de saída em paralelo, quantos forem necessários.

Obs. Esta montagem foi feita apenas em placa de protótipos (tipo protoboard), sujeita a bugs não observados nos testes.
Esta sendo fornecido os arquivos que poderão ser alterados conforme a necessidade dos hobistas.
Atenção: Antes de fazer placa de circuito impresso, teste antes em placa de montagem experimental e certifique-se que a montagem atenda as suas necessidades.

Segue a pasta com os arquivos para esta montagem, nas suas várias versões:

RELOGIO_MCONTROL_1302

Manuais:

DS1302
PIC 16F628A
LCD

Curiosidades:
Os jardineiros voadores da floresta tropical
A rã que tinha filhotes pela boca
A enigmática cola da aranha
A lanterna do vaga-lume
Por que choramos?
A pele das cobras
A caça às bruxas na Europa

Videos para assistir com seus filhos pequenos:

Proteja seus filhos
Aprenda a perdoar
Divida suas coisas com outros
Jeová criou todas as coisas
Seja limpo e organizado
O que é um amigo de verdade?
Dar de coração traz alegria
Por favor e obrigado
É errado roubar
Como enfrentar o bullying sem partir para a briga

Videos Motivadores:
Vejo a vida com as mãos
‘Eu estava cheio da minha vida’
Um novo começo
Japão — refazendo a vida um ano após o desastre
Uma exposição histórica
Deus tem nome?

Até o próximo artigo!!!

8 comments on “FAÇA UM RELÓGIO CONTROLADOR PROGRAMÁVEL MULTICANAIS II – COM PIC 16F628A E DS1302 (REF186)

  1. Ola Claudio,tudo bem?
    Estou com um projeto de automatizar alguns “agitadores” de açudes para oxigenar a agua. Eles tem que ligar de tempo em tempo todos os dias da semana e permanecer certo tempo ligado, isso se repete varias vezes ao dias. Axei interessante este seu exemplo do relogio controlador. Sera que ele atende minhas expectativas?
    Voce poderia me ajudar a desenvolver este projeto?
    tem algum email para falarmos nos falamor melhor.
    Abraços. AH sua iciciativa deste blog é fantastico,parabens.

    1. Olá Sidsc!
      Primeiramente, quero agradecer seu sincero elogio a iniciativa deste blog. Quanto ao relógio_controlador, este dispõe de 6/7 saídas apenas. Elas podem ser ligadas em paralelo para obter mais horários durante o mesmo dia. Você terá que ver quantas são as saídas e quantas vezes elas precisam ligar. Se for um único ‘agitador’, pondo as saídas em paralelo, terá 7 horários diferentes de funcionamento. Não sou programador profissional, começando a programar com “C” a pouco tempo (creio que dá para notar pelo código usado) e talvez tenha limitações para um projeto mais ‘sofisticado’ como o seu. Existem muitas maneiras de se fazer o que você quer: com microcontroladores , com CLP (Controlador Lógico Programável), com uso de PC e software acionando portas seriais, paralelas ou mesmo USB. O último permite integrar a um grande sistema de controle, mais moderno e mais fácil de gerenciar. Vai do bom senso a escolha que fará. Naquilo que puder ajudar, poderá entrar em contato no email do blog claudio@picsource.com.br.
      Cláudio

  2. Olá Claudio. Tudo bem, tenho um projeto feito no proteus. É um temporizador.. estou usando um pic 16f628a, Display 16×2 , um rele 8 pinos e um buzer com 1 botão para seg um para mit. um para start um para reset. Esse projeto destina-se desligar a lampada uv 127V qdo a programação no display zera. Acontece que quando ligo na energia a lampada já acende antes de eu programar. O correto seria ela acender qdo der o start. Quando vc cobraria para resolver essa programação ou como posso fazer a doação. Se desejar posso enviar minha programação. Muito obrigado César

    1. Olá Cesar!
      Com respeito a projetos usando Proteus, esta infelizmente não é a minha área, pois faço montagem com componentes reais em placa experimental. Já tentei usar o Proteus, mas alguns projetos ‘não-convencionais’ não rodavam nele e voltei para a placa experimental. Eu não trabalho com programação e nem presto serviço remunerado, sendo apenas um hobby de fins de semana, ainda porque não sou programador profissional, apenas um ‘curioso’. Se o código não for para uso comercial, que você possa posta-lo neste comentário, poderei ver em que posso ajuda-lo ou alguém do blog possa sugerir algo até melhor. No entanto, se for de caráter sigiloso, então sugiro que busque ajuda de um profissional programador. Mas acredito que o seu projeto deva ter alguma versão na internet, já pronta, bastando adaptar alguma coisa.
      Cláudio

      1. Olá Cláudio. Muito obrigado por sua gentileza. Não há problema para enviar o projeto. É para uso pessoal., também como vc é meu hobby. tem como enviar como anexo.
        Abraço
        César

  3. Olá Moretti!
    Obrigado por seu comentário de apreço pelos artigos deste blog. Fico muito feliz que está sendo de alguma ajuda. Sucesso em seus projetos!

    Cláudio

  4. Olá Claudio,

    Obrigado por compartilhar todo seu conhecimento. Seus projetos são realmente muito úteis e aprendo muito com eles, já fiz alguns e vezes os utilizo como base para outros projetos.

Comments are closed.

Back To Top