Você está na página 1de 11

DISPLAY DE SETE SEGMENTOS COM LEDS COMUNICAO SERIAL SNCRONA

Este artigo apresentar um provvel substituto para os displays de sete segmentos com tamanhos mdios ou grandes. Conforme dito, seu diferencial a forma com que o display ligado ao circuito principal (controle). O mesmo necessita apenas de 4 pinos para o seu controle (dados, clock, habilitao e transferncia), ao invs dos oito pinos comumente utilizados (a, b, c, d, e, f, g e ponto) em um display comum. A comunicao entre o circuito de controle e estedisplay feita de maneira serial.

importante que voc compreenda a diferena entre um padro e uma forma (ou mtodo) de comunicao. Um padro define uma srie de caractersticas, como: modo de comunicao, formato de conectores, tenses e nveis lgicos envolvidos, entre outras. Como exemplo de padres de comunicao temos: RS-232, I2C, SPI, MICROWIRE, etc. Todos estes padres tem como modo de transmisso/recepo de dados, o modo serial (os bits dos dados so transmitidos um a um, serialmente). Portanto, quando falo que a comunicao do display feita de maneira serial, no estou me referindo a nenhum padro. Mais frente, quando detalhar o funcionamento do circuito, voc compreender melhor sobre o modo de comunicao serial que utilizei para o display (serial sncrono com shift registers).

Um outro detalhe importante sobre o display que proponho neste artigo que possvel utilizar mais de um em um mesmo projeto, com o compartilhamento de um ou mais pinos (geralmente, dados e clock) entre os displays utilizados no projeto. Com isso possvel diminuir consideravelmente o nmero de pinos de I/O do microcontrolador a ser utilizado como agente controlador. Veja a figura abaixo.

ONDE USAR Este tipo de display ideal para a montagem de mostradores numricos que precisam ser vistos a uma certa distncia pelo operador, em ambientes residenciais, comerciais e industriais, como: relgios cronmetros termmetros marcadores de senhas para filas contadores de eventos etc

O uso deste tipo de display no tem limite! Seu custo, bastante acessvel, permitir que cada um encontre n aplicaes para o mesmo.

O CIRCUITO

Na figura abaixo dado o circuito eltrico do meu display de sete segmentos com LEDs. Cada segmento do mesmo formado por quatro LEDs ligados em paralelo. Desta forma mantive a mesma tenso em cada LED e evitei que, caso um dos LEDs viesse a queimar, os outros pertencentes ao mesmo segmento parem tambm de funcionar (no caso da ligao em srie). Com isso evita-se uma leitura errada por parte do usurio (falha de um dos segmentos) e tambm facilita-se a identificao de um segmento com problemas (um LED apagado).

A tenso inserida em cada segmento deve ser de 12 VDC mximos. Com est tenso e tomando como base o tipo de ligao sugerida (paralela) para os LEDs, possvel definir a corrente que atravessar cada um dos segmentos (conjunto de quatro LEDs) com a frmula:

sendo:

VENTRADA = 12VDC VLED = 2 VDC R = 560 R

temos:

Se considerarmos que est a corrente total por segmento, podemos ento definir a corrente mxima por LED da seguinte maneira:

ento:

Em meu prottipo utilizei LEDs (D1 a D29) do tipo vermelho comum com 5 mm de dimetro. Os clculos acima foram feitos considerando uma tenso de trabalho da ordem de 2VDC. A grande maioria dos LEDs do tipo descrito acendem com boa luminosidade com a tenso usada nos clculos. LEDs diferentes, podem requerer tenses de trabalho tambm diferentes, e assim exigiro que novos clculos sejam realizados, para adequar o circuito ao novo LED.

Cada segmento est ligado a uma das sete portas darlington do driver ULN2003 (CI1). Cada porta de sada deste drive tem capacidade de operar uma tenso de at 50 VDC sob uma corrente de at 500 mA mximos (600 mA de pico).

O controle do drive ULN2003 feito por um shift register de oito bits, um 74HC595 (CI2). Este shift register opera da seguinte maneira: inserimos um bit qualquer em sua entrada SER (DADO). Com um pulso (rampa de subida) em SRCLK (CLOCK) inserimos o bit presente na entrada SER no flip-flop com sada em QA. Mais um pulso em SRCLK e o bit transportado do flip-flop QA para o flip-flop "QB e assim sucessivamente at QH. Se um outro bit estiver presente na entrada SER no momento do transporte de QA para QB, este ser introduzido em QA.

Desta maneira podemos inserir um byte (8 bits) serialmente atravs do pino SER (bit por bit) disponibilizando-o atravs de QA a QH. Temos ento um CI com entrada serial e sada paralela.

O pino RCLK (TRANFERCIA) permite transferir, com um pulso, o contedo dos flip-flops para o latch de sada (transferncia na rampa de subida do pulso). Temos ento o travamento do dado (byte) na sada do CI2. O mesmo s ser modificado aps um novo dado ser inserido nos flip-flops e transportados para o latch de sada.

O pino SRCLR do shift register um pino de reset. Quando ativado (nvel lgico 0) as sadas QA a QH so limpas. No circuito este pino mantido em nvel lgico 1, atravs do resistor R10. O pino G o pino de habilitao do CI. A habilitao negada atravs do resistor R12 (nvel lgico 1). Neste caso, os pinos QA a QH so mantidos em alta-impedncia. Para auxiliar na compreenso do funcionamento do CI 74HC595, a tabela abaixo trs o que foi descrito at o momento. Tabela Tabela verdade do 74HC595 RCLK X X X SRCLK X X SRCLR X L H H G H L L L Funo QA QH em tri-state Limpa registros QA - QH Qn = Qn 1, QA = SER O contedo dos Flip-Flops so transferidos para os latches

^
X

X qualquer estado lgico 0 ou 1 H Estado lgico 1 high 5 VDC L Estado lgico 0 low - GND

- Borda de subida do pulso (de 0 para 1)

Fica fcil ento compreender que para ligar um segmento qualquer no display, o pino de entrada de CI1, ligado a CI2 atravs de QA a QH deve receber o estado lgico 1 (5 VDC) e para desligar um segmento, o estado lgico 0 (GND). O estado lgico 1 em uma das entradas de CI1 invertido em sua respectiva sada. O elemento de controle (microcontrolador) dever ter ento, internamente em seu programa uma tabela de converso para cada valor numrico possvel (0 a 9), de tal forma que os segmentos necessrios para demonstrar o valor desejado sejam ligados e desligados. A tabela abaixo mostra estes valores, considerando os segmentos dodisplay, conforme o esquema eltrico. Tabela Tabela de converso Sadas do 74HC595 QA QB QC QD QE QF QG QH

Segmento equivalente Valores 0 f H e H d H g L c H a H b H ponto X

1 2 3 4 5 6 7 8 9

L L L H H H L H H

L H L L L H L H L

L H H L H H L H L

L H H H H H L H H

H L H H H H H H H

L H H L H H H H H

H H H H L L H H H

X X X X X X X X X

X qualquer estado lgico L ou 1 H Estado lgico 1 high 5 VDC L Estado lgico L low - GND

Os resistores R1 a R7 devem ter uma potncia de dissipao da ordem de 0,5 W 1 W. Como detalhado anteriormente, a corrente por segmento ser de 0,01785 A. Assim, a potncia dissipada pelo resistor ser de:

ento:

Observando o valor obtido poderamos concluir que um resistor com W (0,250 W) de dissipao seria uma boa escolha. Porm, como o display pode ser utilizado por longos perodos, prudente aumentar a potncia de dissipao dos resistores limitadores de corrente para cada segmento.

O ponto do display foi implementado por um nico LED (D29). Este LED tem como resistor limitador R14 (2k2 Ohms). Se voc fizer os clculos, conforme demonstrado, ver que a corrente que circula por este LED da ordem de 0,00454 A. Corrente muito prxima da demonstrada para cada LED pertencente aos segmentos. A potncia dissipada por R14 muito baixa, da ordem de 0,045 W. Sendo assim um resistor com W (0,250 W) de dissipao, mais que suficiente para um correto dimensionamento. O transistor Q1 trabalha como uma chave, para ligar e desligar o LED D29 (ponto). A base de Q1 est ligada ao pino QH de CI2 atravs de R13. Os resistores R8 a R12 so resistores de pull-up e ajudam a manter o nvel lgico 1 nos pinos de controle do CI2. O capacitor C1 age como filtro e desacoplamento da fonte para CI2. A alimentao do circuito requer duas tenses diferentes: 5 VDC e 12 VDC. A primeira tenso alimentar o CI2 (74LS595) e a segunda os LEDs. A fonte no foi prevista no circuito, pois achei que seria mais fcil retirar a alimentao de uma fonte externa ou mesmo da fonte do circuito de controle dos displays. De qualquer maneira, na figura abaixo apresento uma pequena fonte que poder ser utilizada como referncia nos futuros projetos com odisplay apresentado neste artigo.

MONTAGEM

Na figura abaixo est o lay-out necessrio para a confeco do circuito impresso. Comece por montar os resistores, o capacitor C1 e os jumpers (quatro no total) na placa. Para os CIs recomendvel o uso de suportes. Ao montar os LEDs tenha muito cuidado para no invert-los, pois estes so polarizados. Tome o mesmo cuidado ao soldar o transistor Q1.

Para ligar a alimentao utilizei um conector do tipo KRE com trs segmentos (conector com parafusos). J para a ligao para o controle do display, usamos uma barra de pinos com 4 segmentos. Caso voc no possua estes conectores em seu estoque ou no os encontre em sua regio, poder ligar todos estes pontos com fios, sem problema algum.

TESTE E USO Aps a montagem prudente fazer uma reviso na mesma. melhor perder alguns minutos em uma pequena reviso do que perder horas tentando entender o porque da montagem no funcionar. Na figura abaixo se pode ver um circuito microcontrolado para testar o display. Utilizei o verstil Basic Step 1 e a placaStep LAB da Tato Equipamentos Eletrnicos. A figura na abertura deste artigo trs a imagem da montagem do meu prottipo.

Voc tambm poder utilizar outras verses do Basic Step 1 para realizar o teste, como a verso Basic Step 1 OEM. Neste caso, ser necessrio fazer a montagem da fonte sugerida anteriormente ou o uso de uma fonte externa com as duas tenses solicitadas. Esta montagem poder ser feita em uma matriz de contatos, ou mesmo placa padro. O uso de um outro microcontrolador qualquer para os testes exigir conhecimentos seus no uso do mesmo e tambm da linguagem mais adequada a este. Deixo isso por conta de cada um. Neste artigo comentarei apenas a alternativa selecionada por mim. Ligue os pinos de I/O do Basic Step 1 placa do display - pinos DADO, TRANSFERNCIA, CLOCK e HABILITAO. Ligue a alimentao com bastante cuidado para no inverter a posio das tenses ou mesmo o GND (terra) com qualquer uma delas. Na placa Step LAB, os 5 VDC esto presentes nos pontos ao lado da matriz de contados marcados como VDD. J a tenso de 12 VDC ser extrada dos pontos marcados como VIN. O GND para o display pode ser retirado dos pontos marcados como VSS. preciso compreender que a placa Step LAB deve ser alimentada com uma fonte de 12 VDC em sua entrada para que se tenha 12 VDC nos pontos VIN. Verifique se sua fonte possui esta tenso na sada.

Grave o Basic Step com o programa TESTE_DISPLAY_BIG.BAS, inserido na seo downloads, e observe o funcionamento do conjunto conforme descrito abaixo: - O display mostrar a contagem de 0 9, em intervalos de 1 segundo. Entre cada valor apresentado, o display ser limpo (todos os segmentos desligados) por um perodo de 0,2 segundos. Quando a contagem chegar a nove, o ponto piscar trs vezes e em seguida um novo ciclo se iniciar. O programa bem simples e est bem comentado para facilitar a sua compreenso. Alm disso, o help do compilador trs muitas informaes, em portugus, sobre as instrues e seu modo de uso. Estud-las mais que recomendvel para o aprendizado da linguagem. Voc deve ter em mente que o mais importante no o entendimento do programa, mas sim a compreenso dos conceitos envolvidos no controle do display (lgica de operao do CI 74HC595). Sem a compreenso destes conceitos, dificilmente voc conseguir utilizar o display com outros microcontroladores, j que cada um possui sua prpria linguagem, cada qual com suas diferenas. Apenas para ilustrar o que foi dito, observe a tabela abaixo. Ela trs dois segmentos de cdigo, em linguagens de programao diferentes, mas que executam a mesma tarefa. Tabela - Segmentos de cdigo fontes em diferentes linguagens Linguagem Basic Linguagem C '***************************************** '* Escreve dado no display '***************************************** void escr_disp(void){ output_low(CLOCK); for (i=0;i<8;i++){ if (bit_test(saida, i)) output_bit(DATA, 1); else output_bit(DATA, 0); output_high(CLOCK); delay_ms(5); output_low(CLOCK); } output_high(TRANSF); delay_ms(5); output_low(TRANSF); }

'***************************************** '* Escreve dado no display '***************************************** escr_disp: low clock for bits = 0 to 7 dados=dado/128 high clock pause 5 low clock dado=dado*2 next bits high transf pause 5 low transf return

CONCLUSO O display apresentado neste artigo bem simples de se montar e utilizar. Ele pode substituir um display de sete segmentos de tamanho mdio com bastante facilidade. No inicio do artigo dei uma srie de dicas para seu uso e

que podem ser aproveitadas. Uma boa montagem e at a prxima!

DOWNLOADS: Circuito do display de sete segmentos com LEDs Lay-out para circuito impresso Cdigo fonte exemplo para Basic Step 1 Lista de materiais

Este artigo foi publicado, com minha autorizao, na revista Eletrnica Total nr 111 de Novembro/Dezembro de 2005.

Copyright deste contedo reservado para Mrcio Jos Soares e protegido pela Lei de Direitos Autorais LEI N 9.610, de 19 de Fevereiro de 1998. estritamente proibida a reproduo total ou parcial do contedo desta pgina em outros pontos da internet, livros ou outros tipos de publicaes comerciais ou no, sem a prvia autorizao por escrito do autor.