Não fique esperando para desligar. Use um timer…
Existem algumas atividades que necessitamos ligar algum equipamento e ficar esperando um determinado tempo para desliga-lo. O timer facilita muito porque podemos programar o tempo desejado que o equipamento fique ligado e ao darmos ‘start’, ele ligará e desligará no tempo programado. Assim, evitamos de esquecermos algo ligado e as possíveis consequências disto. Apesar de ser uma coisa simples de ser feita, em especial com microcontroladores, ainda assim é muito útil. Então resolvi fazer uma montagem com este tema. Veja como ficou o esquema:
A rotina usa a interrupção do timer 0 para obter o tempo de 1 segundo necessário ao funcionamento do relógio. Com o prescaller ajustado para dividir por 64 obtemos uma interrupção a cada 8 ms. Um contador adicional divide por 125 obtendo assim este tempo básico.
Para usa-lo basta programar o tempo desejado entre 1 s e 59 minutos/59 segundos, e em seguida, apertar o botão ‘On/Pause’. Os botões ‘Seg’ e ‘Min’ ajustam respectivamente os segundos e os minutos. Apertando começa a incrementar e soltando para o incremento. Somente podemos ajustar o tempo quando em pausa ou desligado por tempo. Se estiver em ‘pausa’ e ajustamos qualquer um dos valores, o display passa a mostrar ‘Timer Off’ ao invés de ‘Timer Pause’. Quando em modo ligado, ou seja, está acionando a saída e contando tempo para desligar, o LCD apresenta ‘Timer On’. Quando apertamos para pausar, também desliga o rele e a carga na sua saída.
Quando o tempo atinge o valor ’00:00′, além de desligar o rele, também ativa um ‘beep’ produzindo um sinal sonoro do termino do tempo, parecido com os usados em forno de microondas. Foi usado um simples disco piezoelétrico, pois a frequência é gerada por software.
Obs. Esta montagem é de caráter didático, sendo realizado em placa de montagem experimental ( tipo protoboard), sujeita a bugs ainda não observados. Está sendo fornecido os arquivos que poderão ser alterados pelos hobistas conforme a sua necessidade.
Atenção: Antes de fazer placa de circuito impresso para este circuito, monte em placa experimental e teste para certificar que ele atende as suas necessidades.
Segue a pasta com os arquivos para esta montagem, nas duas versões (CCS C Compiler):
Segue a pasta com os arquivos para esta montagem, nas duas versões (XC8 Compiler):
Adicionalmente, em 16/12/2015 foi feita esta versão para tempos menores (1 ms a 9999 ms), para fins de testes com temporizações pequenas, usadas em efeitos estroboscópicos e fotografias:
Em 08/08/2016 foi postado esta versão do Timer de 0 a 59 minutos, em CCS C Compiler, que permite zerar a contagem ao apertar os botões de ajuste de ‘segundos’ e ‘minutos’ ao mesmo tempo, em modo ‘stop’ ou ‘pause’:
Manuais:
PIC 16F628A
LCD
Curiosidades:
Alguém tem um lápis?
Obras-primas “pintadas” com pedras
A arca de Noé e a arquitetura naval
Como surgiu a moderna indústria do diamante
Mestres na arte de pescar
O fascínio da pesca no gelo
O modo eficiente de o salmão nadar
Assuntos Bíblicos:
Como ensinar seus filhos a ter autocontrole
Como parar de discutir
A Bíblia é produto da sabedoria humana?
O que é preciso para entender a Bíblia?
Por que Deus permitiu o Holocausto?
Será que Deus, a Bíblia ou a religião podem ajudar você a ter satisfação na vida?
Como posso me proteger do assédio sexual?
O que é a fera de sete cabeças de Apocalipse capítulo 13?
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?
Outros videos
Até o próximo artigo!!!
Fala Claudio, blz?
Obrigado pelo projeto.
Elaborei a PCB para este timer espero que possa ajudar o pessoal.
Coloquei um transistor para amplificar o som do buzzer e no lugar do Cristal, usei um Ressonador para nao precisar usar os 2 capacitores.
Abaixo Seguem os arquivos para fazer a pcb e um vídeo do Timer funcionando em teste na Protoboard.
Um forte abraço meu amigo.
PCB para imprimir e Simulação no Proteus:
https://drive.google.com/folderview?id=0B5HFSntIQ8OKSWVRWjRMNmpQWHc&usp=sharing#grid
Video teste na Protoboard:
https://youtu.be/6DdM48JRT6M
Olá Ricardo!
Muito obrigado por disponibilizar os arquivos da placa de PCB. Creio que muitos do blog irão usa-lo.
Muito sucesso em suas montagens !
Cláudio
Olá Claudio,
Este projeto é grande para uma variedade de aplicações. E o que eu construí e ele funciona perfeitamente, eu tentei com um tempo de 20 min. e ele teve apenas uma diferença Mima 4 seg.
Parabéns e obrigado.
Se possível, seria bom ter uma versão do programa de conservação contempladas na memória o último conjunto tempo, quando utilizado para o mesmo horário várias vezes e, portanto, não teria de ser ajustada em cada evento.
Não, se eu usei os botões, mas é um pouco difícil de colocar, por exemplo 1 minuto, porque se você pressionar o botão não mudar em breve 0-1 e se muito é brilhou a 2.
Muito obrigado.
Hola Claudio,
Este proyecto esta muy bueno para una gran variedad de aplicaciones. Ya lo armé y funciona perfectamente, lo probé con una temporización de 20 min. y tuvo solo una míma diferencia de 4 seg.
Felicitaciones y gracias.
Si fuera posible, seria bueno tener una versión del programa que contemplara el guardar en memoria el último tiempo programado, para cuando se emplee el mismo tiempo de manera repetitiva, y asi no se tendría que estar ajustando en cada evento.
No se si es por los botones que usé, pero me es un poco difícil poner, por ejemplo 1 minuto, ya que si se presiona el botón poco tiempo no cambia de 0 a 1 y si es mucho se pasa rápidamente hasta el 2.
Muchas gracias.
Hola Jandos!
Muchas gracias por tu sugerencia. Tal vez en un proyecto de futuro …
Cláudio
olá Claudio poderia disponibilizar também para quem só possui mplab,uma verão para compilar os projetos obrigado.
Olá Marcos!
Por favor, veja a nova versão anexa ao artigo. Poderá baixar o MPLABX-IDE , e em seguida, o compilador XC8(free) direto do site da Microchip.
Cláudio
olá Claudio qual programa uso para recompilar .no mplab não consegui abraços.
Olá Marcos!
Foi usado CCS C compiler. O do MPLAB usa o Hi_Tech C, se não me engano.
Cláudio
teria como fazer esse mesmo projeto mas não usar o LCD e sim um display de sete seguementos pois ficaria mais barato pra ser montado ?
Parabens pelo projeto amigo
Olá Liliano!
Muito obrigado por seu apreço e também por sua sugestão. Realmente os displays de 7 seguimentos são bem mais acessíveis do que o LCD, tanto no preço como na facilidade de se encontrar nas casas de material eletrônico. Irei ver isto em uma versão futura.
Cláudio