Pular para o conteúdo principal

2) Contador de Milênios v1 (relógio digital)


Existem diferentes formas de se montar um relógio digital. A mais didática usa do ci (circuito integrado) 555, que pode ser configurado para gerar um pulso elétrico de um em um segundo (1 Hz). Junto de contadores e decodificadores, esse pulso é transmitido para displays de 7 segmentos que marcam a hora. A desvantagem desse circuito é a quantidade de ci's e a quantidade de ligações necessárias.


Outra forma de se montar um relógio é através dos PIC's (Programmable Intelligent Computer), que são uma família de ci's programáveis. A linguagem de programação pouco importa, contanto que a lógica possa ser traduzida para comandos. Utilizo linguagem C para programar e para passar do computador para o PIC, o gravador K150. Aprendi a gravar aqui https://www.filipeflop.com/blog/como-utilizar-gravador-de-pic-usb-k150/. A vantagem de se utilizar um PIC para montar um relógio está em reduzir o tamanho do circuito e atribuir mais funções além de simplesmente contar o tempo, como alarme, sons, ajuste fino, etc.

Utilizei do PIC16F877A pois ele possui muitas saídas digitais. Através de cada saída digital, pode-se controlar o acender e apagar dos LED's presentes nos displays. Como usei quatro displays de 7 segmentos, são 28 LED's associados a 28 saídas digitais. Abaixo dá para ver a quantidade de saídas digitais desse PIC, em colorido:


Para formar o número zero, por exemplo, fiz a seguinte sequência de códigos (considerando que a saída B0 está ligada com o LED a, B1 com o LED b, e assim por diante):



O resto do código consiste em mudar a combinação de saídas ativas para formar outros dígitos, atualizando a cada minuto e respeitando o sistema de contagem de hora. Planejei para que o relógio tivesse um único botão de ajuste de hora, que faz a contagem avançar rapidamente. Preciso admitir que foi uma ideia horrível, quem gosta de ficar 10 minutos segurando um botão para acertar a hora?? Enfim, após finalizado o código, testei no Proteus e montei o design da placa:



Para alimentação, montei uma fonte de 5V na própria placa e coloquei um potenciômetro em série com os displays, para ajustar o brilho. Boas práticas de eletrônica exigiriam um resistor para cada LED dos displays, mas dá para viver assim.

Não vou especificar aqui os detalhes da construção da placa (vou fazer outro post para isso), mas houveram certas falhas nas trilhas do circuito que fez a soldagem dos componentes bem ruim.




Atualmente um dos LEDs do segundo display não acende (problema de toda gambiarra que tive que fazer para soldar), como dá para ver na foto acima. Definitivamente há muito que melhorar para as próximas versões. Para quem quiser ver o código, vou disponibiliza-lo (duvido que alguém entenda algo, nem eu entendo mais minha lógica)

Código em txt:
Obs.: não me julgue pelo código, prometo melhorar nas próximas versões

Positivos:
- Circuito simples (para um relógio digital);
- Contagem de tempo precisa.

Negativos:
- Ajuste de hora muito demorado;
- Acabamento ruim;
- Soldagem horrível.



Comentários

Postagens mais visitadas deste blog

Tutorial: PCB pelo método fotográfico

Existem diferentes formas de se fazer uma placa de circuito. O método normalmente utilizado pelos iniciantes é desenhando o circuito a mão na placa através de uma caneta permanente. Apesar desse método ser extremamente consistente, isto é, dificilmente as trilhas apresentarão falhas, ele não permite circuitos complexos e bem acabados. Para uma maior complexidade, é necessário montar o  circuito em algum software e imprimi-lo. O desafio, no entanto, é passar do circuito impresso para a placa, formando assim os famosos PCB's (Printed Circuit Board). Optei por investir no método fotográfico, que depois de alguns meses e muitas tentativas, finalmente valeu a pena. Com ele dá para fazer placas dupla face e com mascara de solda, como demonstrarei a seguir: Materiais fundamentais para esse método: Tinta fotossensível; Fotolito ou papel vegetal; Luz negra; Revelador (barrilha/carbonato de sódio); Removedor (soda cáustica). Outros materiais importantes: Secador de cab

Tutorial: Medição de qualquer grandeza com o ICL7107

O ICL7107 é um ci conversor analógico-digital de três dígitos e meio. O que isso significa é que apesar de usar quatro displays, sua escala absoluta de leitura vai de -1999 até 1999. Ele consegue converter sinais analógios de baixa intensidade (escala de mV) nesses três dígitos e meio, o que permite a leitura de qualquer grandeza que faça variar de forma linear tensão, seja através de um sensor ou não. Para medição de grandezas diretamente delas (sem intermédio de sensores), como tensão, corrente, resistência, etc, temos a seguinte configuração de circuito: Temos duas variáveis de ajuste, uma dada pelo divisor de tensão na entrada e outra dada pela tensão no terminal 36. Essas variáveis nos permite manipular a escala de leitura. Vamos considerar a escala inicial de leitura como sem nenhuma divisão de tensão na entrada e 100mV no terminal 36. Nesse caso, podemos ler de -199,9mV até 199,9mV, traduzidos nos displays como -1999 até 1999. Observe que tudo que precisa