Pantallas de 7 segmentos: Guía de pines y aplicaciones

Índice

¿Qué es un display de 7 segmentos?

Un display de 7 segmentos es un componente electrónico compuesto por 7 LEDs individuales dispuestos en un patrón específico para mostrar dígitos (0-9) y algunas letras. Estos LEDs se denominan a, b, c, d, e, f, g, y el display suele incluir un punto decimal opcional (dp).

128 variations of 7 segment display
128 variations of 7 segment display
7 segment display animation in variable arabic numerals and characters
7-segment display animation

Según diferentes arreglos y combinaciones, hay 128 variaciones para un display de 7 segmentos (números árabes y caracteres).

Conexiones de un display de 7 segmentos

La conexión de un display de 7 segmentos varía según su tipo, que se divide principalmente en dos categorías: ánodo común y cátodo común.

7 segment display pinout
7-segment display pinout

Configuración de conexiones

El siguiente es un ejemplo de asignación de pines para un display de 7 segmentos típico (tenga en cuenta que las conexiones reales pueden variar según el fabricante y el modelo):

Ánodo común:

Todos los ánodos (positivos) del display de 7 segmentos están conectados entre sí, y cuando se tira de un cátodo (negativo) a baja, el LED correspondiente se encenderá.

Common anode 7 segment display
Common anode 7-segment display
  • g, f, a, b, e, d, c, dp: Estos son los pines de segmento, que corresponden a los siete segmentos y al punto decimal, respectivamente.
  • COM: El pin de ánodo común, conectado a VCC.

Cátodo común:

Todos los cátodos (negativos) del display de 7 segmentos están conectados entre sí, y cuando se tira de un ánodo (positivo) a alta, el LED correspondiente se encenderá.

Common cathode 7 segment display
Common cathode 7-segment display

Similarmente, los pines de segmento (g, f, a, b, e, d, c, dp) corresponden a los segmentos y al punto decimal, pero el pin de cátodo común (COM) está conectado a GND.

Conexión del display de 7 segmentos

Para operar un display de 7 segmentos, los segmentos individuales (a, b, c, d, e, f, g, dp) deben conectarse a pines de salida específicos en un microcontrolador. Por ejemplo, para un display de 7 segmentos común cátodo, el extremo negativo de cada segmento se conecta a un pin de tierra común, mientras que el extremo positivo de cada segmento se conecta a un pin de salida diferente en el microcontrolador.

Configuración básica de cableado

  • Display de 7 segmentos tiene 8 pines (7 para los segmentos y 1 para el punto decimal).
  • Cada pin correspondiente a un segmento (a a g) se conecta al microcontrolador.
  • Para la configuración común cátodo, conecte el pin común cátodo a tierra.

Ejemplo de conexión a Arduino

Cuando se interconecta un display de 7 segmentos con un Arduino, los pines de los segmentos se conectan típicamente a diferentes pines digitales en la placa Arduino. Por ejemplo, en una configuración común ánodo, los pines de los segmentos podrían conectarse de la siguiente manera:

  • a – Arduino Pin 7
  • b – Arduino Pin 8
  • c – Arduino Pin 4
  • d – Arduino Pin 3
  • e – Arduino Pin 2
  • f – Arduino Pin 6
  • g – Arduino Pin 5
  • COM – Arduino Pin 9 (conectado a VCC)

En esta configuración, para iluminar un segmento específico, el pin de Arduino correspondiente se establece en LOW, mientras que el pin común ánodo permanece en HIGH.

Cómo controlar un display de 7 segmentos

La clave para controlar una pantalla de segmentos de 7 dígitos es proporcionar el voltaje correcto a los segmentos individuales para formar el número o símbolo deseado.

Visualización de números

Para mostrar un número, el microcontrolador necesita encender los segmentos apropiados. Por ejemplo:

  • Para mostrar 0, los segmentos a, b, c, d, e y f deben estar encendidos, mientras que el segmento g debe permanecer apagado.
Digital encoding for 7 segment display
Digital encoding for 7-segment display

Componentes requeridos

Similar a una matriz LED, este proyecto requerirá una cantidad considerable de cableado y resistencias. Dado que cada LED necesita su propia resistencia para evitar que se queme, asegúrese de tener suficientes resistencias preparadas. Para todo el proyecto, necesitará los siguientes componentes:

  • Arduino Uno
  • Arduino IDE
  • Pantalla de segmentos de 7 dígitos
  • Cables eléctricos
  • 8 resistencias de 220 ohmios
  • Placa de pruebas
  • Cable USB

Código de ejemplo para mostrar números

				
					int pin_a = 7, pin_b= 6, pin_c = 5, pin_d = 10, pin_e = 11, pin_f = 8, pin_g = 9, pin_p = 4;

// Segment data for digits 0-9
int numTable[10][8] = {
  {1, 1, 1, 1, 1, 1, 0, 0}, // 0
  {0, 1, 1, 0, 0, 0, 0, 0}, // 1
  {1, 1, 0, 1, 1, 0, 1, 0}, // 2
  {1, 1, 1, 1, 0, 0, 1, 0}, // 3
  {0, 1, 1, 0, 0, 1, 1, 0}, // 4
  {1, 0, 1, 1, 0, 1, 1, 0}, // 5
  {1, 0, 1, 1, 1, 1, 1, 0}, // 6
  {1, 1, 1, 0, 0, 0, 0, 0}, // 7
  {1, 1, 1, 1, 1, 1, 1, 0}, // 8
  {1, 1, 1, 1, 0, 1, 1, 0}, // 9
};

void setup(){
  for (int i = 4; i <= 11; i++){
    pinMode(i, OUTPUT);
  }
}

void loop(){
  for (int i = 0; i < 10; i++){
    digitalWrite(pin_a, numTable[i][0]);
    digitalWrite(pin_b, numTable[i][1]);
    digitalWrite(pin_c, numTable[i][2]);
    digitalWrite(pin_d, numTable[i][3]);
    digitalWrite(pin_e, numTable[i][4]);
    digitalWrite(pin_f, numTable[i][5]);
    digitalWrite(pin_g, numTable[i][6]);
    digitalWrite(pin_p, numTable[i][7]);
    delay(1000);
  }
}

				
			

En este ejemplo, el array numTable contiene los datos necesarios para encender los segmentos apropiados para cada dígito.

Proyectos de pantalla de segmentos de 7 dígitos con varios dígitos

Para pantallas de varios dígitos, la forma más sencilla de controlar varios segmentos de 7 dígitos es a través de multiplexación, otra forma es biblioteca de Arduino.

Técnica de multiplexación

Con multiplexación, múltiples pantallas comparten el mismo conjunto de pines de control, y cada pantalla se enciende secuencialmente. Esto se hace tan rápido que el ojo humano percibe todas las cifras como encendidas al mismo tiempo.

Ejemplo de código para multiplexar pantallas de 7 segmentos

				
					const int digitPins[3] = {2, 3, 4}; // Digit selection pins
const int segmentPins[8] = {6, 7, 8, 9, 10, 11, 12, 13}; // Segment pins
int numTable[10][8] = { {0, 0, 0, 0, 0, 0, 1, 1}, {1, 0, 0, 1, 1, 1, 1, 1}, ... };

void setup(){
  for (int i = 2; i <= 4; i++) {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
  }
  for (int i = 6; i <= 13; i++) {
    pinMode(i, OUTPUT);
    digitalWrite(i, HIGH);
  }
}

void loop(){
  for (int i = 0; i < 10; i++){
    for (int j = 0; j < 3; j++) {
      showdigit(i, j);
    }
    delay(500);
  }
}

void showdigit(int num, int digit){
  digitalWrite(digitPins[digit], HIGH);
  for (int i = 0; i < 8; i++) {
    digitalWrite(segmentPins[i], numTable[num][i]);
  }
  delay(500);
  digitalWrite(digitPins[digit], LOW);
}

				
			

Usar bibliotecas para controlar pantallas de 7 segmentos

Para mayor comodidad, bibliotecas como SevSeg están disponibles para simplificar el control de pantallas de 7 segmentos. Esta biblioteca es útil para controlar pantallas de varios dígitos, ya que abstrae gran parte de la compleja lógica de cableado y control.

Podemos buscar e instalar SevSeg a través del menú de Arduino: Herramientas >> Administrar bibliotecas.

Install SevSeg library on Arduino
Install SevSeg library on Arduino

Ejemplo de código usando la biblioteca SevSeg

				
					#include "SevSeg.h"
SevSeg sevseg;

void setup() {
  sevseg.begin(COMMON_CATHODE, 3, digitPins, segmentPins);
}

void loop() {
  int readValue = analogRead(A0);
  int showValue = map(readValue, 0, 1023, 0, 999);
  sevseg.setNumber(showValue, 3);
  sevseg.refreshDisplay();
}

				
			

Aplicaciones de las pantallas de 7 segmentos

Debido a su simplicidad, facilidad de uso y bajo costo, la pantalla de 7 segmentos se utiliza ampliamente en varias aplicaciones, tales como:

  • Relojes electrónicos: mostrar hora y fecha;
  • Calculadoras: mostrar los resultados de los cálculos;
  • Electrodomésticos: paneles de visualización para productos como microondas, aires acondicionados y lavadoras;
  • Tableros de instrumentos de automóviles: mostrar información como velocidad y kilometraje;
  • Equipos industriales: mostrar lecturas de dispositivos como controladores de temperatura y manómetros de presión;
  • Instrumentos de laboratorio: mostrar datos y resultados experimentales;
  • Electrónica de consumo: visualización del control de volumen en equipos de audio.

Conclusión

Las pantallas de 7 segmentos son componentes versátiles que permiten la simple visualización de datos numéricos. Comprender su cableado, métodos de control y aplicaciones puede mejorar significativamente la funcionalidad de sus proyectos, desde simples relojes hasta pantallas complejas. Ya sea que esté utilizando multiplexación, bibliotecas o registros de desplazamiento, hay muchas maneras de controlar las pantallas de 7 segmentos de manera efectiva, cada una adecuada para diferentes requisitos de proyecto.

Suscríbete

Únete a nuestra lista de suscriptores para recibir actualizaciones mensuales del blog, noticias de tecnología y estudios de caso. Nunca enviaremos spam y puedes cancelar tu suscripción en cualquier momento.

Acerca del Autor

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

¿Necesitas ayuda?

Scroll al inicio

Cotización