Está en la página 1de 12

Leccin 21: Control de displays de 7 segmentos

En la leccin de hoy vamos a abordar la utilizacin de un display de 7 segmentos desde nuestro


ARDUINO .
El display de 7 segmentos es un dispositivo de salida que se utiliza para la representacion de
valores numricos. Su nombre proviene de su construccin basada en la utilizacin de siete leds
con unas determinadas formas y conexiones internas, estratgicamente ubicados de tal forma
que forman el nmero '8' y, opcionalmente, con un octavo led para el punto decimal.

Cada uno de los segmentos que forman la pantalla estn marcados con las ocho primeras letras
del alfabeto ( de la 'a' a la 'g'), y se montan de forma que permiten activar cada segmento por
separado, consiguiendo formar cualquier dgito numrico. En el caso de que incluyan el punto
decimal, ste diodo se nombra como DP.

Estos dispositivos de pueden encontar en dos configuraciones posibles, segn los pines de los
leds que tengan unidos: nodo comn o ctodo comn.
Para comprender el funcionamiento de un display de siete segmentos de ctodo comn, vamos a
utilizar el siguiente montaje:

Puesto que se trata de un dispositivo con el ctodo comn, hemos puesto a tierra el pin comn.
A cada uno de los otros pines les hemos conectado una resistencia de 220 ohms en serie con un
interruptor y conectado al potencial de +5V. Actuando sobre cada uno de los pulsadores
podemos ver cmo se enciende el segmento correspondiente. En la imagen siguiente vemos
como se ilumina el segmento 'e' al cerrar el interruptor correspondiente.

Cmo es lgico, si cerramos los interruptores correspondientes a los segmentos a,b,c,d y g


tendremos representado el nmero 3.

Y de la misma forma, se pueden representar el resto de nmeros.


Cuando utilicemos un dispositivo de nodo comn, el funcionamiento ser similar, con la nica
excepcin de que tendremos que alimentar el pin comn con los +5V y realizar el montaje de
resistencias e interruptores unidos a tierra.

El principal inconveniente de la utilizacin de los displays de 7 segmentos es que necesitan un


gran nmero de lneas para su gobierno. Un control directo de un display de siete segmentos
desde nuestro ARDUINO supondra utilizar siete pines (ocho si contamos el punto decimal) para
gobernar un solo dispositivo.
Con una sencilla operacin de multiplicacin podemos comprobar que es imposible utilizar cuatro
dsplays de 7 segmentos desde nuestro ARDUINO porque necesitaramos 28 pines.

Por eso, la solucin habitual es utilizar integrados que nos ayudan a reducir el nmero de pines
utilizados de nuestro ARDUINO para gobernar los displays de 7 segmentos. En el siguiente
montaje podemos ver la utilizacin de un integrado 4511 para gobernar un display del tipo
ctodo comn utilizando slo cuatro pines.

El 4511 es un decodificador BCD a 7-Segmentos de bajo coste (existen versiones que cuestan
unos pocos cntimos de euro). Recibe la informacin del dgito a mostrar en codificacin octal (4
bits) a travs de los cuatros pines denominados A,B,C y D. Gobierna los siete segmentos del
display por medio de los siete pines de salida marcados como QA a QG.
El pin rotulado LT (lamp test) sirve para hacer una prueba de lmpara, es decir, que si
conectamos este pin a tierra se iluminan los 7 segmentos y podemos comprobar que todos
funcionan correctamente. Para un funcionamiento normal lo debemos conectar a +5V.
El pin rotulado BL (blank) sirve para inhabilitar el display y que se queden todos los segmentos
apagados. Para inhabilitar el display debemos conectarlo a tierra y para que funcione
normalmente conectarlo a +5V.
Por ltimo, el pin rotulado LE (latch enable) permite congelar el display mostrando un
determinado valor escrito en los pines de entrada del integrado. Su uso se realiza con la

siguiente secuencia de trabajo. Ponemos el pin LE a tierra, utilizamos los pines A, B, C y D para
indicar el nmero a mostrar en cdigo octal y ponemos el pin LE a +5V. Mientras el pin LE est
conectado a +5V se ignorarn todos los cambios que se produzcan en los pines A, B, C y D
manteniendo el mismo valor mostrado en el display.
Ms tarde veremos un ejemplo de uso de este pin para gobernar ms de un display desde
nuestro ARDUINO utilizando el menor nmero de pines posible.
Por ahora, vamos a conectar nuestro integrado 4511 como se mostraba en la ltima figura.
El cdigo que ejecutaremos en nuestro ARDUINO para mostrar un contador incremental de 0 a 9
con un nuevo incremento cada segundo se muestra a continuacin.

El programa utiliza las funciones iniTemp() y chkTmp() que ya vimos en lecciones anteriores y
que sirven para controlar la ejecucin de las lneas de cdigo convenientes cada segundo.
Utilizamos una matriz llamada digitos, de 10 x 4 posiciones, para codificar las diez cifras en octal
y facilitar la activacin y desactivacin de las cuatro salidas que utilizamos para controlar el
integrado 4511. Usamos la variable Contador para almacenar el nmero a mostrar en cada
nuevo ciclo.

Al combinar el uso de la matriz digitos con la variable contador, resulta sencillo escribir el cdigo
necesario para mostrar la cifra indicada en cada bucle activando las salidas correspondientes
para cada nuevo nmero a mostrar con unas sencillas instrucciones if..else por cada una de los
cuatro pines de entrada del integrado 4511.
El resultado es un contador incremental en el display de siete segmentos.

Veamos ahora como podemos controlar cuatro displays con slo ocho pines de nuestro ARDUINO
utilizando el pin LE de cada integrado 4511. El esquema de conexionado de los cuatro displays
se muestra en la siguiente imagen.

El cdigo de nuestro nuevo programa se muestra a continuacin.

El funcionamiento es muy similar al cdigo que ya vimos para controlar un nico display.
La diferencia principal radica en que utilizamos cuatro pines para controlar el pin LE de cada uno
de los integrados 4511 y que nuestra variable contador ahora se ha convertido en una matriz de
cuatro posiciones para contener ahora los cuatro dgitos de nuestro contador.
Con la utilizancin de los pines LE podemos compartir los mismos cuatro pines de salida de
nuestro ARDUINO para enviar la informacin del dgito que queremos mostrar en cada uno de los
cuatro displays.
Como se puede observar la tcnica consiste en activar el pin LE del integrado 4511 que gobierna
el display que nos interesa excitar, escribir el cdigo octal de la cifra a mostrar en ese display y
volver a desactivar el pin LE. Y repetir esta operacin para cada uno de los otros tres conjuntos
de integrado y display que utilizamos para cada uno de los tres dgitos restantes.
De esta manera cada integrado 4511 se encarga de mantener el display que controla con el
digto que deseamos mostrar mientras utilizamos los mismos pines de salida para ir enviando la
informacin al resto de los integrados.
Gracias a esta tcnica, con slo ocho pines podemos gobernar cuatro displays de siete
segmentos. Adems este cdigo nos otorga una ventaja adicional. El tiempo de carga de trabajo
de nuestro ARDUINO es muy limitado, puesto que con ayuda del uso de las funciones
temporales, slamente tenemos ocupado al microcontralador unos pocos milisegundos cada
ciclo de escritura. De esta manera podemos utilizar displays de siete segmentos para mostrar
informacin del proceso controlado por nuestro ARDUINO dejando a ste libre para realizar otras
tareas de control.

El programa es un contador incremental con una frecuencia de un segundo empezando en el


nmero 987 (el nmero desde el que comienza la cuenta se configura en las lneas del cdigo 42
a 45).

Como siempre, esperamos que esta leccin os haya resultado interesante y que encontris
aplicaciones para el uso de displays de 7 segmentos dentro de vuestros proyectos.

También podría gustarte