- Módulo de pantalla de 7 segmentos y 4 dígitos de 7 segmentos:
- Conexión del módulo de 7 segmentos de 4 dígitos con Raspberry Pi:
- Programando su Raspberry Pi:
- Mostrar el tiempo en 7 segmentos de 4 dígitos usando Raspberry Pi:
Todos sabemos que Raspberry Pi es una maravillosa plataforma de desarrollo basada en microprocesador ARM. Con su alto poder computacional, puede hacer maravillas en manos de estudiantes o aficionados a la electrónica. Todo esto solo puede ser posible si sabemos cómo hacerlo interactuar con el mundo real y analizar los datos a través de algún dispositivo de salida. Hay muchos sensores que pueden detectar ciertos parámetros del mundo en tiempo real y transferirlos a un mundo digital y los analizamos viéndolos en una pantalla LCD o en alguna otra pantalla. Sin embargo, no siempre sería económico utilizar una pantalla LCD con PI para mostrar una pequeña cantidad de datos. Aquí es donde preferimos usar la pantalla LCD alfanumérica de 16x2 o la pantalla de 7 segmentos. Ya hemos aprendido a utilizar una pantalla LCD alfanumérica y una pantalla de un solo segmento de 7 segmentos con Raspberry pi. Hoy vamos aInterfaz Módulo de pantalla de siete segmentos de 4 dígitos con Raspberry Pi y muestra el tiempo sobre él.
Aunque la pantalla LCD alfanumérica de 16x2 es mucho más cómoda que la pantalla de 7 segmentos, hay pocos escenarios en los que una pantalla de 7 segmentos sea más útil que una pantalla LCD. La pantalla LCD tiene el inconveniente de tener un tamaño de carácter bajo y será excesivo para su proyecto si solo planea mostrar algunos valores numéricos. Los 7 segmentos también tienen la ventaja contra condiciones de iluminación deficientes y pueden verse desde ángulos más grandes que una pantalla LCD normal. Entonces, comencemos a conocerlo.
Módulo de pantalla de 7 segmentos y 4 dígitos de 7 segmentos:
La pantalla de 7 segmentos tiene siete segmentos y cada segmento tiene un LED en su interior para mostrar los números iluminando los segmentos correspondientes. Por ejemplo, si desea que el segmento de 7 muestre el número "5", debe iluminar el segmento a, f, g, cyd haciendo que sus pines correspondientes sean altos. Hay dos tipos de pantallas de 7 segmentos: cátodo común y ánodo común, aquí estamos usando la pantalla de siete segmentos de cátodo común. Obtenga más información sobre la pantalla de 7 segmentos aquí.
Ahora sabemos cómo mostrar nuestro carácter numérico deseado en una sola pantalla de 7 segmentos. Pero, es bastante evidente que necesitaríamos más de una pantalla de 7 segmentos para transmitir cualquier información que tenga más de un dígito. Entonces, en este tutorial usaremos un módulo de pantalla de 7 segmentos de 4 dígitos como se muestra a continuación.
Como podemos ver, hay cuatro pantallas de siete segmentos conectadas entre sí. Sabemos que cada módulo de 7 segmentos tendrá 10 pines y para 4 pantallas de siete segmentos habría 40 pines en total y sería agitado para cualquiera soldarlos en una placa de puntos, por lo que recomendaría encarecidamente a cualquiera que compre un módulo. o haga su propia PCB para usar una pantalla de 7 segmentos de 4 dígitos. El esquema de conexión para el mismo se muestra a continuación:
Para comprender cómo funciona el módulo de siete segmentos de 4 dígitos, tenemos que mirar los esquemas anteriores, como se muestra, los pines A de las cuatro pantallas están conectados para reunirse como una A y lo mismo para B, C… hasta DP. Entonces, básicamente, si el gatillo A está activado, entonces las cuatro A deberían subir, ¿verdad?
Pero eso no sucede. Tenemos cuatro pines adicionales de D0 a D3 (D0, D1, D2 y D3) que se pueden usar para controlar qué pantalla de las cuatro debe subir. Por ejemplo: si necesito que mi salida esté presente solo en la segunda pantalla, entonces solo D1 debe hacerse alto mientras se mantienen los otros pines (D0, D2 y D3) tan bajos. Simplemente podemos seleccionar qué pantalla debe activarse usando los pines de D0 a D3 y qué carácter se mostrará usando los pines de A a DP.
Conexión del módulo de 7 segmentos de 4 dígitos con Raspberry Pi:
Veamos cómo, cómo podemos conectar este módulo de 7 segmentos de 4 dígitos con nuestra Raspberry Pi. El módulo de 7 segmentos tiene 16 pines como se muestra a continuación. Es posible que su módulo tenga menos, pero no se preocupe, seguro que aún tendrá lo siguiente
- Pines de 7 u 8 segmentos (aquí pines a partir de 1 a 8)
- Pin de tierra (aquí pin 11)
- Pines de 4 dígitos (aquí pines 13 a 16)
A continuación se muestra el esquema del reloj digital raspberry pi conectando el módulo de pantalla de siete segmentos de 4 dígitos con Raspberry Pi:
La siguiente tabla también le ayudará a realizar las conexiones y verificar que sea según los esquemas que se muestran arriba.
S. No |
Número GPIO Rsp Pi |
Número PIN Rsp Pi |
Nombre de 7 segmentos |
Número de pin de 7 segmentos (aquí en este módulo) |
1 |
GPIO 26 |
PIN 37 |
Segmentar a |
1 |
2 |
GPIO 19 |
PIN 35 |
Segmento b |
2 |
3 |
GPIO 13 |
PIN 33 |
Segmento c |
3 |
4 |
GPIO 6 |
PIN 31 |
Segmento d |
4 |
5 |
GPIO 5 |
PIN 29 |
Segmento e |
5 |
6 |
GPIO 11 |
PIN 23 |
Segmento f |
6 |
7 |
GPIO 9 |
PIN 21 |
Segmento g |
7 |
8 |
GPIO 10 |
PIN 19 |
Segmento DP |
8 |
9 |
GPIO 7 |
PIN 26 |
Dígito 1 |
13 |
10 |
GPIO 8 |
PIN 24 |
Dígito 2 |
14 |
11 |
GPIO 25 |
PIN 22 |
Dígito 3 |
15 |
12 |
GPIO 24 |
PIN 18 |
Dígito 4 |
dieciséis |
13 |
Suelo |
Suelo |
Suelo |
11 |
Identifique los pines en su módulo y estará listo para continuar con las conexiones. Detectar los pines GPIO en Raspberry pi puede ser una tarea un poco desafiante, así que te he proporcionado esta imagen para los pines GPIO.
Programando su Raspberry Pi:
Aquí estamos usando el lenguaje de programación Python para programar RPi. Hay muchas formas de programar su Raspberry Pi. En este tutorial estamos usando el IDE de Python 3, ya que es el más utilizado. El programa completo de Python se proporciona al final de este tutorial. Obtenga más información sobre el programa y ejecute código en Raspberry Pi aquí.
Hablaremos de algunos comandos que usaremos en el programa PYHTON para este proyecto, Primero vamos a importar el archivo GPIO de la biblioteca, la siguiente función nos permite programar los pines GPIO de PI. También estamos cambiando el nombre de “GPIO” a “IO”, por lo que en el programa siempre que queramos referirnos a los pines GPIO usaremos la palabra 'IO'. También hemos importado la hora y la fecha y hora para leer el valor del tiempo de Rsp Pi.
importar RPi.GPIO como hora de importación GPIO, fecha y hora
A veces, cuando los pines GPIO, que estamos tratando de usar, pueden estar realizando otras funciones. En ese caso, recibiremos advertencias mientras ejecutamos el programa. El siguiente comando le dice al PI que ignore las advertencias y continúe con el programa.
IO.setwarnings (falso)
Podemos referir los pines GPIO de PI, ya sea por el número de pin a bordo o por su número de función. Como 'PIN 29' en la placa es 'GPIO5'. Entonces decimos aquí o vamos a representar el pin aquí por '29' o '5'. GPIO.BCM significa que representaremos el uso de 5 para el pin 29 de GPIO5.
IO.setmode (GPIO.BCM)
Como siempre, debemos comenzar por inicializar los pines, aquí tanto los pines de segmento como los pines de dígitos son pines de salida. Para fines de programación, formamos matrices para pines de segmento y los inicializamos en '0' después de declararlos como GPIO.OUT
segmento8 = (26,19,13,6,5,11,9,10) para el segmento en el segmento8: GPIO.setup (segmento, GPIO.OUT) GPIO.output (segmento, 0)
De manera similar, para los pines de dígitos, los declaramos como pines de salida y los hacemos '0' por defecto
#Digit 1 GPIO.setup (7, GPIO.OUT) GPIO.output (7, 0) #Digit 2 GPIO.setup (8, GPIO.OUT) GPIO.output (8, 0) #Off inicialmente #Digit 3 GPIO.setup (25, GPIO.OUT) GPIO.output (25, 0) #Off inicialmente #Digit 4 GPIO.setup (24, GPIO.OUT) GPIO.output (24, 0) #Off inicialmente
Tenemos que formar matrices para mostrar cada número en una pantalla de siete segmentos. Para mostrar un número, tenemos que controlar todos los pines de 7 segmentos (excluidos los pines de puntos), es decir, deben estar apagados o encendidos. Por ejemplo para mostrar el número 5 tenemos que hacer la siguiente disposición
S. No |
Número GPIO Rsp Pi |
Nombre de 7 segmentos |
Estado para mostrar '5'. (0-> APAGADO, 1-> ENCENDIDO) |
1 |
GPIO 26 |
Segmentar a |
1 |
2 |
GPIO 19 |
Segmento b |
1 |
3 |
GPIO 13 |
Segmento c |
0 |
4 |
GPIO 6 |
Segmento d |
1 |
5 |
GPIO 5 |
Segmento e |
1 |
6 |
GPIO 11 |
Segmento f |
0 |
7 |
GPIO 9 |
Segmento g |
1 |
De manera similar, tenemos un número de secuencia para todos los números y alfabetos. Puede escribir por su cuenta o utilizar la tabla a continuación.
Con estos datos podemos formar las matrices para cada número en nuestro programa Python como se muestra a continuación.
nulo = cero = uno = dos = tres = cuatro = cinco = seis = siete = ocho = nueve =
Si sigue el programa, habrá una función para mostrar cada carácter en nuestra pantalla de 7 segmentos, pero saltemos esto por ahora y entremos en el ciclo while infinito. Donde leer el tiempo presente de Raspberry Pi y dividir el valor del tiempo entre cuatro variables. Por ejemplo, si el tiempo es 10.45, entonces la variable h1 tendrá 1, h2 tendrá 0, m1 tendrá 4va y m2 tendrá 5.
now = datetime.datetime.now () hora = ahora.hora minuto = ahora.minuto h1 = hora / 10 h2 = hora% 10 m1 = minuto / 10 m2 = minuto% 10 imprimir (h1, h2, m1, m2)
Tenemos que mostrar estos cuatro valores variables en nuestros cuatro dígitos respectivamente. Para escribir un valor de variable en un dígito, podemos usar las siguientes líneas. Aquí estamos en la pantalla en el dígito 1 haciéndolo alto, luego se llamará a la función print_segment (variable) para mostrar el valor en variable en la pantalla de segmento. Quizás se pregunte por qué tenemos un retraso después de eso y por qué desactivamos este dígito después de esto.
GPIO.output (7, 1) #Activar el dígito uno print_segment (h1) #Imprimir h1 en el tiempo del segmento.sleep (delay_time) GPIO.output (7, 0) #Apagar el dígito uno
La razón es que, como sabemos, podemos mostrar solo un dígito a la vez, pero tenemos cuatro dígitos para mostrar y solo si se muestran los cuatro dígitos, el número completo de cuatro dígitos será visible para el usuario.
Entonces, ¿cómo se muestran los 4 dígitos al mismo tiempo ?
Por suerte para nosotros, nuestra MPU es mucho más rápida que un ojo humano, así que lo que realmente hacemos: mostramos un dígito a la vez, pero lo hacemos muy rápido como se muestra arriba.
Seleccionamos la visualización de un dígito y esperamos 2ms (delay_time variable) para que la MPU y el segmento 7 puedan procesarlo y luego apagamos ese dígito y pasamos al siguiente dígito y hacemos lo mismo hasta que alcancemos el último dígito. Este retraso de 2 ms no puede ser observado por el ojo humano y los cuatro dígitos parecen estar ENCENDIDOS al mismo tiempo.
Lo último que hay que aprender es saber cómo funciona la función print_segment (variable) . Dentro de esta función usamos las matrices que hemos declarado hasta ahora. Entonces, cualquier variable que enviemos a esta función debe tener un valor entre (0-9), el carácter de la variable recibirá este valor y lo comparará con el valor real. Aquí la variable se compara con '1'. De manera similar, comparamos con todos los números del 0 al 9. Si coincide, usamos las matrices y asignamos cada valor a sus respectivos pines de segmento como se muestra a continuación.
def print_segment (charector): if charector == 1: for i in range (7): GPIO.output (segmento8, uno)
Mostrar el tiempo en 7 segmentos de 4 dígitos usando Raspberry Pi:
Utilice el esquema y el código que se proporcionan aquí para realizar las conexiones y programar su raspberry pi en consecuencia. Una vez hecho todo, simplemente inicie el programa y debería encontrar la hora actual que se muestra en la pantalla de siete segmentos. Pero, hay algunas cosas que debe verificar antes de esta
- Asegúrese de haber configurado su Raspberry Pi con la hora actual por si acaso se está ejecutando sin conexión.
- Encienda su Raspberry pi con un adaptador y no con su computadora portátil / computadora porque la cantidad de corriente consumida por la pantalla de 7 segmentos es alta y su puerto USB no puede generarla.
Si todo funciona como se esperaba, debería encontrar algo como esto a continuación.
El funcionamiento completo de este reloj Raspberry Pi también se puede verificar en el video que se muestra a continuación. Espero que les haya gustado el proyecto y hayan disfrutado construyendo uno. Déjeme saber lo que piensa o si necesita ayuda.