En este tutorial vas a aprender a conectar y controlar un display de siete segmentos de cuatro dígitos usando una placa Elegoo Uno R3. Vamos a ver cómo aprovechar un registro de desplazamiento para optimizar el uso de pines y entender el concepto de persistencia de visión para mostrar múltiples números.
Descripción general
Cuando usás displays de un solo dígito, tenés que fijarte si son de ánodo común (el pin común va a positivo) o de cátodo común (el pin común va a GND). En el caso del display de cuatro dígitos, los pines comunes se usan para elegir qué dígito querés activar.
Aunque técnicamente se enciende un solo dígito a la vez, el principio de Persistencia de Visión permite que veas todos los números encendidos al mismo tiempo. Esto pasa porque la velocidad de escaneo es tan alta que el ojo humano no llega a notar los intervalos de apagado.
Componentes necesarios
Para este proyecto vas a necesitar: (1) Elegoo Uno R3, (1) Protoboard de 830 puntos, (1) Integrado 74HC595, (1) Display de siete segmentos de 4 dígitos, (4) Resistencias de 220 ohm y (23) Cables puente macho-macho.
Introducción al componente
La serie 5643 es un módulo compacto diseñado para sistemas embebidos que integra cuatro dígitos independientes. Está disponible en versiones de cátodo común (5643A), que requiere una señal baja para activar los segmentos, y de ánodo común (5643B), que necesita una señal alta.
Internamente, los segmentos idénticos (A-G y el punto decimal DP) de todos los dígitos están conectados en paralelo. Esto facilita el escaneo dinámico, ya que cada dígito tiene su propio pin de control independiente para activarlo o desactivarlo según sea necesario.
Código y funcionamiento
Podés descargar el archivo "seven_segment_counter.ino" y abrirlo con el IDE de Arduino. Asegurate de tener instalados los drivers correspondientes a la placa UNO R3 antes de empezar. Este programa usa el registro de desplazamiento 74HC595 para mostrar una secuencia que va del 0 al 9 y de la A a la F.
En el código, definimos los pines de la siguiente manera: latch en el pin 9, clock en el 10 y data en el 8. La matriz table[] contiene los valores hexadecimales necesarios para formar cada carácter en el display; por ejemplo, 0x3f representa el 0 y 0x71 representa la F.
Configuración y prueba
Dentro de la función setup(), configuramos los tres pines del 74HC595 como salidas. El proceso básico para enviar datos consiste en poner el pin latch en LOW, usar la función shiftOut para mandar el valor deseado y finalmente poner el latch en HIGH para que el display se actualice con la nueva información.
Si tenés algún problema con la visualización, revisá las conexiones en la protoboard y fijate que las resistencias estén bien colocadas en los pines de los segmentos para no quemar los LEDs.
Galería de referencia
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.