Quantas vezes você desejou que um determinado aparelho já estivesse ligado quando você chegasse em casa? Ou então, que seu pãozinho estivesse pronto juntamente com o seu café da manhã? Se isto lhe parece interessante, leia mais…
Sem dúvida, a tecnologia prove meios de aumentar nossa comodidade em muitos aspectos. A montagem proposta aqui visa obter alguns benefícios práticos para o dia a dia. Trata-se de um relógio com calendário, com apresentação em LCD 16×2 e que conta com o recurso de se poder programar 6 canais com reles, para que possam acionar aparelhos nos horários a ser programado pelo usuário. Veja o esquema abaixo:
Podemos notar que usamos 6 pinos do microcontrolador para controlar o Lcd e também 4 interruptores. Estes são usados na programação, sendo o ‘Menu’, ‘Ajuste de horas’, ‘Ajuste de minutos’ e o ‘Ajuste de segundos’. Apertando o botão ‘Menu’ navegamos pelas telas de programação. Podemos acertar o ‘relógio’, o ‘dia da semana’, a data, mês e ano e a seguir, podemos programar a hora de ligar do canal 1, a hora de desligar o canal 1, indo até o canal 6. A ultima tela é de ‘Encerrar Ajustes’, onde apertando o botão de horas, ou minutos ou ainda de segundos, saímos do ‘modo de programação’.
Quanto a obtenção de horas precisas, foi optado por colocar um ci DS1302, sendo este um relógio de tempo real, com oscilador próprio a cristal de 32,768 Khz. Mais 3 pinos do PIC foram usados para a comunicação com este circuito integrado. As outras 6 saídas foram usadas para comandar, via transistores BC548, os reles que irão suportar as cargas dos mais variados aparelhos desejados.
A alimentação deverá ser feita com um adaptador de parede que forneça 12 volts contínuos ou pode ser feita a moda antiga, com transformador de 110v/12volts , somando os diodos retificadores e capacitores de filtros apropriados. Os reles usados são de 12 volts na bobina e deverão suportar nos contatos, as correntes dos equipamentos que se deseja ligar. Em geral, reles de 10 amperes de contato já são suficientes para a maioria das aplicações. Nota-se um grande simplicidade para se efetuar a montagem, mesmo em placa de protoboard.
ARQUIVO ASM
Quanto ao programa, optou-se por uma interrupção do timer 1 (poderia ter sido usado o timer 0 como opção) para gerar a cada 256 milissegundos, uma interrupção breve, que apenas seta um flag. Este sinaliza para atualizar os contadores do relógio com os contadores internos do DS1302, na rotina principal. Após atualizar, a rotina também compara os valores programados dos canais, contidos na EEprom, com estes contadores atualizados. No momento que os valores são iguais, a rotina irá ligar ou desligar uma determinada saída que controla um rele. Depois, a rotina também testa o botão ‘Menu’ e se estiver apertado, irá entrar em modo de programação, e desligará as interrupções. As rotinas são simples, com muitas repetições , sendo que poderia ter sido feita mais compacta fazendo mais uso do ponteiro da ram (FSR e INDF), em detrimento da simplicidade. Fez se uso do famoso ‘salto goto’, inclusive em paginas diferentes da ‘pagina zero’, carregando valores corretos no PCLATH para gerar saltos apropriados.
USO DO EQUIPAMENTO
Após carregar o código HEX no PIC, e coloca-lo na montagem, ao ligar irá mostrar na primeira linha do Lcd, as horas, minutos e segundos e na segunda linha, o dia da semana e depois, o dia, mês e ano.
Deverá acertar o relógio e calendário, por apertar o botão ‘Menu’ e navegar nas telas, bem como programar os horários desejados nos canais. Os intervalos aceitos na programação, poderão ser pequenos como um segundo e grandes como 23 horas, 59 minutos e 59 segundos. Use os botões adicionais para acertar hora, minutos e segundos. Programando o mesmo horário para ligar e para desligar, fará que um dado canal nunca atue (ficará desligado).
SUGESTÃO DE USO
O uso deste equipamento vai além do que se possa descrever. Por exemplo, poderia ser usado para simular a presença de pessoas em uma residência, por acionar luzes e outros aparelhos em um determinado horário. Veja a figura abaixo:
Uma outra possibilidade, tem que ver com a irrigação de jardins. Podemos programar vários horários e colocar em paralelos alguns canais para obter os resultados desejados. Veja abaixo esta sugestão:
Agora, esta sugestão apela para o conforto matinal. Você já deixa a água e o pó na cafeteira elétrica, e os ingredientes na máquina de fazer pão. O rádio já fica na estação preferida e pronto! Acordar com música, pão feito na hora e café da manhã! Veja abaixo:
Acredito que você leitor, já tenha em mente algo que gostaria de controlar com um circuito destes! Mãos a obra! Use a sua imaginação e divirta-se!
Atenção: Esta montagem é de carater didático, sendo montada e testada apenas em placa de protoboard, sendo sujeita a bugs ainda não detectados. São fornecidos os arquivos ASM e HEX, que poderão ser modificados conforme as necessidades dos hobistas.
Segue o arquivo ASM:
Segue o arquivo HEX:
Segue pasta zipada com o arquivo hex para baixar:
Caso deseje uma versão usando o circuito integrado DS1307 (i2c) clique aqui.
Manuais:
Curiosidades:
20 modos de criar mais tempo
Saiba mais sobre os relógios de pulso
Compre tempo para ler e estudar
Já que não pode guardá-lo, use-o bem
É tudo culpa do ‘Destino’?
Sou viciado em aparelhos eletrônicos?
O que preciso saber sobre redes sociais? — Parte 1
Seja pontual!
As pessoas nos tempos bíblicos realmente viviam mais?
Outros assuntos:
Como disciplinar seu filho adolescente
Por que eu me corto?
Desempenhem bem o papel de pais
Como fazer seu segundo casamento dar certo
O que acontece quando morremos?
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Ensine seus filhos bons principios com atividades de colorir
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Entrevista com um bioquímico
Adolescentes- O que fazer se estou sofrendo bullying?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?
Até o próximo artigo!!!
Boa tarde, Claudio seria possível você me passar esta programação em linguagem C, pois tenho curiosidade em ver como é…e aprender.
Olá Jairo!
Tenho disponível em “C” a versão com o 1307 ao invés do 1302. Veja neste link ou veja o artigo “FAÇA UM RELÓGIO CONTROLADOR DE 6 CANAIS (VERSÃO PARA DS1307) – COM PIC 16F628A E LCD” na opção em ‘C’ com arquivos ‘relogio_control_v3_c’.
Boa Tarde, Claudio gostaria de saber se você tem esta programação para o compilador MikroC, pois estou estudando este compilador e gostaria de entender o que foi feito no processo de programação, teria como você me enviar por gentileza?
Ficarei muito agradecido.
Olá Burnys!
Tenho usado o compilador CCS e não conheço os comandos do MikroC. Mas geralmente, para migrar de um para o outro, não é uma tarefa tão difícil assim. Quem sabe algum colega do blog possa te ajudar…
Cláudio
Valeu Claudio!
Estou tentando aqui….valeu pela atenção.
Boa noite Claudio,
Gostaria de saber se existe a possibilidade de desligar todos os aparelhos ligados no relógio controlador para eliminar o consumo do standby?
Exemplo:
Tenho uma aparelho de dvd e uma televisão,estou assistindo um filme e decido ir dormir e quero desligar os aparelhos mas preciso que a televisão ligue em um determinado horário. É possível ?
Olá Jairo! Você poderia até desligar a tv na hora determinada cortando a alimentação dela via o rele do relógio controlador. O problema seria na hora de ligar, pois não bastaria somente alimentar o aparelho com 110 ou 220 volts, mas também enviar pulsos via controle remoto ou acionar mais uma tecla no painel do aparelho (ou tocar a tela). A alguns anos atrás, quando eu gravava filmes da tv usando um video cassete, me deparei com as ‘eventuais’ falhas de energia elétrica, que constantemente atrapalhava ‘saber o fim do filme’. Fiz um projetinho que nas quedas momentâneas de energia, religava tanto a tv como o video cassete, via pulsos emitidos por um led infravermelho. Isto garantia que quedas rápidas não atrapalhassem a gravação. Infelizmente, depois de pouco uso, perdi a cabeça de gravação e desisti de gravar. Mas fazer isto não é muito prático porque cada aparelho tinha um sistema diferente de protocolo infravermelho e deu muito trabalho (feito em asm). Assim, no caso de tv’s, o ideal é pegar um modelo que tenha já o recurso de ligar e desligar de forma programável pelo usuário. Em geral seu consumo em stand_bye são extremamente reduzidos.
Cláudio
Entendi Claudio.
Muito obrigado.
Olá Claudio Larios, muito Bom seus Projetos, tenho visitado sua pagina com frequência, e como todos amante da eletrônica, tenho visto seus projetos que tem deixado a disposição, fiz o RELÓGIO que Controla 6 CANAIS ( Apenas Por HOBBY ) e funcionou beleza, MAS gostaria de saber de VOCÊ se tem como mudar para 10 CANAIS e Acrescentar O DIA da semana que quer que ACIONA (por ex: numa pequena empresa onde se programa de 2° A 6° ) E deixar Livre Sábado e Domingo, Então desde Já te agradeço e muito Obrigado.
Olá Bagini! Obrigado por seu comentário apreciativo! O projeto em questão foi limitado a 6 canais em decorrência de não se ter mais ports disponíveis neste pic. Teria que ser usado um pic com mais ports ( pelo menos + 4). Mas fica aí uma excelente sugestão para o futuro.
Cláudio
Olá Claudio gostei muito do projeto e gostaria de fazer aqui em casa, só que não tô conseguindo baixar o arquivo RELOGIO_CONTROL_HEX para gravar no PIC. Se der pra você me ajudar com isso eu agradeço muito, obrigado.
Parabéns pelo projeto.
Olá Jairo!
Coloquei um link para pasta zipada com o hex para baixar no artigo.
Obrigado por seu comentário de apreço pelo artigo. Divirta-se com a montagem!
Cláudio
Boa noite,
Valeu Claudio agora consegui,vou partir para a montagem.
Obrigado!
😛 Olá Claudio,como sempre recorro a vc para nos dar uma dica, seria muito difícil alterar este exemplo para um datalogger, um registrador de eventos e salvar as horas que ouve o acionamento de um sensor,a necessidade seria para registrar e salvar na eeprom os horários que em uma faixa de horas os acionamentos de um sensor, PEGAR QUEM ESTA DEIXANDO O LIXO EM UM CONDOMÍNIO FORA DO HORÁRIO PERMITIDO. aqui esta um problema com isto.Desta forma visualizava no display os eventos que foi acionado para ver as gravações das câmeras. obrigado desde já valeu e um abraço
Olá Foxconn! Situação complicada esta sua! Mas existem muitos esquemas de datalogger nos sites. Poderá adaptar algum a sua necessidade. Experimentou trazer o assunto ao sindico para uma solução ‘menos eletrônica’ do caso? Experimentem estabelecer uma ‘multa’ em reunião? Quem sabe mexendo no bolso a turma se educa!!!
Cláudio
🙂 Olá Claudio,e mesmo uma situação chata em, foi o que o sindico ja fez, multa em cima de multa mais tem morador estão ainda sim desafiando o sistema adotado. Seria uma forma de facilitar a pesquisa de imagem nas câmeras, desta forma saberia o horário e dia que o dito mau intencionado se fez de por o lixo em horário improprio, valeu e um abraço…