Skip to Content

Arduino e o Driver de 7 segmentos CD4511 – Um Guia Passo a Passo

Arduino e o Driver de 7 segmentos CD4511 – Um Guia Passo a Passo

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

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.

diagram of the CD4511 IC

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.

CD4511 pinout details

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.

table summarizes the functions

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

  1. Displays digitais em relógios e calculadoras
  2. Painéis de controlo de estações meteorológicas para mostrar temperatura, pressão, etc.
  3. Informação numérica exibida em balanças
  4. Equipamentos de medição, e
  5. 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

Start with the GND connections

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

Connect the BCD Lines to the module

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

Terminate the Lamp test and Blank test inputs

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

Connect the Power line

Liga o pino VCC do CI CD4511 ao pino 5 V do Arduino UNO.

Passo 5: Liga o módulo de 7 segmentos

Connect the 7-segment module

Liga o módulo de 7 segmentos ao CI CD4511.

Passo 6: Completa a ligação

Complete connection

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!