Probando display 7 segmentos con GPIO y Raspberry Pi

Display 7 segmentos con Raspberry Pi y GPIO

A través de este tutorial veremos cómo trabajar con el display de siete segmentos para dibujar un número, usando la Raspberry Pi y comandos gpio, sin ningún otro lenguaje.

Más adelante veremos cómo usar un lenguaje de programación, pero me gusta comenzar con las bases.

Display de 7 segmentos: ánodo y cátodo

Es importante recordar que hay 2 tipos de displays, unos son de ánodo común y otros son de cátodo común.

Si es de ánodo común, entonces debes escribir un 0 sobre la entrada que quieres encender. Y en caso de que sea de cátodo común debes escribir un 1 sobre la entrada.

Además, para ánodo común debes conectar el común a 5 volts, y para cátodo común debes conectar el común a tierra.

Para guiarme siempre me ha servido la siguiente imagen (que no es mía):

Puertos GPIO

Me voy a referir a cada puerto por su número GPIO, y no por su número consecutivo.  En la siguiente imagen puedes ver que el GPIO 25 es el puerto número 22; pues en los comandos me referiré al GPIO, en este caso sería el 25.

El circuito

Vamos a conectar un GPIO a cada letra del display. La relación queda así:

Mis displays son de cátodo común así que el común va conectado a GND. Si, en tu caso, son de ánodo común, entonces el común iría al 5 v.

No olvides que debes usar una resistencia  (de 220 o 47 ohm) por cada letra del display. Al final el circuito queda así:

Display 7 Segmentos Con Raspberry
Display 7 Segmentos Con Raspberry

¿Cómo encender cada letra del display?

Para encender y apagar vamos a usar comandos gpio, por ejemplo, para encender la letra A que está conectada al pin GPIO 15 primero lo ponemos en modo out:

gpio -g mode 15 out

Más tarde, le escribimos un 1 (esto en caso de que tu display sea de cátodo común) o un 0 si es de ánodo común, así:

gpio -g write 15 1

De nuevo lo digo, yo le escribo un 1 porque mi display es de cátodo común.

Así hay que hacer por cada letra que hay. Pero también podemos crear un script

Script para simplificar cosas

Podemos usar bash como lenguaje para trabajar con los display de 7 segmentos y la Raspberry Pi. En mi caso he escrito este script:

Comenzamos definiendo las letras y su respectivo valor en el GPIO. En el primer ciclo establecemos que ese número de pin será de salida, apagamos a todas (esto para “reiniciar”)

Después podemos encender solo algunas de ellas. En el ejemplo puedes ver cómo se dibuja el número 6 estableciendo en 1 el valor de A,C,D,E,F,G.

En el caso de B no se enciende porque para que el 6 se dibuje, el B debe estar apagado, y se apaga en el primer ciclo del código.

Nota: recuerda que yo uso un 1 porque es de cátodo común.

Display 7 segmentos con Raspberry

Si ejecutas el script que mencioné, o escribes cada comando por separado, se dibujará el número en el display. Yo ejecuté el script con bash leds.sh así:

Script bash para encender display de 7 segmentos con Raspberry y GPIO
Script bash para encender display de 7 segmentos con Raspberry y GPIO

Con el siguiente resultado:

Probando display 7 segmentos con GPIO y Raspberry Pi
Probando display 7 segmentos con GPIO y Raspberry Pi

Así puedes hacer cualquier número; comienza definiendo cuáles debes encender y apagar para dibujarlo. Además, también puedes dibujar letras o cualquier cosa que se te ocurra y sea posible para el display.

Ahora que menciono esto, recuerdo que hice un tutorial de leds con Arduino.

Te invito a leer más sobre Raspberry Pi en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario