Display De 7 Segmentos

Objetivos

En este tema aprenderemos a conectar y desplegar una secuencia de números en nuestro Display de 7 segmentos de ánodo común.

Materiales

  (1) x Placa Arduino
  (1) x Protoboard
  (1) x Registro De Turnos 74HC595
  (1) x Pantalla de 7 segmentos
  (8) x Resistencia de 220 Ohm
  (x) x M M cables (cables de macho a macho)

Introducción a los Componentes

Display De 7 Segmentos

Cuando creamos un proyecto con Arduino, normalmente mostramos los datos a través del monitor serie. Es una manera rápida de poder comprobar los valores de variables y entradas, tanto digitales como analógicas.

Existen diferentes interfaces de hardware que permiten que las máquinas se comuniquen con nosotros. Una de ellas es el display 7 segmentos, un componente muy típico.

Un display 7 segmentos es un componente que tiene 7 segementos LEDs que se encienden y se apagan, más un LED que hará de punto. Este punto nos indica cómo hay que colocar el display, y siempre irá hacia abajo.

Por lo tanto, debemos trabajar como si tuviéramos 7 LEDs conectados a nuestro Arduino.

Los displays de siete segmentos se emplean ampliamente en relojes digitales, medidores electrónicos, calculadoras básicas, pantallas de electrodomésticos, coches, y muchos otros dispositivos que muestran información numérica.

En la siguiente imagen mostramos el diagrama de pines del display.

Tipos de Registro De Turnos

Existen dos tipos diferentes de displays de 7 segmentos:

 - De Ánodo Común: Todos los ánodos del display están conectados a un pin común, generalmente la fuente de alimentación, y los LED se controlan mediante los cátodos con la conexión a tierra encendida y la potencia pagada.

 - De Cátodo Común: Todos los cátodos están conectados a un pin común, en este caso generalmente la conexión a tierra, y los LED los controla el estado de los ánodos con la conexión a tierra apagada y la potencia encendida.

Por consiguiente, un display de siete segmentos más punto decimal solo requiere nueve pines, aunque los productos comerciales generalmente contienen más pines para corresponderse con el estándar industrial de distribución de pines.

Esquemas de Conexión

Esquema Eléctrico

Diagrama Ilustrativo

Imagen de Ejemplo

Código

Una vez efectuado todo el cableado, descargaremos el script del siguiente enlace y lo cargaremos como hemos aprendido.

En el ejemplo veremos como iremos escribiendo los números del 1 al 9 y el 0.

Entendiendo el Código

La base del ejemplo será el ejercicio del tema 19 del registro de turnos.

La diferencia es que en este ejemplo haremos una nueva función que escribirá el número dependiendo de los pines que se le indiquen que tiene que encender.

void EscribeNumero(int pin_0, int pin_1, int pin_2, int pin_4, int pin_5, int pin_6, int pin_7)


A esta función la llamaremos "EscribeNumero" y tendrá como parámetros los 7 pines del display.

A continuación, evaluaremos cada uno de los pines a encender y si el valor del parámetro es 1, indicará que hay que encenderlo

if (pin_0 == 1)
{
 led = 0;
 bitSet(leds, led);
}


Después actualizaremos nuestra variable "leds" con los LEDs a encender y llamaremos a nuestra función "ActualizarRegistroTurnos".

bitSet(leds, led);
ActualizarRegistroTurnos();

En la función "loop", lo que tendremos será la llamada a "EscribeNumero" con los segmentos a encender para escribir cada uno de los números.

Después haremos una espera de 1 segundo para que se vea bien el número y posteriormente apagaremos nuestro display para poder escribir el siguiente número.

EscribeNumero(0,0,1,1,0,0,0);
delay (1000);
leds = 0;
ActualizarRegistroTurnos();


Repetiremos esta operación por cada número que queramos escribir.

Retos

Reto 1

Ya sabemos como escribir números en nuestro display de 7 segmentos con el registro de turnos. Ahora vamos a implementar un dado electrónico.

Para ello, añadiremos a nuestro circuito un botón para lanzar el dado y cada vez que lo presionemos, nos escribirá un número de forma aleatoria.

Ejemplo de Solución

Volver al índice

Fun Tech Academy - Calle Alcobendas, 23 Leganés 28914 Madrid - www.funtech.academy