Saltar al contenido
Blog Arduino, LabVIEW y Electrónica

Display de 7 Segmentos

¿Qué es un display de 7 segmentos?

Un display de 7 segmentos es un componente que se utiliza para la representación de caracteres, los cuales son normalmente números, en muchos dispositivos electrónicos. Esta diseñado por 8 leds interconectados entre sí. Aunque visualmente se vea distinto a un led común, internamente están constituido por una serie de leds que están ubicados de la manera correcta para formar un numero 8. Son bastante comerciales debido a su gran simplicidad. Estos segmentos vienen en una diversa gama de colores, aunque el más popular y vendido es el color rojo debido a que proporciona una mayor facilidad de visualización.

Display de 7 segmentos

¿Cuáles son las partes de un display de 7 segmentos?

Su nombre es referente a los 7 segmentos debido a los siete diodos leds principales y al extra el cual representa el punto. La carcasa es la parte que los cubre además de contar con 10 terminales:

  • Dos terminales de alimentación, 2 de Vcd o 2 de Gnd
  • Una para la visualización del punto
  • Siete para representar los números, esto será de acuerdo la combinación que se coloque. Estos números están representados por una letra del abecedario desde la “A” hasta la letra “G”.

Es importante saber la configuración de cada Led para combinarlo y poder representar los números o caracteres. Como se comentaba anteriormente, estos números están representados por una letra del abecedario de la “A” a la “G” y se montan de manera que permiten activar cada segmento separado, formando así cualquier digito numérico.

Los leds pueden excitarse directamente con puertas lógicas, debido a que los leds trabajan a baja tensión y con pequeñas potencias. Usualmente se utiliza un codificador, que cuando una pata de la entrada del codificador esta activada se activan las salidas correspondientes, mostrando el numero deseado.

Tipos de display de 7 segmentos

Ánodo Común: este tipo de Display todos los ánodos de los leds o segmentos se encuentran unidos por una patilla común, la cual debe estar conectada a potencial positivo. Se agrega potencial negativo a la patilla correspondiente a través de una resistencia que regule el paso de la corriente para el encendido de cada segmento.

Cátodo Común: En este tipo de Display los cátodos de los Leds o segmentos están unidos a una patilla común la cual se debe conectar al potencial negativo.  Se agrega potencial positivo por correspondiente a través de una resistencia que regule el paso de la corriente para el encendido de cada segmento

A pesar de tener muchos años y que empiezan a ser remplazadas por pantallas graficas de pixeles, el display de 7 segmentos sigue siendo una opción. Esto se debe a su poder lumínico y que son viables en condiciones ambientales adversas, gracias a su visualización a distancia, facilidad de implementación, bajo costo y robustez.

Tipos de Display de 7 segmentos

Aplicaciones

Se puede utilizar en múltiples proyectos que requieran un conteo numérico o para determinar una fase específica, además que se pueden utilizar varios displays en conjunto.

Práctica con Display de 7 Segmentos

Te mostraremos un circuito de prueba donde el display generará un número de manera aleatoria. Necesitamos:

Diagrama de conexión

 

// Constantes pines
#define PULSADOR 10

// Array multidimensional para mostrar los números
byte  numero[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, 0, 0, 1, 1, 0 } // 9
};

void setup() {
  // Iniciamos el monitor serie
  Serial.begin(9600);

  // Ponemos los pines de los segmentos en modo OUTPUT (salida)
  for (int i = 2; i < 10; i++)
  {
    pinMode(i, OUTPUT);
  }

  // Ponemos el pin del pulsador en modo INPUT (entradda)
  pinMode(PULSADOR, INPUT);

  //Establecemos la semilla fija
  randomSeed(analogRead(A0));
}

void loop() {
  // Leemos el valor del pulsador
  int valor = digitalRead(PULSADOR);

  // Si está pulsado
  if (valor == HIGH)
  {

    //Genera un numero aleatorio entre 1 y 6
    int randomNumber = random(1, 7);

    // Ponemos los pines en estado correcto para mostrar el número randomNumber
    for (int e = 0; e < 8; e++)
    {
      digitalWrite(e + 3, numero[randomNumber][e]);
    }

    delay(500);
  }
}