Você está na página 1de 2

http://dqsoft.blogspot.com.br/2007/06/controlando-um-led-com-um-pic-parte-i.

html

Controlando um LED com um PIC - Parte I


Este mais um post sugerido pelas buscas que trouxeram alguem a este blog. Nesta srie vamos ver como controlar um LED usando um microcontrolador PIC.

O Objetivo
O objetivo desta srie mostrar o projeto do hardware e software de um pequeno dispositivo que ilustra como controlar um LED usando um PIC. O dispositivo possui um LED e um boto que ser usado para controlar o estado do LED (apagado, piscando ou aceso).

O Projeto de hardware
Para este projeto selecionei um modelo de PIC bastante simples, o 12F675. O modelo 12F629 pode ser usado sem nenhuma alterao e simples alterar tanto o hardware como o software para outros modelos. O PIC 12F675 tem as seguintes vantagens para este projeto: pode operar com alimentao de 2 a 5.5V, o que simplifica a operao com baterias e pilhas disponvel em encapsulamento DIP de 8 pinos, o que simplifica a montagem possui um oscilador interno de 4MHz, dispensando a conexo de um cristal ou ressonador memria Flash para o programa, o que simplifica a gravao e regravao O primeiro passo para o projeto de hardware examinar o datasheet do microcontrolador, que pode ser baixado do site da Microchip. No datasheet verificamos que podemos operar de 4 a 10 MHz com uma alimentao de 3 a 5.5 V (a operao com tenses entre 2 e 3 Volts requer clock inferior a 4MHz). Minha opo foi operar com o oscilador interno de 4MHz usando uma bateria de 3V (Duracell DL2032 ou equivalente). O positivo da bateria deve ser conectado ao pino 1 (VDD) do PIC e o negativo ao pino 8 (VSS). O LED e o boto so conectados a pinos de entrada/sada de uso geral, que no 12F675 so qualquer um dos outros 6 pinos (para ser mais preciso, o boto no pode ser ligado ao pino 4 pois vou usar o pull-up interno que no est disponvel no GP3). Escolhi o pino 7 para o LED e o pino 2 para o boto. O LED, como diz a sigla, um diodo emissor de luz. Quando submetido a uma tenso direta acima de sua tenso de queda ele emite uma luz com intensidade proporcional corrente. Existem vrios modelos de LEDs, que emitem as mais diversas cores. A tenso de queda tipicamente de 2V e uma intensidade boa para um LED montado em painel pode ser obtida com uma corrente de 10 mA. Voltando ao datasheet do PIC, verificamos que um pino de entrada/sada capaz de gerar ou absorver uma corrente de at 125mA e tem uma tenso de 0,6V (nvel zero) ou VDD-0.7V (nvel um). A capacidade de corrente do PIC permite ligar um LED diretamente das duas maneiras abaixo:

Na primeira maneira, com o LED ligado entre o pino do PIC e VSS, o valor do resistor em srie (conforme a lei de Ohm) deve ser (VDD - 0.7 - 2,0)/0,01 = 30 ohms Analogamente, com o LED ligando entre o pino do PIC e VDD, o valor do resistor deve ser (VDD - 0.6 - 2,0)/0,01 = 40 ohms No primeiro caso, o LED acende quando o pino do PIS est no nvel um, no segundo quando est no nvel zero. No meu circuito adotei a primeira maneira com um resistor de 33 ohms. Para a ligao do boto poderia ser usado uma forma semelhante s vistas para o LED. Olhando mais uma vez o datasheet, o PIC considera nvel zero um valor abaixo de 0.15*VDD (0.45V) e nvel um um valor acima de 0.25*VDD+0,8 (1,55V). Poderamos calcular a partir destes dados valores apropriados para o resistor em srie com o boto que garantam os nveis apropriados com um valor reduzido de corrente. Entretanto, a Microchip j fez estes clculos e disponibiliza internamente ao PIC um resistor de weak pull-up, que faz com que um pino aberto seja lido como em nvel um. Desta forma, o boto pode ser ligado diretamente ao VSS e er lido como nvel zero quando fechado e como nvel um quando aberto. A lista de componentes para o circuito fica sendo: 1 PIC 12F675 (ou 12F629) 1 LED 1 Boto de contato momentneo 1 Resistor de 33 Ohms 1/8 W 1 Bateria de 3V

1 Suporte para a bateria O circuito completo fica: