Site icon Blog Usinainfo

Display 7 Segmentos Arduino: Tutorial para Projetos

Display 7 Segmentos Arduino: Tutorial para Projetos

Display 7 Segmentos Arduino: Tutorial para Projetos

O Tutorial para Projetos: Display 7 Segmentos Arduino é uma excelente oportunidade para que iniciantes na robótica e eletrônica possam trabalhar com esse simples e prático display de uma forma interativa e satisfatória, podendo integrar nos projetos maker DIY com as mais diversas finalidades.

Quantas vezes você viu um filme em que alguém precisa desativar uma bomba? O herói observa a tela conforme o tempo passa, cada segundo mais precioso do que o anterior. Bem, se você notar, todas aquelas bombas nos filmes geralmente têm telas de sete segmentos.

Talvez você ache que as telas de sete segmentos não pareçam modernas o suficiente, mas esses displays são a maneira mais prática de exibir números. Eles são fáceis de usar, econômicos e altamente legíveis, tanto em condições de iluminação limitada quanto sob forte luz solar.

Um exemplo do mundo real que usa display de sete segmentos é o famoso relógio de contagem regressiva que está situado no Centro Espacial Kennedy desde a era Apollo.


Display de segmentos usado na contagem regressiva no Centro Espacial Kennedy

Existem no mercado muitos tipos de displays para usar em seus projetos. Na loja da Usinainfo você encontra diversas variações do Display 7 Segmentos Arduino como: módulo display que possui 4 dígitos de 7 segmentos, um display indicador de bateria, módulo de 2 dígitos de 7 segmentos, entre outros.

No entanto, o padrão e mais comumente usado / disponível é o visor de 14,20 mm com cor vermelha, conforme mostrado na animação abaixo. Caso desejar, existem displays com LEDs coloridos que você também pode utilizá-los em seus projetos.

Note também que, como o tamanho e a cor diferem, a quantidade de corrente consumida pelo monitor também será diferente. Dos exemplos fornecidos da loja da Usina, o display indicador de bateria tende a consumir mais energia devido possuir diversas cores em seu display. Dessa forma, o vermelho tende a ser mais utilizado pois consome menos corrente do que outras cores.

Alguns módulos de exibição equivalentes ao display de 7 segmentos são os displays de LED de matriz de pontos, LCD 16×2, display OLED e display de tela LCD TFT.

 

O que é o Display de 7 Segmentos Arduino?

O Display de 7 Segmentos Arduino é um componente que não possui mais do que 8 LEDs e cada LED está separado por segmento que pode ser nomeado como a, b, c, d, e, f, g, DP conforme mostrado na imagem abaixo.

 


Esquema de pinagem do display de 7 segmentos

 

Mas, como um display de 7 segmentos funciona?

O display de 7 segmentos funciona, por exemplo, para exibir o dígito numérico 4, precisaremos acender quatro dos segmentos de LED correspondentes a b, c, f e g. Assim, os vários dígitos de ‘0 a 9’ e caracteres de ‘A a F’ podem ser exibidos usando um display de 7 segmentos, conforme mostrado na figura abaixo.


Modelo de quais LED’s acender para exibir números e caracteres no display 7 segmentos arduino

Esses LEDs de 7 segmentos e o ponto decimal possuem pinos externos que estão conectados a cada LED além disso, também possui dois pinos comuns. Portanto, para fazer um LED de um determinado segmento brilhar, basta ligar o pino comum junto com o pino do segmento.

Desta forma, podemos alimentar mais de um segmento por vez para representar algum número de 0 à 9 e também letras como mostrado na ilustração abaixo. Também temos a opção de mostrar um ponto decimal usando o pino DP.

 

Características do Display 7 Segmentos Arduino

Algumas características se destacam, como:

Display RGB de 7 segmentos

 

Identificando o Modelo do seu Display de 7 Segmentos

Display de 7 segmentos de cátodo comum (CC) – O display de cátodo comum, polo negativo, pode ser chamado também de display CC. Neste tipo, o pino comum no display de 7 segmentos é conectado a todos os oito pinos negativos dos LEDs.

Portanto, para fazer este tipo de display de sete segmentos funcionar, devemos conectar o pino no terra/GND e alimentar os outros pinos com VCC (normalmente + 5V).

Segue abaixo animação do funcionamento de um display de 7 segmentos CC:

Display 7 Segmentos Cátodo Comum

 

Display de 7 segmentos de ânodo comum (AC) – A exibição comum do ânodo é comumente chamada de exibição AC. Neste tipo, o pino comum no display de 7 segmentos é conectado a todos os oito pinos positivos dos LEDs. Portanto, para fazer esse tipo de display funcionar, devemos conectar o pino no Vcc (+ 5V) e aterrar o pino do segmento necessário para ligá-lo.
Segue abaixo animação do funcionamento de um display de 7 segmentos AC:

Display 7 Segmentos Anodo Comum

 

Mas você deve estar se perguntando, se é um visor de LED com ótimo brilho e bem fácil de manusear, posso encontrá-lo em outros lugares além do Centro Espacial Kennedy? A resposta é sim e ele pode ser:

 

Montando o display de 7 segmentos no seu Arduino

Agora que entendemos como funciona o display de 7 segmentos, podemos conectá-lo ao Arduino! Comece colocando o componente de 7 segmentos na protoboard, garantindo que cada lado dele esteja em um lado separado da protoboard. Com o ponto decimal voltado para baixo (de acordo com a imagem acima), os pinos são 1-5 no lado inferior da esquerda para a direita e 10-6 no lado superior da esquerda para a direita, conforme pode ser visto na ilustração abaixo.

Identificação dos pinos do Display 7 Segmentos

Para começar, vamos conectar um dos pinos 3 ou 8 comuns ao pino 5V no Arduino (se você estiver usando um display de ânodo comum de 7 segmentos) ou ao pino GND no Arduino (se estiver usando um display de cátodo comum de 7 segmentos).

Os 4 pinos restantes na posição superior são conectados ao pino digital 2 ao pino digital 5. Os outros 4 pinos na posição inferior com ponto decimal são conectados ao pino digital 6 a 9.

Observação: Embora o display possa funcionar sem resistores limitadores de corrente, é sempre uma boa ideia tê-los em seu circuito para evitar queimar o exibidor.

Normalmente, para uma tela de 7 segmentos de cor vermelha padrão, cada segmento de LED pode consumir cerca de 15 mA para iluminar corretamente, portanto, em um circuito digital lógico de 5 volts, o valor do resistor limitador de corrente seria cerca de 200Ω onde:

R = (5v – 2v) / 15mA
R = 200 Ω

Caso você não dispor deste tipo de resistor, opte por um de valor mais alto mais próximo de 200Ω. Assim que terminar, você deverá ter algo semelhante à ilustração mostrada abaixo.

Montagem Display 7 Segmentos Arduino no Fritzing

Montagem esquemática da parte elétrica

OBS: No caso acima, utilizamos resistores de 330Ω para assegurar maior vida útil às LED’s do display.

 

Código de Programação do Projeto Display 7 Segmentos Arduino

Agora, é hora de iluminar o display com algum código. Antes de começar a escrever o código para controlar os LED’s do display, você precisará fazer o download da Biblioteca SevSeg Arduino primeiro. Você pode fazer isso visitando o repositório GitHub e baixando manualmente a biblioteca.

Para instalá-la, abra a IDE Arduino e siga os procedimentos abaixo:

 

Vá para Sketch e depois em incluir Biblioteca

 

Clique em adicionar Biblioteca .ZIP

 

Selecione o arquivo SevSeg ZIP que você acabou de baixar

 

Se precisar de mais detalhes sobre a instalação de uma biblioteca, visite este tutorial Instalando uma Biblioteca Arduino e vá para o subtítulo “Incluindo Bibliotecas através do Arduino IDE”.

Depois de instalar a biblioteca, você pode copiar este esboço para a IDE do Arduino. O esboço de teste a seguir contará de 0 a 9. Faça o teste com este sketch para então explicarmos com alguns detalhes a lógica utilizada.

 

CÓDIGO UTILIZADO

[crayon-674696d58a681967548578/]
 

O código explicado a fundo

SevSeg setSeg;
O esboço começa incluindo a biblioteca SevSeg que simplifica os controles e sinais para os 7 segmentos. Em seguida, temos que criar um objeto setSeg que podemos usar em todo o esboço.

byte numDigitos = 1;
A seguir, temos que especificar quantos dígitos o display possui. Como estamos usando um visor de um único dígito, o definimos como 1. Caso você esteja usando um visor de 4 dígitos, defina-o como 4.

byte digitPinos[] = {};
A matriz digitPinos simplesmente define os ‘pinos comuns’ ao usar um display de vários dígitos. Deixe em branco se você tiver um display de um único dígito. Caso contrário, forneça os números dos pinos do Arduino aos quais os ‘pinos comuns’ de dígitos individuais estão conectados. Ordene-os da esquerda para a direita.

byte pinosDisplay[] = {3, 2, 8, 7, 6, 4, 5, 9};
O segundo array que vemos sendo inicializado é o array pinosDisplay. Este é um array de todos os números de pinos do Arduino que estão conectados aos pinos no display de LED que controlam os segmentos; então, neste caso, esses são os que conectamos diretamente da protoboard ao Arduino. Eles também devem ser colocados na ordem correta, pois a biblioteca assume que os pinos estão na seguinte ordem: A, B, C, D, E, F, G, DP.

setSeg.begin(COMMON_ANODE, numDigitos, digitPinos, pinosDisplay, resistoresSegmentos);
Depois de criar essas variáveis, nós as passamos para o objeto setSeg usando a função begin ().

for(int i = 0; i < 10; i++)
{
sevseg.setNumber(i);
sevseg.refreshDisplay();
delay(1000);
}
Na seção loop () o programa começa a contar de 0 a 9 usando o for () e a variável i. Cada vez que o laço se repete é usada a função da biblioteca setSeg setNumber() juntamente com refreshDisplay () para definir o número para o display.
Logo em seguida, há um segundo delay () antes que i seja incrementado e o próximo número seja exibido.

 

Conclusão

Esta foi uma introdução básica aos fundamentos do uso de display de LED’s de 7. Além disso, você aprendeu as variações existentes deste componente e a como programá-lo com o uso da biblioteca Sev Seg. Lembre-se que, para ligar cada LED é necessário que você conecte ao segmento um resistor de 220Ohms ou de 330Ohms (que foi o nosso caso).

Como complemento, aqui está outros projetos relacionados:

Caso deseje se aprofundar melhor na plataforma Arduino, recomendo ler nosso artigo completo: Tutorial Completo sobre Arduino: Quem inventou e como ele funciona? Como programar?. Se ainda possuir quaisquer dúvidas com relação ao projeto use os comentários abaixo e deixe-nos sanar sua dúvida!

Até a próxima!

Sair da versão mobile