Display de 7 segmentos y Arduino

display de 7 segmentos

Un display es una pequeña pantalla con unos segmentos que se iluminan mediante LEDs para mostrar alguna información. Por eso son muy útiles para mostrar algún tipo de dato, como podría ser una cuenta de un contador, el valor recogido por algún sensor en decimal, etc. Como ya sabes, este tipo de display de 7 segmentos puede formar números y letras, así como algunos símbolos. Aunque está bastante limitado.

Existen otros displays de más segmentos que pueden formar símbolos o caracteres alfanuméricos más complejos. También puedes combinar varios de estos displays de 7 segmentos para mostrar más cifras o cantidad de información. De hecho, ya venden módulos con varios de estos displays simples unidos para crear un panel algo más grande, como los módulos que usan cuatro displays de 7 segmentos, etc.

Funcionamiento del display de 7 segmentos y pinout

formar caracteres en display de 7 segmentos

Es bastante simple, se trata de un panel con unas líneas que se iluminan mediante un LED. Dependiendo de las líneas que se iluminen, se puede representar un caracter diferente. Para realizar ese control, se cuenta con 10 pines por cada display de 7 segmentos. Uno para cada segmento, el punto (dp) y también dos comunes como se aprecia en la imagen. Para iluminarlos basta con usar un microcontrolador para enviar voltaje hacia el segmento que se quiera iluminar para componer el caracter que deseas.

Por lo general siempre se representan números, pero también puedes crear algunas letras, aunque no todas. Y echándole un poco de imaginación también algunos símbolos. Esto ya es cuestión de que pienses cómo. Pero si quieres mayor complejidad, busca displays LCD de más segmentos como este otro.

Pinout

Pinout del display de 7 segmentos

Por ejemplo, para formar un “7” puedes iluminar A, B, y C. O para formar una “A” puedes iluminar todos menos dp y D. ¿Sencillo, verdad?

Revisa siempre las hojas de datos del fabricante o datasheets del display que hayas comprado. Puede haber variaciones en algunos casos.

Lo único que debes tener en cuenta es si el display de 7 segmentos que has comprado es de cátodo o de ánodo común. El de cátodo común tiene el pin común conectado a los pines negativos de los LEDs, lo que significa que se controla con un 1 lógico o voltaje alto para iluminar el segmento. Mientras que en el caso del ánodo común, se conectan todos los ánodos de los LEDs presentes a un mismo pin y se controla mediante voltaje bajo o 0. Así sabrás si el microcontrolador de Arduino debe enviar 0 o 1 para activarlo…

Conexión con Arduino

display 7 segmentos y Arduino conectado

Si cuentas con una protoboard, una placa de Arduino, y un display de 7 segmentos para comenzar a probar su uso, se puede conectar fácilmente. Tan solo debes decidir al pin que vas a conectar cada segmento y luego recordarlo para crear el código apropiado. En este caso se ha usado un display de 7 segmentos de cátodo común, por tanto se activa con 1 o HIGH.

Para uno de ánodo común no habría mucha diferencia, tan solo cambiar el pin que hemos conectado a GND a 5v. Y recordar en el código que se activa con LOW.

Puedes hacer varias cosas, como poner directamente el valor de cada segmento en el código para comenzar a hacer experimentos y ver cómo reacciona el display o hacer algo más práctico y hacer que muestre el valor de salida de un contador, o un valor medido por un sensor, etc. En algunos casos necesitarás hacer conversiones al sistema decimal… Un ejemplo de código sencillo para un display de 7 segmentos en Arduino IDE sería:

// Definir el pulsador
#define PULSADOR 10

// Es un array de bits para mostrar diferentes valores en el display de 7 segmentos
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() {
// Iniciar monitor serie
Serial.begin(9600);
for (int i = 2; i < 10; i++)
{
// Configurar los pines en modo salida
pinMode(i, OUTPUT);
}

// Configurar el pin del pulsador como entrada
pinMode(PULSADOR, INPUT);

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

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

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

//Genera un número aleatorio entre 1 y 7
int randomNumber = random(1, 7);

// Se ponen los segmentos en el estado correcto para mostrar el número aleatorio
for (int e = 0; e < 8; e++)
{
digitalWrite(e + 2, numero[randomNumber][e]);
}

delay(500);
}
}

Display 7 segmentos con múltiples dígitos

display-multiple

Para este tipo de display de 7 segmentos pero con múltiples dígitos todo es igual. La única diferencia es que habrá que controlar el dígito en el que queremos imprimir el caracter, ya que básicamente es un display con varios displays de 7 segmentos simples unidos. Lo que hacen los fabricantes es que cada display del que se compone tiene sus propios sus 7 pines para los segmentos coumunes de todos los dígitos, y el común es propio (ánodo o cátodo) es particular para cada dígito.

Así se pude controlar mediante Arduino. Por ejemplo, si quieres activar el segmento F, puedes enviar LOW o HIGH según el tipo de display que sea y se activará ese segmento para todos los dígitos presentes. Pero solo se iluminará uno, el del dígito que hayamos activado el común. De esa forma se controla…

Si estás interesado en este tipo de display, puedes comprarlo en Amazon y otras tiendas especializadas…

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.