FAÇA UM TIMER PROGRAMÁVEL – COM PIC 16F628A E DISPLAY LCD 16X2 (REF188)

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

TIMER_FILES

Segue a pasta com os arquivos para esta montagem, nas duas versões (XC8 Compiler):

TIMER_XC8_FILES

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:

FAST_TIMER_FILES

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

TIMER_LCD_ZERA_FILES

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!!!

34 comments on “FAÇA UM TIMER PROGRAMÁVEL – COM PIC 16F628A E DISPLAY LCD 16X2 (REF188)

  1. 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

    1. 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

  2. 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.

  3. olá Claudio poderia disponibilizar também para quem só possui mplab,uma verão para compilar os projetos obrigado.

    1. 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

  4. 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

    1. 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

Comments are closed.

Back To Top