Escrito por: Newton C. Braga

 

UM PROJETO BÁSICO

Sabendo como ligar ou desligar alguma coisa ligada aos pinos I/O (entrada/saída) de um PIC podemos criar qualquer coisa usando estes microcontroladores. Este "alguma coisa" pode ser um simples LED de sinalização como pode ser um relé, um motor, um solenoide ou um circuito complexo. Assim, o primeiro passo para se poder utilizar um PIC é justamente ter uma idéia de como sinais de comando podem ser colocados nas entradas e saídas e é justamente disso que trataremos neste artigo. Nossa idéia é ensinar como ligar LEDs aos pinos I/O de um microcontrolador. Daí para frente, é por conta do leitor.

 

 

No artigo anterior (MIC001) , mostramos o que é um microcontrolador PIC e como ele pode ser encontrado numa grande quantidade de versões que possibilitam ao projetista fazer qualquer coisa que deseje em matéria de controles.

Neste artigo, mostraremos como usar um PIC para acender LEDs o que em última análise significa controlar qualquer outro dispositivo que seja ligado em seu lugar.

O importante deste artigo é que, pelo seu aspecto teórico/prático, o leitor terá não apenasuma idéia do que o PIC pode fazer como também do tipo de sinal que ele entrega, para poder ter uma idéia das tensões e correntes disponíveis nos seus pinos, fator fundamental para o projeto dos circuitos de interfaceamento.

Para começar, vamos justamente analisar as características dos LED.

 

 

OS LEDs

Ós LEDs,ou diodos emissores de luz, nada mais são do que diodos que, quando polarizados no sentido direto conduzem a corrente e emitem luz de uma cor (freqüência) que depende do tipo de material de que são feitos.

Isso significa que a curva característica de um LED é a mesma de um diodo, mostrada na figura 1.

Vemos por esta curva que, quando a tensão aplicada ao LED atinge o ponto em que ele começa a conduzir, praticamente não existe mais limitação para sua intensidade e ela pode subir de valor indefinidamente. Para os LEDs comuns, dependendo de sua cor, esta tensão de condução varia entre 1,6 V (vermelho) até 2,4 V (verde ou azul).

Isso significa que, quando usamos um LED precisamos evitar que a corrente suba demais, causando dano tanto ao LED como ao dispositivo que vai controlá-lo. Para isso é comum ligarmos em série com um LED um resistor limitador cujo valor vai depende da tensão que deve alimentá-lo, da intensidade da corrente que desejamos e também do tipo de LED considerado. Na figura 2 mostramos como deve ser feita a ligação deste resistor.

 

Para calcular este resistor podemos usar a seguinte fórmula:

R = (V - Vr)/I

 

Onde: R é a resistência do resistor em ohms

Vr é a tensão em que o LED começa a conduzir e que depende de sua cor (ver tabela I)

I é a intensidade da corrente no LED (entre 2 e 20 mA para a maioria dos tipos).

 

Tabela I

Cor do LED Tensão Direta (Vr)  (*)

Vermelho 1,6 V

Laranja/amarelo 1,8 V

Verde 2,1 V

Azul/Violeta 2,4 V

Branco 2,4 V

 

(*) Estes valores podem variar conforme o fabricante e o tipo do LED

 

Tudo isso quer dizer que os LEDs não podem ser usados sozinhos na maioria das aplicações. Nas saídas dos circuitos digitais, por exemplo, temos uma tensão que varia entre 0 e 5 V. Se aplicarmos 5 V diretamente num LED isso não só significa um curto-circuito para a saída do circuito em que ele está ligado como também a corrente circulante pode ueimar o próprio LED.

 

 

CONTROLANDO LEDs COM LÓGICA DIGITAL

Os microcontroladores, como os PICs estão incluidos na família dos circuitos lógicos digitais alimentados com uma tensão de 5 V. Nesta família incluimos os circuitos integrados TTL e CMOS.

No caso dos circuitos integrados TTL eles possuem a característica de poderem drenar mais corrente do que fornecer.

Assim, conforme mostra a figura 3(a), se ligarmos alguma coisa na saída de um circuito integrado TTL para ser acionada com o nível alto, a corrente disponível será de apenas 2 mA. No entanto, se ligarmos como mostra a figura (b) para que o dispositivo seja acionado quando a saída for ao nível baixo, a corrente disponível será muito maior, da ordem de 20 mA.

 

Para os circuitos integrados CMOS isso não é válido, pois eles usam tecnologia CMOS onde a capacidade de fornecimento de corrente é a mesma de drenagem da corrente, conforme mostra a figura 4.

 

 

No entanto, os circuitos integrados CMOS podem drenar ou fornecer muito menos corrente do que os circuitos integrados TTL. Na figura 4 mostramos os valores típicos de resistores que devemos ligar em série com os LEDs para que eles possam ser acesos pelas saída de um PIC.

No primeiro caso ele acende quando a saída vai ao nível baixo, ou seja, quando colocamos um "zero" lógico nela, e no segundo caso quando colocamos um "um" lógico.

É claro que, se va,os ligar LEDs diretamente na saída de um PIC não precisamos nos peocupar muito em ter uma corrente maior, mas isso vai mudar se, em lugar de LEDs desejarmos controlar algo maior. Precisamos, neste caso, de circuitos drivers (dos quais falaremos numa outra ocasião).

É claro que, para acender ou apagar LEDs com um PIC não basta apenas saber que resistores precisamos ligar em série com estes componentes.

Isso nos leva à configuraçao final de nosso circuito de exemplo.

 

 

Circuito Final

Na figura 5 temos o circuito final que utiliza um PIC18F84 para controlar 8 LEDs vermelhos comuns.

 

 

Este circuito faz com que os LEDs acendam quando as saídas I/O do PIC são colocadas no nível alto.

Programando adequadamente o modo como os níveis lógicos são colocados nas sáidas (tempo e intervalo, por exemplo) podemos usar este circuito para implementar alguns efeitos luminosos interessantes como:

a)sequenciador  com diversos efeitos especiais (simples, vai-e-vem, convergente, divergente, etc)

b)controle de display

c)bargraph

 

Os resistores R1 e R2 servem para ressetar o circuito.

O circuito de clock que determina a velocidade de operação dos dispositivos internos do PIC é formado pelos capacitores C1, C2, resistor R3 e pelo cristal XTAL.

Para alimentar o circuito é usado um regulador de tensão 7806 que fornece os 5 V necessários. A entrada pode ser feita com tensões de 7 a 15 V.

A placa de circuito impresso para este projeto é mostrada na figura 6.

 

Como o consumo do circuito é muito baixo, o regulador de tensão não precisa ser dotado de radiador de calor.

 

 

Programa e Programação

Evidentemente, para programar o PIC o leitor precisará ter a placa apropriada para esta finalidade com o programa instalado no PC. Este programa foi elaborado para ser usado como o ambiente de desenvolvimento MPLAB da Microchip. Para outros ambientes, principalmente terceirizados pode haver necessidade de modificações.

 

 


 

A listagem é a seguinte:

 

; Demonstração do PIC

; Newton C. Braga – www.newtoncbraga.com.br

; Este programa demonstra como LEDs podem ser controlados pelas portas I/O de um PIC

; Ele inicializa os pinos da porta B para serem saídas, e então coloca nelas um

; sinal que aciona os LEDs.

 

list     p = 16f84

include <pl6f84.inc>

 

org       00h       ; resseta a posição do vetor

Initialize bsf     STATUS, RPO       ; seleciona a página 1 do registro

cirf      TRISB                   ; torna a porta B saída fazendo um clear um

;TRISB

bcf     STATUS, RPO      ; volta a página 0 do registro

Main      movlw   01010101b         ; move 01010101b para W e

movwf    PORTB             ; padrão de saída para os LEDs na porta B

 

Done     sleep                                ; para a execução do programa

 

END

 

 


 

LISTA DE MATERIAL

Semicondutores:

CI-1 - PIC16F84-04/P

CI-2 - 7805 - circuito integrado regulador de tensão

LED1 a LED8 - LEDs vermelhos comuns

Resistores: (1/8 W, 5%)

R1 - 100 ohms - marrom, preto, marrom

R2 - 4,7 k ohms - amarelo, violeta, vermelho

R3 a R11 - 220 ohms - vermelho, vermelho, marrom

Capacitores:

C1, C2 - 15 pF - cerâmicos

C3 - 100 nF - cerâmico

C5, C6 - 1 uF x 25 V - eletrolítico

Diversos:

XTAL - Cristal de 4 MHz (tipo para microprocessador)

S1 - Interruptor de pressão NA

Placa de circuito impresso, bateria de 9 V ou fonte de 7 a 15 V, fios, solda, etc.

________________________