\ Tutorial: Display de 7 segmentos no Arduino

Tutorial: Display de 7 segmentos no Arduino

Os displays de 7 segmentos são usados em eletrodomésticos comuns, como fornos micro-ondas, máquinas de lavar e nos ar condicionados. Eles são uma maneira simples de exibir informações numéricas, como leituras de sensor, tempo ou quantidades. Iremos aprender configurar e programar displays de um e de 4 dígitos de sete segmentos em um Arduino - alguns possuem um único dígito e outros dois ou quatro. No projeto com LEDS, cheguei a falar um pouco desse display, agora chegou o momento de testá-lo. Nesse artigo apresentarei algumas formas de ligar o display no Arduino e desenvolveremos 4 projetos. No primeiro projeto, ligaremos o display de sete segmentos e um dígito para exibir os dígitos de zero a 9; no segundo, utilizaremos uma biblioteca para simular o mesmo evento apresentado no projeto 1; no terceiro, utilizaremos o display de sete segmentos e 4 dígitos para exibir um número no intervalo de zero a 3999; e, por fim, vamos integrar nosso display de sete segmentos e 4 dígitos para exibição de dados de temperatura do sensor TMP36 (projeto que foi apresentado no último post).   

Entendendo o Display de 7 segmentos e um dígito

Display de 7 segmentos e 1 dígito - esquema de ligação no Arduino.
Figura 1: Esquema do display de 7 segmentos.

Esse display (Figura 1) é um dispositivo eletrônico que contém 8 LEDs individuais organizados de modo que 7 deles (a,b,c,d,e,f,g), possam visualmente representar um número decimal (zero a 9) e as letras (A a F). Os sete segmentos de LEDs ligados formam um "8". O segmento no lado direito do dígito serve como ponto decimal (oitavo LED), representada pela por PD (ponto decimal). Cada segmento pode ser controlado individualmente, como um LED comum.

Figura 2: tabela com os códigos para exibição de números e letras no display de 7 segmentos.
Figura 2: tabela com os códigos para exibição de números e letras.

Sobre o display, o pino central de cada lado é o pino comum Vcc ou GND, para configurações de ânodo comum ou cátodo comum, respectivamente. Em displays de cátodos comuns, todos os cátodos são ligados ao terra e os segmentos individuais são ligados/desligados alternando energia para os anodos (Figura 2). Em displays de ânodos comuns, todos os ânodos são ligados ao Vcc e segmentos individuais são ligados/desligados alternado a energia para os cátodos (Figura 3). 

Figura 3: representação do display de 7 segmentos em relação ao tipo (ânodo ou cátodo comum).
Figura 3: representação do display de 7 segmentos em relação ao tipo (ânodo ou cátodo comum).

Antes de conectar seu display no Arduino você precisa descobrir qual o tipo de display que vai utilizar no projeto - se perdeu o manual ou o vendedor não te passou essa informação, há uma forma de descobrir. Monte o circuito conforme o esquema da Figura 4.

Figura 4: Esquema de ligação para verificar o tipo de display utilizado.
Figura 4: Esquema de ligação para verificar o tipo de display utilizado.

Para verificar o tipo de display seguimos o procedimento: (i) conectamos o fio preto a qualquer pino do display; (ii) Em seguida, inserimos o fio vermelho (positivo) em cada um dos pinos do display; (iii) se nenhum segmento de LED acender, mova o fio terra para outro pino e repita o procedimento anterior até que pelo menos um segmento de LED acenda. Quando qualquer um acender, deixe o fio terra onde está e conecte o fio positivo a cada um dos outros pinos novamente. Se um segmento de LED acender com cada pino diferente, você terá um display de catodo comum. O pino conectado ao fio terra é um dos pinos comuns e haverá haver dois deles. Porém, se dois pinos diferentes acenderem o mesmo segmento de LED, teremos um display de ânodo comum. O pino conectado ao fio positivo é um dos pinos comuns. Assim, se você conectar o fio terra a cada um dos outros pinos, deveremos observar um segmento diferente acendendo com cada pino diferente. IMPORTANTE: Os displays que utilizaremos  nos projetos é de cátodo comum verificado após a realização do teste.

Projeto 1: Display de 7 segmentos e 1 dígito

Materiais utilizados:

Uma protoboard;
Um Arduino Uno;
Fios Jumpers;
8 resistores de 150 Ohms;
Um display 7 segmentos 1 dígito (modelo 5161AS);

Esquema de ligação

Projeto 1: Display de 7 segmentos e 1 dígito - esquema de ligação.
Figura 5: Esquema de ligação do projeto 1.

Programando o Arduino


Projeto Funcionando


Projeto 2: Display de 7 segmentos e 1 dígito (usando biblioteca)

Agora iremos desenvolver o mesmo projeto anterior, porém, utilizando a biblioteca SevSeg que reduz bastante as alinhas do nosso código. Essa biblioteca está disponível SevSeg.zip. É muito importante fazer a leitura da documentação que a acompanha até para saber como utilizar as funções oferecidas por ela. Fiz um pequeno resumo dessas funções, pois as usaremos nos códigos a seguir.

Figura 6: Principais funções da biblioteca SEvSeg.
Figura 6: Principais funções da biblioteca SEvSeg.

Materiais utilizados:

Uma protoboard;
Um Arduino Uno;
Fios Jumpers;
1 resistor de 1K=1000 Ohms;
Um display 7 segmentos 1 dígito (modelo 5161AS);

Esquema de ligação

Projeto 2: Display de 7 segmentos e 1 dígito (usando biblioteca)
Figura 7: Esquema do projeto 2. 

Programando o Arduino


Projeto Funcionando


Projeto 3: Display de 7 segmentos e 4 dígitos (usando biblioteca)

Agora iremos desenvolver um projeto básico com o display de sete segmentos e 4 dígitos. Faremos como exemplo, e, depois o utilizaremos sua ideia para exibir a temperatura fornecidas pelo sensor TMP36 (escrevi o post a respeito desse sensor aí aqui.)

Figura: Display de 8 segmentos e 4 dígitos.
Figura: Display de 8 segmentos e 4 dígitos.

Em display com vários dígitos, um pino de segmento (a, b, c, d, e, f, g e PD) controla o mesmo segmento em todos os dígitos. Os displays de vários dígitos também possuem pinos comuns separados para cada dígito. Os pinos dos dígitos D1, D2, D3 e D4 precisam ser conectados aos resistores, pois, são os terminais comuns dos dígitos. As conexões são mostradas na Figura 8.

Materiais utilizados:

Uma protoboard;
Um Arduino Uno;
Fios Jumpers;
4 resistor de 1K=1000 Ohms;
Um display 7 segmentos 4 dígitos (modelo 5641AH ou 5461AS);

Esquema de ligação


Projeto 3: Display de 7 segmentos e 4 dígitos (usando biblioteca)
Figura 9: Esquema de ligação projeto 3.
Programando o Arduino


Projeto Funcionando

Esse projeto ao invés de postar o vídeo, irei mostrar a imagem do projeto funcionando. Ele é muito simples, programei para ele exibir um número (definido por mim) no intervalo de zero a 4999. 

Figura 10: Programei o display 561AH para exibir o número 1.000.
Figura 10: Programei o display 561AH para exibir o número 1.000. 

Projeto 4: Display de 7 segmentos e 4 dígitos com sensor de temperatura TMP36

Nesse último projeto iremos por em prática o que aprendemos até agora. Iremos usar o display de 7 segmentos e 4 dígitos para exibir a temperatura fornecida pelo sensor TMP36. O esquema de ligação é muito semelhante ao do projeto anterior.

Materiais utilizados:

Uma protoboard;
Um Arduino Uno;
Fios Jumpers;
4 resistor de 1K=1000 Ohms;
Um display 7 segmentos 4 dígitos (modelo 5641AH ou 5461AS);
Um sensor TMP36.

Esquema de ligação

Projeto 4: Display de 7 segmentos e 4 dígitos com sensor de temperatura TMP36.
Figura 11: Projeto display com sensor TMP36

Programando o Arduino


Projeto Funcionando


Compilei um resumo dos projetos nesse vídeo. O post ficou um pouco longo, porém, acredito que deu para fazer um resumo básico de como utilizar esses tipos de displays. Ele pode ser combinado com outros sensores. Que tal montar um relógio digital com ele? Abraços e espero que consigam utilizar em algum projeto útil.

Post Um Comentário

Postagem Anterior Próxima Postagem