Temporizador com PIC 12F675

image_pdfimage_print

Vanderlei Alves S. da Silva

12f675

Figura 1 – Microcontrolador PIC 12F675

Os microcontroladores dominaram grande parte dos equipamentos que utilizamos em nosso dia-a-dia e assumem diversas funções. Nos equipamentos domésticos, nos automóveis, na indústria e até mesmo em brinquedos podemos encontrar esse fantástico componente eletrônico. Para saber um pouco mais sobre microcontrolador leia a página Microcontroladores.

Com este artigo iniciaremos uma série de pequenos projetos usando microcontroladores e para começar, apresentamos um temporizador simples usando o PIC 12F675 fabricado pela empresa Microchip.

Descrição do projeto

O projeto consiste em um temporizador desenvolvido com software instalado no microcontrolador PIC 12F675. É composto por três botões que serão usados para a configuração do tempo e inicialização da contagem:

Botão Up – Adiciona um tempo de mais 1 segundo a cada toque;

Botão Down – Diminui o tempo em 1 segundo a cada toque;

Botão Start – Inicia a contagem do tempo.

Para configurar um tempo de 10 segundos,   o botão Up deverá ser pressionado 10 vezes, pois cada toque incrementa 1 segundo. Se precisar diminuir esse tempo é só pressionar o botão Down tantas vezes quanto for a quantidade em segundos, exemplo, se precisar diminuir 3 segundos o botão Down deverá ser pressionado 3 vezes. Após pressionar os botões UP ou DOWN sempre aguarde em torno de 0,5 segundos (meio segundo) para pressioná-los novamente durante a configuração do tempo desejado.

Após a configuração do tempo desejado é só apertar o botão Start para que a contagem se inicie. Uma vez iniciada não haverá como interrompê-la e nem alterá-la.

Lembrando que este projeto é apenas um modelo para estudos, mas a ideia poderá ser aproveitada para a criação de dispositivos profissionais e com mais funções.

Durante a explicação do código de programação ensinarei a alterar o tempo, podendo assim, fazer com que a cada toque dos botões sejam acrescentados ou decrementados  em 10, 20, 50, 60 segundos ou mais.

Pinagem do PIC 12F675

Antes do projeto vamos analisar a pinagem desse componente:

12f675_pinagem

Figura 2 – Pinagem do PIC 12F675

Observe que os pinos de 2 a 7 possuem mais de uma função, as quais são configuradas, para serem usadas, segundo as recomendações do datasheet. Note também que esses pinos, com exceção do pino 4, possuem setas de dupla direção, isto serve para indicar que tais pinos podem ser configurados como entrada ou como saída de dados, enquanto que o pino 4 é configurado apenas como entrada de dados, além de poder ser configurado como reset ou Vpp.

Para não ficar uma leitura muito longa vamos descrever apenas as funções dos pinos que iremos usar em nosso projeto. São eles:

Pino 1 – Vdd – Pino positivo de alimentação (+5 Volts);

Pino 2 – GP5 – Configuraremos como entrada do botão que diminuirá o tempo;

Pino 4 – GP3 – Configuraremos também como entrada para o botão que aumentará o tempo;

Pino 5 – GP2 – Configuraremos como saída e irá iniciar com nível lógico baixo (terá 0 Volts);

Pino 6 – GP1 – Será configurado como entrada para o botão de Start;

Pino 7 – GP0 – Será configurado como saída de nível lógico alto (terá 5 Volts);

Pino 8 – Vss – Negativo da alimentação (GND).

Esquema elétrico do temporizador

 temporizador_picFigura 3 – Esquema elétrico do circuito

Vamos para descrição das funções de cada componente:

O PIC 12F675 é o microcontrolador descrito no texto acima e mostrado na figura 2.

LD1 e LD2 são LEDs que simbolizam determinados equipamentos que serão controlados pelo temporizador. Por exemplo, o LD1 iniciará ligado e o LD2 desligado. Supondo que no lugar de LD1 esteja um ventilador e no lugar de LD2 esteja uma lâmpada, após programar o tempo e pressionar o botão Start o ventilador será desligado e a lâmpada será ligada. Quando o tempo terminar o ventilador será ligado automaticamente e a lâmpada será desligada.

Para substituir os LEDs para o acionamento de cargas com maiores potências, será necessário montar um simples circuito driver com transistor e relé, do mesmo que foi mostrado na página sobre a explicação do circuito integrado 555 (Clique aqui para ver a página) ou conectar os pinos 5 e 7 do PIC 12F675 às entradas de um módulo relé.

modulo_rele

Figura 4 – Exemplo de módulo relé

Nos pinos GP1, GP3 e GP5 estão conectados, além dos botões,  um resistores de 10kΩ em cada um. Note que esses resistores estão ligados entre o GND e o pino correspondente. Resistores ligados dessa forma chamamos de resistores de pull-down, uma vez que os resistores manterão os pinos em que estão conectados sempre em nível baixo enquanto o botão não for pressionado.

Os resistores de 220Ω ligados ao ânodo dos LEDs servem apenas para limitar a passagem de corrente elétrica para os LEDs, evitando que sejam danificados com a tensão de 5 Volts.

O Software

Para trabalhar com a programação do PIC e fazer alguns estudos e alterações no código, você precisará instalar o compilador MikroC Pro for PIC em teu computador, o qual poderá ser baixado clicando aqui. Infelizmente esse compilador não é gratuito, mas é muito bom e bastante prático.

Abaixo você pode ver e estudar o software desenvolvido para fazer o microcontrolador se comportar como um temporizador da maneira descrita acima.

Este código deverá ser compilado no MikroC Pro For PIC para ser convertido em arquivo .hex e poder ser gravado no microcontrolador por meio de gravadores específicos para essa tarefa. Aqui em nossos testes utilizamos o gravador de PIC K150.

k150

Figura 5 – Gravador de PIC K150 usado em nosso laboratório

Em outro artigo mostraremos todo o processo de gravação de um PIC usando o K150, que é um dos mais baratos no mercado e consegue gravar uma grande quantidade de diferentes tipos de PIC’s.

Gostou deste conteúdo? Quer muito mais assuntos interessantes e úteis? Então faça uma doação ou torne-se um colaborador e apoie esta obra.

 





apoia-se