Alguma vez quiseste construir um projeto que utilize um display de 7 segmentos de 4 ou 8 dígitos?
Controlar um grande número de 7-segment displays com um Arduino UNO pode ser desafiante, pois requer muitos pinos e funções de software complexas.
É aqui que o CI driver de 7 segmentos CD4511 é útil.
O CD4511 é um circuito integrado decodificador e latch BCD para 7 segmentos, amplamente usado em relógios digitais, contadores e sistemas de visualização.
O CD4511 converte dados em decimal codificado em binário (BCD) num padrão para displays de 7 segmentos.
Usando o CD4511, podes ligar o teu Arduino UNO a um maior número de displays de 7 segmentos usando menos pinos e menos esforço de software.
Neste artigo, vou fornecer um diagrama de ligação e exemplos de código para te ajudar a usar o CD4511 com o teu Arduino UNO.
Se és principiante ou um maker experiente, o CD4511 é uma ferramenta útil e poderosa para o teu próximo projeto com display de 7 segmentos.
Então pega no teu breadboard e vamos começar!
Componentes Necessários Para Construir o Projeto Arduino e Display de 7 Segmentos com CD4511
Componentes de Hardware
- Arduino Uno Rev3 x 1
- CD4511 chip – BCD to 7-segment decoder x 1
- 7-segment display x 1 (opcional)
- Dupont wire x 1 conjunto
- Arduino USB cable x 1
- Arduino Power adapter x 1 (opcional)
Software
Makerguides.com participa no Programa de Associados da Amazon Services LLC, um programa de publicidade afiliada concebido para fornecer meios para sites ganharem comissões ao publicitar e ligar a produtos na Amazon.com.
Noções Básicas do Decodificador BCD CD4511
Nesta secção, vamos entender as noções básicas do CI decodificador BCD CD4511. É um decodificador BCD para 7 segmentos de baixo custo com muitas funcionalidades e um driver de display super fácil.
O CD4511 é um CI prático para controlar displays de 7 segmentos. É um dispositivo CMOS projetado para ser de baixo consumo e imune a ruído. Isto torna-o ideal para várias aplicações.
O CD4511 recebe dados em decimal codificado em binário (BCD) e envia a informação correspondente para um display de 7 segmentos.
O CD4511 tem quatro entradas BCD e sete bits de saída para o display de 7 segmentos.
As quatro entradas BCD ligam-se às entradas de dados, enquanto as sete saídas ligam-se aos segmentos do display de 7 segmentos.
A imagem abaixo mostra o diagrama funcional do CI CD4511.

Quando envias um número BCD para o CD4511, ele decodifica e acende os segmentos correspondentes para mostrar o número no display de 7 segmentos.
Uma das grandes vantagens do CD4511 é a sua flexibilidade. Pode ser usado com displays de 7 segmentos de cátodo comum e ânodo comum, tornando-o uma escolha popular para uma ampla gama de projetos.
Também é fácil de usar – basta ligar as entradas e saídas, e o CD4511 faz o resto.
A imagem abaixo mostra os detalhes do pinout do CD4511.

Outro benefício do CD4511 é o seu baixo consumo de energia. Isto torna-o ideal para projetos alimentados a bateria onde a conservação de energia é importante.
O CI CD4511 tem uma função de teste de lâmpada (LT), que faz com que todos os segmentos do display de 7 segmentos se acendam.
Se quiseres desligar temporariamente todos os segmentos, o CD4511 também possui uma função de blanking ativa em nível baixo.
Esta funcionalidade permite criar efeitos de piscar, tornando os teus displays mais dinâmicos e apelativos. A tabela abaixo resume as funções.

Quer estejas a trabalhar num projeto simples ou mais complexo, o CD4511 é uma excelente escolha para controlar displays de 7 segmentos.
Características do CD4511
Aqui estão as características do CI CD4511 compatível com Arduino:
- Faixa de tensão de operação de 4,5 V a 5,5 V
- Alta capacidade de fornecimento de corrente (7,5 mA)
- Alta imunidade a ruído
- Latches de entrada para armazenamento do código BCD
- Atraso de propagação e tempos de transição equilibrados
- Consumo máximo de corrente de 8 µA à temperatura ambiente
- Função de blanking dos segmentos
- Função de todas as lâmpadas (para testar e depurar segmentos facilmente)
Detalhes dos Pinos do CI CD4511
As entradas BCD são usadas para inserir dados em decimal codificado em binário, que são decodificados e depois exibidos num display de 7 segmentos.
A entrada Lamp Test é usada para testar todos os segmentos do display de 7 segmentos. A entrada Blanking é usada para desligar temporariamente todos os segmentos.
As saídas de 7 segmentos controlam os segmentos correspondentes no display de 7 segmentos.
Resumi a descrição dos pinos do chip CD4511 na tabela abaixo.
| Número do pino | Nome do pino | Função do pino |
| 1 | D1 | Entrada de dados BCD D1 |
| 2 | D2 | Entrada de dados BCD D2 |
| 3 | #LT | Teste de lâmpada (ativo baixo) |
| 4 | #BL | Função de blanking (ativo baixo) |
| 5 | #LE | Ativação do latch (entrada ativa baixa) |
| 6 | D3 | Entrada de dados BCD D3 |
| 7 | D0 | Entrada de dados BCD D0 |
| 8 | GND | Ligação à terra |
| 9-15 | a-f | Pinos de controlo dos segmentos do LCD |
| 16 | VCC | Pino de alimentação. Este pino deve ser desacoplado com um condensador de 0,1 µF a 1,0 µF. |
Possíveis Aplicações do CI CD4511
- Displays digitais em relógios e calculadoras
- Painéis de controlo de estações meteorológicas para mostrar temperatura, pressão, etc.
- Informação numérica exibida em balanças
- Equipamentos de medição, e
- Sistemas de controlo de processos industriais, etc.
Instruções Passo a Passo para Ligar o CD4511 ao Arduino UNO e ao Display de 7 Segmentos
Nesta secção, vamos construir um projeto usando Arduino UNO, display de 7 segmentos e o módulo CD4511.
As ligações são fáceis e demoram significativamente menos tempo a completar.
Vamos começar pelas ligações de hardware!
Como Ligar o Driver de 7 Segmentos CD4511 ao Arduino UNO?
Abaixo está o guia passo a passo para completar a ligação do Arduino e do módulo CD4511.
Passo 1: Começa pelas ligações GND

Liga o pino GND do módulo CD4511 ao GND do Arduino.
Escolhe qualquer pino GND disponível no Arduino para a ligação.
É uma boa prática começar pelas ligações GND.
Passo 2: Liga as Linhas BCD ao módulo

Liga os pinos 2-5 do Arduino às entradas de dados BCD do CD4511.
Passo 3: Termina as entradas de teste de lâmpada e blanking

Liga os pinos 3 e 4 do CI CD4511 ao pino 5V do Arduino. Estes dois pinos são usados para testar o módulo. Neste exemplo, vamos terminá-los de forma segura.
Passo 4: Liga a linha de alimentação

Liga o pino VCC do CI CD4511 ao pino 5 V do Arduino UNO.
Passo 5: Liga o módulo de 7 segmentos

Liga o módulo de 7 segmentos ao CI CD4511.
Passo 6: Completa a ligação

Parabéns! Isto completa todas as ligações necessárias.
Exemplo de Código Arduino para o Projeto com o Módulo CD4511
Nesta secção, podes encontrar o sketch completo para Arduino e informações sobre a instalação das bibliotecas necessárias.
Código Arduino Completo para o Exemplo de Projeto com CD4511
/*
Example of how to drive a seven-segment display using HCF4511 or similar
This sketch drives the display in order to show a number from 0 to 9 every time a button connected to A0 is pressed.
Source: https://projecthub.arduino.cc/Arduino_Scuola/36b84c1e-70fc-4f09-87a3-62fb39dc21cb
*/
//Declaration of Arduino pins used as HCF4511 inputs
const int A = 2;
const int B = 3;
const int C = 4;
const int D = 5;
void setup() {
pinMode(A0, INPUT);
pinMode(A, OUTPUT); //LSB
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT); //MSB
}
int count = 0; //the variable used to show the number
void loop() {
if (digitalRead(A0) == LOW) //if button is pressed
{
count++;
delay(200); //the delay prevent from button bouncing
if (count == 10) //we want to count from 0 to 9!
count = 0;
to_BCD(); //convert to binary
}
if (count == 10)
count = 0;
}
void to_BCD()
{
if (count == 0) //write 0000
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
if (count == 1) //write 0001
{
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
if (count == 2) //write 0010
{
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
if (count == 3) //write 0011
{
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
if (count == 4) //write 0100
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
}
if (count == 5) //write 0101
{
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
}
if (count == 6) //write 0110
{
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
}
if (count == 7) //write 0111
{
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
}
if (count == 8) //write 1000
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
}
if (count == 9) //write 1001
{
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
}
}
O código está escrito de forma simples. Se quiseres mostrar o número 1 no display de 7 segmentos, tens de enviar 0001 para os pinos de entrada BCD do decodificador CD4511.
if (count == 1) //write 0001
{
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
Outra forma de reduzir o tamanho do código é definindo uma função que recebe o valor do contador como entrada e o mapeia para as entradas BCD.
Perguntas Frequentes Sobre o CD4511 e Projetos com Arduino
Incluí uma lista das perguntas mais frequentes sobre projetos construídos usando Arduino e o módulo BCD para 7 segmentos – CD4511.
Se tiveres mais perguntas, por favor coloca-as na secção de comentários. Terei todo o gosto em responder.
1. O que é o CI CD4511?
O CD4511 é um CI usado frequentemente para controlar displays de 7 segmentos em várias aplicações, como relógios digitais, calculadoras e outros projetos baseados em displays.
Atua como decodificador e driver, convertendo entradas em decimal codificado em binário (BCD) em saídas. As saídas binárias controlam os segmentos do display de 7 segmentos.
É encontrado em muitos projetos de hobby e aplicações comerciais onde se usam displays de 7 segmentos.
2. Como funciona o CD4511 com uma placa Arduino?
O CD4511 funciona em conjunto com uma placa Arduino ao receber entradas binárias da placa, decodificá-las e depois controlar os segmentos correspondentes do display de 7 segmentos.
O CD4511 necessita de ligação à alimentação (5 V), terra e entradas de dados da placa Arduino para funcionar corretamente (entradas BCD).
3. Quais as vantagens de usar o CD4511 com uma placa Arduino?
O CD4511 oferece várias vantagens quando usado com uma placa Arduino.
- É uma solução compacta e económica para controlar displays de 7 segmentos, combinando as funções de decodificador e driver num único CI.
- Também reduz a quantidade de cabos e o número de componentes necessários, tornando o projeto mais simples e fácil de construir.
- Simplifica o software e poupa tempo e complexidade de programação.
4. Quantas entradas tem o CD4511?
O CD4511 tem quatro pinos de entrada. Podes usar estes pinos para receber dados em decimal codificado em binário (BCD) da placa Arduino UNO.
O CI CD4511 decodifica os dados e controla os segmentos do display de 7 segmentos.
Existem também entradas de teste para realizar um teste rápido básico. Por favor, consulta a secção de noções básicas do CD4511 acima para mais detalhes.
5. Qual é a corrente máxima que o CD4511 pode fornecer?
O CD4511 é capaz de fornecer uma corrente máxima de 15 mA por segmento.
Isto permite alimentar os displays de 7 segmentos mais comuns, incluindo os usados em relógios digitais, calculadoras e outros projetos baseados em displays.
6. Pode o CD4511 ser usado com outros microcontroladores além da placa Arduino?
Sim, o CD4511 pode ser usado com outros tipos de microcontroladores além da placa Arduino.
No entanto, a ligação específica e o código necessário dependerão do microcontrolador usado, bem como do tipo de display de 7 segmentos utilizado.
É importante consultar a folha de dados tanto do CD4511 como do microcontrolador para garantir compatibilidade e uso correto.
Conclusão
Neste artigo, explorámos todas as principais características e capacidades do CD4511.
Forneci um guia completo sobre como usá-lo com um Arduino UNO.
Com o guia passo a passo de ligações e exemplos de código a funcionar, tens toda a informação necessária para começar o teu projeto com CD4511 e Arduino.
Espero que este artigo tenha sido de grande ajuda para aprenderes sobre o CD4511 e como usá-lo com Arduino.
Se tiveres alguma pergunta, comentário ou sugestão, não hesites em contactar.
O meu objetivo é garantir que tens toda a informação e apoio necessários para ter sucesso nos teus projetos num só lugar.
Se encontraste alguma informação em falta ou uma melhoria, por favor avisa-me.
Continua a experimentar. Continua a aprender!

