Skip to Content

Arduino y el controlador de 7 segmentos CD4511 – Una guía paso a paso

Arduino y el controlador de 7 segmentos CD4511 – Una guía paso a paso

¿Alguna vez has querido crear un proyecto que utilice una pantalla de 7 segmentos de 4 u 8 dígitos? 

Controlar un gran número de 7-segment pantallas con un Arduino UNO puede ser complicado, ya que requiere muchos pines y funciones de software complejas.

Aquí es donde el circuito integrado CD4511, controlador de 7 segmentos, resulta muy útil.

El CD4511 es un circuito integrado decodificador y latch de BCD a 7 segmentos, ampliamente usado en relojes digitales, contadores y sistemas de visualización. 

El CD4511 convierte datos en decimal codificado en binario (BCD) en un patrón para pantallas de 7 segmentos.

Usando el CD4511, puedes conectar tu Arduino UNO a un mayor número de pantallas de 7 segmentos usando menos pines y menos esfuerzo en software. 

En este artículo, te proporcionaré un diagrama de conexión y ejemplos de código para ayudarte a usar el CD4511 con tu Arduino UNO.

Ya seas principiante o un maker experimentado, el CD4511 es una herramienta útil y potente para tu próximo proyecto con pantallas de 7 segmentos. 

¡Así que toma tu protoboard y vamos a empezar!

Componentes necesarios para construir el proyecto Arduino y pantalla de 7 segmentos con CD4511

Componentes de hardware

Software

Makerguides.com participa en el Programa de Asociados de Amazon Services LLC, un programa de publicidad afiliada diseñado para proporcionar un medio para que los sitios ganen comisiones publicitarias mediante la publicidad y enlace a productos en Amazon.com.

Conceptos básicos del decodificador BCD CD4511

En esta sección, entenderemos los conceptos básicos del circuito integrado decodificador BCD CD4511. Es un decodificador de BCD a 7 segmentos de bajo costo con muchas características y un controlador de pantalla muy sencillo.

El CD4511 es un CI práctico para controlar pantallas de 7 segmentos. Es un dispositivo CMOS diseñado para ser de bajo consumo y resistente al ruido. Esto lo hace ideal para diversas aplicaciones. 

El CD4511 toma datos en decimal codificado en binario (BCD) y entrega la información correspondiente a una pantalla de 7 segmentos.

El CD4511 tiene cuatro entradas BCD y siete salidas para la pantalla de 7 segmentos.

Las cuatro entradas BCD se conectan a las entradas de datos, mientras que las siete salidas se conectan a los segmentos de la pantalla de 7 segmentos. 

La imagen a continuación muestra el diagrama funcional del CI CD4511.

diagram of the CD4511 IC

Cuando envías un número BCD al CD4511, este lo decodifica y enciende los segmentos correspondientes para mostrar el número en la pantalla de 7 segmentos.

Una de las grandes ventajas del CD4511 es su flexibilidad. Puede usarse con pantallas de 7 segmentos de cátodo común y ánodo común, lo que lo hace una opción popular para una amplia variedad de proyectos. 

También es fácil de usar: simplemente conecta las entradas y salidas, y el CD4511 hace el resto.

La imagen a continuación muestra el detalle del pinout del CD4511.

CD4511 pinout details

Otro beneficio del CD4511 es su bajo consumo de energía. Esto lo hace ideal para proyectos alimentados por batería donde la conservación de energía es importante.

El CI CD4511 tiene una función de prueba de lámpara (LT), que hace que todos los segmentos de la pantalla de 7 segmentos se enciendan.

Si quieres apagar todos los segmentos temporalmente, el CD4511 también cuenta con una función de blanking activa en bajo. 

Esta función te permite crear efectos de parpadeo, haciendo tus pantallas más dinámicas y llamativas. La tabla a continuación resume las funciones.

table summarizes the functions

Ya sea que trabajes en un proyecto simple o más complejo, el CD4511 es una excelente opción para controlar pantallas de 7 segmentos.

Características del CD4511

Aquí están las características del CI CD4511 compatible con Arduino:

  • Rango de voltaje de operación de 4.5 V a 5.5 V
  • Alta capacidad de suministro de corriente (7.5 mA)
  • Alta inmunidad al ruido
  • Latch de entrada para almacenamiento del código BCD
  • Retraso de propagación y tiempos de transición equilibrados
  • Consumo máximo de corriente de 8 µA a temperatura ambiente
  • Función de blanking de segmentos
  • Función de prueba de todas las lámparas (para probar y depurar segmentos fácilmente)

Detalles de pines del CI CD4511

Las entradas BCD se usan para ingresar datos en decimal codificado en binario, que se decodifican y luego se muestran en una pantalla de 7 segmentos.

La entrada de prueba de lámpara se usa para probar todos los segmentos en la pantalla de 7 segmentos. La entrada de blanking se usa para apagar todos los segmentos temporalmente.

Las salidas de los siete segmentos controlan los segmentos correspondientes en la pantalla de 7 segmentos.

He resumido la descripción de los pines del chip CD4511 en la tabla a continuación.

Número de pin Nombre del pin Función del pin
1 D1 Entrada de datos BCD D1
2 D2 Entrada de datos BCD D2
3 #LT Prueba de lámpara (Activo bajo)
4 #BL Función de blanking (Activo bajo)
5 #LE Habilitación de latch (entrada activa baja)
6 D3 Entrada de datos BCD D3
7 D0 Entrada de datos BCD D0
8 GND Conexión a tierra
9-15 a-f Pines de control de segmentos LCD
16 VCC Pin de entrada de alimentación. Este pin debe desacoplarse usando un condensador de 0.1 µF a 1.0 µF.

Aplicaciones potenciales del CI CD4511

  1. Pantallas digitales en relojes y calculadoras
  2. Paneles de control de estaciones meteorológicas para mostrar temperatura, presión, etc.
  3. Información numérica mostrada en básculas
  4. Equipos de medición, y
  5. Sistemas de control de procesos industriales, etc.

Instrucciones paso a paso para conectar el CD4511 con Arduino UNO y pantalla de 7 segmentos

En esta sección, construiremos un proyecto usando Arduino UNO, pantalla de 7 segmentos y el módulo CD4511.

Las conexiones son fáciles y toman mucho menos tiempo en completarse. 

¡Comencemos con las conexiones de hardware!

¿Cómo conectar el controlador de 7 segmentos CD4511 al Arduino UNO?

A continuación tienes la guía paso a paso para completar la conexión entre Arduino y el módulo CD4511. 

Paso 1: Comienza con las conexiones a GND

Start with the GND connections

Conecta el pin GND del módulo CD4511 al GND del Arduino.

Elige cualquier pin GND disponible en el Arduino para la conexión.

Es una buena práctica comenzar con las conexiones a GND. 

Paso 2: Conecta las líneas BCD al módulo

Connect the BCD Lines to the module

Conecta los pines 2-5 del Arduino a los pines de entrada de datos BCD del CD4511. 

Paso 3: Termina las entradas de prueba de lámpara y blanking

Terminate the Lamp test and Blank test inputs

Conecta los pines 3 y 4 del CI CD4511 al pin de 5V del Arduino. Estos dos pines se usan para probar el módulo. En este ejemplo, los terminaremos de forma segura. 

Paso 4: Conecta la línea de alimentación

Connect the Power line

Conecta el pin VCC del CI CD4511 al pin de 5 V del Arduino UNO.

Paso 5: Conecta el módulo de 7 segmentos

Connect the 7-segment module

Conecta el módulo de 7 segmentos al CI CD4511.

Paso 6: Conexión completa

Complete connection

¡Felicidades! Esto completa todas las conexiones necesarias.

Ejemplo de código Arduino para el proyecto con módulo CD4511

En esta sección, encontrarás el sketch completo de Arduino y la información para instalar las librerías necesarias. 

Código completo de Arduino para el ejemplo de proyecto con 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);
  }
}

El código está escrito de forma sencilla. Si quieres mostrar un 1 en la pantalla de 7 segmentos, debes enviar 0001 a los pines de entrada BCD del decodificador CD4511.

  if (count == 1) //write 0001
  {
    digitalWrite(A, HIGH);
    digitalWrite(B, LOW);
    digitalWrite(C, LOW);
    digitalWrite(D, LOW);
  }

Otra forma de reducir la longitud del código es definiendo una función que tome el valor del conteo como entrada y lo mapee a las entradas BCD.

Preguntas frecuentes sobre el CD4511 y proyectos con Arduino

He incluido una lista de las preguntas más frecuentes sobre proyectos construidos usando Arduino y el módulo BCD a 7 segmentos – CD4511.

Si tienes más preguntas, por favor publícalas en la sección de comentarios. Estaré encantado de responderlas.

1. ¿Qué es el CI CD4511?

El CD4511 es un CI comúnmente usado para controlar pantallas de 7 segmentos en diversas aplicaciones, como relojes digitales, calculadoras y otros proyectos basados en pantallas. 

Actúa como decodificador y controlador, convirtiendo entradas en decimal codificado en binario (BCD) en salidas. Las salidas binarias pueden controlar los segmentos de la pantalla de 7 segmentos.

Se encuentra en muchos proyectos de hobby y aplicaciones comerciales donde se usan pantallas de 7 segmentos. 

2. ¿Cómo funciona el CD4511 con una placa Arduino?

El CD4511 funciona junto con una placa Arduino recibiendo entradas binarias de la placa, decodificándolas y luego controlando los segmentos correspondientes de la pantalla de 7 segmentos.

El CD4511 requiere conexión a la fuente de alimentación (5 V), tierra y entradas de datos desde la placa Arduino para funcionar correctamente (entradas BCD).

3. ¿Cuáles son las ventajas de usar el CD4511 con una placa Arduino?

El CD4511 ofrece varias ventajas cuando se usa con una placa Arduino. 

  • Es una solución compacta y económica para controlar pantallas de 7 segmentos, combinando las funciones de decodificador y controlador en un solo CI. 
  • También reduce la cantidad de cableado y el número de componentes necesarios, haciendo el proyecto más simple y fácil de construir.
  • Simplifica el software y ahorra tiempo y complejidad en el código. 

4. ¿Cuántas entradas tiene el CD4511?

El CD4511 tiene cuatro pines de entrada. Puedes usar estos pines para recibir datos en decimal codificado en binario (BCD) desde la placa Arduino UNO.

El CI CD4511 decodifica los datos y controla los segmentos de la pantalla de 7 segmentos. 

También hay entradas de prueba para realizar un test rápido básico. Por favor, consulta la sección de conceptos básicos del CD4511 arriba para más detalles. 

5. ¿Cuál es la corriente máxima que puede manejar el CD4511?

El CD4511 puede manejar una corriente máxima de 15 mA por segmento.

Esto le permite alimentar las pantallas de 7 segmentos más comunes, incluyendo las usadas en relojes digitales, calculadoras y otros proyectos basados en pantallas.

6. ¿Se puede usar el CD4511 con otros microcontroladores además de la placa Arduino?

Sí, el CD4511 puede usarse con otros tipos de microcontroladores además de la placa Arduino.

Sin embargo, el cableado específico y el código requerido dependerán del microcontrolador que se use, así como del tipo de pantalla de 7 segmentos que se utilice.

Es importante consultar la hoja de datos tanto del CD4511 como del microcontrolador para asegurar la compatibilidad y el uso correcto.

Conclusión

En este artículo, hemos explorado todas las características y capacidades clave del CD4511.

He proporcionado una guía completa sobre cómo usarlo con un Arduino UNO. 

Con la guía paso a paso de conexiones y ejemplos de código funcional, tienes toda la información que necesitas para comenzar tu proyecto con CD4511 y Arduino.

Espero que este artículo te haya sido de gran ayuda para aprender sobre el CD4511 y cómo usarlo con Arduino.

Si tienes alguna pregunta, comentario o sugerencia, no dudes en contactarme. 

Mi objetivo es asegurar que tengas toda la información y el apoyo que necesitas para tener éxito en tus proyectos en un solo lugar.

Si encuentras que falta alguna información o alguna mejora, por favor házmelo saber.

¡Sigue experimentando. Sigue aprendiendo!