Imprimir
Categoría: Laboratorio PI
Visto: 856

La posibilidad de utilizar la tarjeta Raspberry Pi como inagotable fuente para realizar prácticas – tanto software como hardware – nos lleva hoy a mostraros una interesante práctica de electrónica digital que basa su operativa en la Raspberry Pi. En concreto, vamos a conectar a la misma un DISPLAY de 7 segmentos y a explicar cómo se maneja este desde la Raspi.

 

Queda claro que los más versados en electrónica digital ya conocerán la manera de hacerlo, pero no obstante los que están empezando a ampliar conocimientos hardware y software agradecerán seguramente estas explicaciones. Espero que a todos os sea de utilidad.

Lo que vamos a comentar a continuación puede resumirse en:

* Teoría sobre la operativa de los DISPLAY de 7 segmentos.
* Posibilidades de control del DISPLAY de 7 segmentos.
* Control del DISPLAY en modo directo (Hardware/Software)
* Control del DISPLAY vía chip BCD/7 (Hardware/Software)

Vamos allá …

Teoría sobre la operativa de los DISPLAY de 7 segmentos.

La forma en que manejamos un display de 7 segmentos es controlando los diodos LED que constituyen cada uno de ellos. Así que las cifras que en ellos aparecen responden a un conexionado interno de los 7 segmentos (8 en realidad si tenemos en cuenta el punto digital [DP]) y que – según modelo y fabricante – puede responder a un conexionado en ánodo común o en cátodo común. En nuestro montaje nos hemos decantado por un DISPLAY 7s de tipo cátodo común. Su conexionado interno sería algo como esto:

Las conexiones con un diodo LED deben incluir una resistencia limitadora. En nuestro caso hemos optado por un array de resistencias para no tener que conectar las 8 resistencias de forma independiente.

Cada resistencia utilizada tiene un valor de 330 ohmios, lo que limitará de forma adecuada el consumo de las patillas utilizadas (puerto GPIO de la Raspberry Pi). El encapsulado del array coincide con el formato (DIL) de un chip típico, aunque internamente su distribución es esta:

Posibilidades de control del DISPLAY de 7 segmentos.

Los segmentos del DISPLAY suelen responder a una nomenclatura como esta:

El DISPLAY de 7 segmentos utilizado en esta práctica responde al siguiente patillaje y distribución de segmentos (no hemos de olvidar el cátodo [K] común, el cual esta presente en las patillas 3 y 8 y que están unidas internamente) :

Cuando utilicemos las patillas del puerto GPIO de nuestra Raspberry para el control del DISPLAY 7s tenemos 2 opciones posibles, por un lado podemos utilizar 8 patillas en modo salida y gobernar los 7+1 segmentos del DISPLAY, o bien utilizar un chip decodificador BCD a 7 segmentos y ahorrarnos unas patillas, ya que el control del mismo precisa de solo 4 salidas digitales.

La primera opción añade la ventaja de que no estamos anclados a las 10 (1 .. 0) cifras tradicionales, sino que podremos incluso “crear” nuestras propias visualizaciones con tal solo activar vía software los segmentos adecuados. Además, al controlar el punto digital (DP) podemos efectuar alguna indicación alternativa mediante el mismo.

Si por el contrario usamos el chip decodificador (4511) tendremos que conformarnos estrictamente con la visualización de las 10 cifras y, además, no tendremos el control sobre el LED-DP. Pero eso si, ahorraremos patillas al puerto GPIO.

Vamos a ver las dos formas de implementar el circuito.

Control del DISPLAY en modo directo (Hardware/Software)

Los materiales utilizados para el montaje son

MATERIALES UTILIZADOS

 

 

El esquema de conexionado del DISPLAY directamente al puerto GPIO de la Raspberry ( sin olvidarnos de las consabidas resistencias limitadoras ) responde a este esquema:

Una vez conectado y revisado el circuito podemos probarlo mediante el programa Python que aquí os proponemos (y que puede descargarse al final de esta entrada). Para su puesta en marcha hemos de tener en cuenta:

Las librerías (python) para el control del puerto GPIO vienen ya pre-instaladas en el sistema operativo Raspbian. Conviene, no obstante, estar actualizado a la última versión (Wheezy).

Este programa puede copiarse tal como está y guardarse en un fichero llamado pi7segmentos.py en nuestra Raspberry
Pi.

Para ponerlo en marcha hemos de seguir cuidadosamente estos pasos:

(1) Tener el sistema operativo Raspbian Wheezy instalado en nuestra Raspberry Pi.
(2) Efectuar correctamente el conexionado del circuito a nuestra Raspberry Pi.
(3) Vamos al directorio del programa y damos al fichero pi7segmentos.py permisos de ejecución con

sudo chmod 777 pi7segmentos.py

(5) En un terminal, desde el directorio del programa, ejecutamos (IMPORTANTE : como root)

sudo python pi7segmentos.py

PROGRAMA EJEMPLO (pi7segmentos.py)

 

Control del DISPLAY vía chip BCD/7 (Hardware/Software)

Los materiales utilizados para el montaje son

MATERIALES UTILIZADOS

 

 

El esquema de conexionado del DISPLAY al puerto GPIO de la Raspberry vía chip BCD/7 (4511) responde a este esquema:

También, una vez conectado y revisado podremos probarlo mediante el programa Python propuesto (también disponible al final de esta entrada). La forma de ponerlo en marcha es similar a lo comentado para el software anterior.

Tendremos un fichero llamado pi4511.py un directorio de nuestra Raspberry
Pi, y para ponerlo en marcha hacemos de nuevo:

(1) Tener el sistema operativo Raspbian Wheezy instalado en nuestra Raspberry Pi.
(2) Efectuamos correctamente el conexionado del circuito a nuestra Raspberry Pi.
(3) Vamos al directorio del programa y damos al fichero pi4511.py permisos de ejecución con

sudo chmod 777 pi4511.py

(5) En un terminal, desde el directorio del programa, ejecutamos (IMPORTANTE : como root)

sudo python pi4511.py

PROGRAMA EJEMPLO (pi4511.py)