Pines y aplicaciones del display de 7 segmentos (Ánodo/Cátodo común)

Í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

Al diseñar una PCB o cablear una placa, comprender el estándarPinout de pantalla de siete segmentoses crucial. La mayoría de las pantallas de un solo dígito vienen en un paquete estándar de 10 pines en línea. LosSegmento de pin 7La configuración normalmente coloca 5 pines en la parte superior y 5 en la parte inferior.

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):

Pinout de pantalla común de ánodo de 7 segmentos

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.

este especificoPinout de pantalla de ánodo común de 7 segmentosAsegura que cuando el microcontrolador hunde la corriente (tira el pasador bajo), se completa el circuito y se ilumina el segmento correspondiente.

Pinout de pantalla de segmento de 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.

Preguntas frecuentes (FAQ)

P: ¿Dónde puedo encontrar un diagrama de siete segmentos de pinout estándar?

R: un estándarSegmento de siete pinesEl diagrama mostrará 10 pines. Los pines 3 y 8 suelen ser los terminales comunes (COM), mientras que los pines restantes controlan los segmentos A a G y el punto decimal (DP).

R: No. Si bien ambos comparten el número «7», unPinout transformador de 7 pinesSe refiere a un componente magnético utilizado en fuentes de alimentación y regulación de voltaje. No está relacionado con los segmentos de LED y la lógica de cableado de una pantalla electrónica de 7 segmentos discutida en esta guía.

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.

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.

Comparte

Post Recomendado

¿Necesitas ayuda?

Scroll al inicio

Cotización