CRONÔMETRO DIGITAL – C/ PIC 16F628A (REF337)

Colaborando com atividades desportivas!

Cronometrar tempos tem sido de muita utilidade para acompanhar o progresso de um atleta no desempenho de determinadas atividades esportivas, sendo a corrida um bom exemplo. Nesta montagem apresentamos um cronômetro digital com 6 displays de 7 seguimentos. Veja o esquema abaixo:

Conforme se nota no esquema acima, usamos um microcontrolador PIC 16F628A para multiplexar os displays e também gerar a base de tempo necessária.
A forma empregada para fazer a multiplexação não é muito usual: usamos somente 3 pinos do PIC para controlar 6 ânodos (ou cátodos, conforme a versão). Chamaremos esta forma de ‘trisaplex’ por usar, além do ‘0’ e ‘1’, também o terceiro estado: a alta impedância.
Haverá um gasto adicional de componentes, pois necessitaremos mais 3 transistores, 6 diodos zenners e mais 6 resistores de 1K, apesar destes não serem caros. A vantagem é que usamos um PIC de 18 pinos ao invés de um de 28 pinos.
Outra coisa que notará no esquema é a posição dos displays A1 e A3, pois estão com os ‘pontos’ para cima em relação aos outros. Isto visa somente obter o efeito de 2 pontos separando os minutos dos segundos e mais 2 pontos separando os segundos dos milissegundos. Esta é a versão de 4 pontos.
Caso não deseje inverter estes dígitos, poderá usar a versão de apenas 2 pontos, com um ponto separando os minutos dos segundos e outro separando os segundos dos milissegundos. Esta é a versão 2 pontos.
Também temos a opção de usar com ânodo comum ou cátodo comum. Poderá encontrar estes arquivos opcionais e seus hex na pasta com os arquivos desta montagem no final deste artigo.
O funcionamento não exige muita explicação: apertando o botão ‘Start’ inicia a contagem. Apertando ‘Stop’ para a contagem e apertando ‘Reset’ zera a contagem, preparando para uma nova contagem.
A base de tempo em milissegundos foi obtida a partir da frequência do cristal de 20 MHZ. Foi utilizado o método de ‘acumulo de erro’. A cada interrupção do timer 0 o programa soma o valor correspondente a 102,4 useg ao contador cnt16. Quando a somatória ultrapassar 1000 microssegundos, este valor é subtraído do contador cnt16 e em seguida, é incrementado os contadores de tempo dos displays, em cascata.
Poderia também ser optado por um cristal de 4,194.000 Mhz. Ajustando o prescaller do timer 0 para dividir por 4 , a cada interrupção deste timer será obtido exatamente 1 milissegundo. Este cristal é um pouco mais difícil de ser encontrado, por isto optamos por usar um de 20 mhz. Para limitar a corrente dos seguimentos temos 8 resistores de 330 Ohms. Caso queira mais brilho nos displays, use 8 de 220 Ohms ou mesmo de 180 Ohms.
Obs. Esta montagem é experimental, sendo de caráter didático, montada apenas em placa experimental (do tipo “Protoboard”), sujeita a “bugs” ainda não detectados. Está sendo fornecido os arquivos para que cada hobista possa alterar o programa segundo suas necessidades.

Abaixo temos uma pasta zipada para download, com os arquivos desta montagem. Após descompactar, notará que foi fornecido para quatro diferentes tipos de compiladores: CCS C Compiler, MPLAB-XC8, GREAT COW BASIC e em assembly, para o MPLAB-IDE. Também tem as respectivas versões para display ânodo comum ou cátodo comum, com 2 ou 4 pontos:

CRONOMETRO_PIC_ZIP

Manuais:
PIC16F628A datasheet

Curiosidades:
Um tesouro escondido por séculos
Um rolo antigo decifrado pela tecnologia
Será que a Bíblia ensina que a Terra é plana?
As leis de Deus sobre higiene estavam à frente de seu tempo
O impacto da ciência em sua vida

Outros assuntos:
Sofrimento: 5 coisas que você precisa saber
O que é o Reino de Deus?
Como deixar o trabalho no “trabalho”
O casamento é apenas um compromisso formal?
Comunicação com adolescente
A autolesão na adolescência

Vídeos Interessantes:
As maravilhas da criação revelam a glória de Deus
Será que Jesus é Deus
Como surgiu o universo?
Por que Deus criou a Terra?
A ressurreição logo será realidade
Aprenda das ilustrações de Jesus

Até o próximo artigo!

Back To Top