Nota
¡Hola! Bienvenido a la Comunidad de Entusiastas de Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook. Profundiza en el mundo de Raspberry Pi, Arduino y ESP32 junto a otros apasionados.
¿Por qué unirte?
Soporte Experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances Exclusivos: Obtén acceso anticipado a anuncios de nuevos productos y adelantos exclusivos.
Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones y Sorteos Festivos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? ¡Haz clic en [Aquí] y únete hoy mismo!
5.2 Visualización de Números
El display de 7 segmentos se puede encontrar en muchos dispositivos cotidianos. Por ejemplo, en un aire acondicionado, se usa para mostrar la temperatura; en un indicador de tráfico, para mostrar el temporizador.
El display de 7 segmentos es, esencialmente, un dispositivo formado por 8 LEDs: 7 de ellos forman una figura con forma de «8» y un LED adicional más pequeño actúa como punto decimal. Estos LEDs están etiquetados como a, b, c, d, e, f, g y dp. Tienen sus propios pines de ánodo y comparten el cátodo. Sus ubicaciones están ilustradas en la figura a continuación.
Esto significa que necesita ser controlado por 8 señales digitales simultáneamente para funcionar completamente, y el 74HC595 es capaz de manejarlo.
Componentes Requeridos
En este proyecto, necesitaremos los siguientes componentes.
Es bastante conveniente comprar un kit completo; aquí tienes el enlace:
Nombre |
ELEMENTOS EN ESTE KIT |
ENLACE |
|---|---|---|
Kit Kepler |
450+ |
También puedes comprarlos por separado en los enlaces a continuación.
N.º |
COMPONENTE |
CANTIDAD |
ENLACE |
|---|---|---|---|
1 |
1 |
||
2 |
Cable Micro USB |
1 |
|
3 |
1 |
||
4 |
Varios |
||
5 |
1 (220Ω) |
||
6 |
1 |
||
7 |
1 |
Esquema
Aquí, el principio de cableado es básicamente el mismo que en 5.1 Microchip - 74HC595, la única diferencia es que Q0-Q7 están conectados a los pines a ~ g del display de 7 segmentos.
Display de Segmentos LED |
|
|---|---|
Q0 |
a |
Q1 |
b |
Q2 |
c |
Q3 |
d |
Q4 |
e |
Q5 |
f |
Q6 |
g |
Q7 |
dp |
Cableado
Código
Nota
Abre el archivo
5.2_number_display.pyen la rutakepler-kit-main/micropythono copia este código en Thonny, luego haz clic en «Run Current Script» o presiona F5 para ejecutarlo.No olvides seleccionar el intérprete «MicroPython (Raspberry Pi Pico)» en la esquina inferior derecha.
Para tutoriales detallados, consulta Abrir y ejecutar código directamente.
import machine
import time
SEGCODE = [0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f]
sdi = machine.Pin(0,machine.Pin.OUT)
rclk = machine.Pin(1,machine.Pin.OUT)
srclk = machine.Pin(2,machine.Pin.OUT)
def hc595_shift(dat):
rclk.low()
time.sleep_ms(5)
for bit in range(7, -1, -1):
srclk.low()
time.sleep_ms(5)
value = 1 & (dat >> bit)
sdi.value(value)
time.sleep_ms(5)
srclk.high()
time.sleep_ms(5)
time.sleep_ms(5)
rclk.high()
time.sleep_ms(5)
while True:
for num in range(10):
hc595_shift(SEGCODE[num])
time.sleep_ms(500)
Cuando el programa esté en ejecución, verás el display de segmentos LED mostrando los números del 0 al 9 en secuencia.
¿Cómo funciona?
hc595_shift() hará que el 74HC595 emita 8 señales digitales.
Emite el último bit del número binario a Q0, y el primer bit a Q7. En otras palabras, escribir el número binario «00000001» hará que Q0 emita un nivel alto y Q1~Q7 emitan un nivel bajo.
Por ejemplo, si el display de 7 segmentos muestra el número «1», necesitamos emitir un nivel alto para los pines b y c, y un nivel bajo para los pines a, d, e, f, g y dp.
Esto significa que necesitamos escribir el número binario «00000110». Para mayor legibilidad, utilizaremos notación hexadecimal como «0x06».
De manera similar, también podemos hacer que el display de segmentos muestre otros números de la misma forma. La siguiente tabla muestra los códigos correspondientes a estos números.
Números |
Código Binario |
Código Hexadecimal |
|---|---|---|
0 |
00111111 |
0x3f |
1 |
00000110 |
0x06 |
2 |
01011011 |
0x5b |
3 |
01001111 |
0x4f |
4 |
01100110 |
0x66 |
5 |
01101101 |
0x6d |
6 |
01111101 |
0x7d |
7 |
00000111 |
0x07 |
8 |
01111111 |
0x7f |
9 |
01101111 |
0x6f |
Escribe estos códigos en hc595_shift() para que el display de segmentos LED muestre los números correspondientes.



