Nota
¡Hola, bienvenido a la Comunidad de Aficionados a Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas.
¿Por qué unirse?
Soporte de expertos: Resuelve problemas posventa y desafíos técnicos con ayuda de nuestra comunidad y equipo.
Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.
Vistas previas exclusivas: Obtén acceso anticipado a anuncios de nuevos productos y avances.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones festivas y sorteos: Participa en sorteos y promociones de fiestas.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy!
5.10 ShiftOut(Display de Segmentos)¶
Anteriormente, usamos la función shiftout() para encender ocho LEDs; aquí la usamos para mostrar los números 0-9 en el Display de 7 segmentos.
El Display de 7 segmentos es esencialmente un dispositivo empaquetado con 8 LEDs, de los cuales 7 LEDs en forma de tira forman una figura «8», y hay un LED puntual ligeramente más pequeño que sirve como punto decimal. Estos LEDs se marcan como a, b, c, d, e, f, g y dp. Tienen sus propios pines de ánodo y comparten cátodos. La ubicación de sus pines se muestra en la figura a continuación.
Componentes Necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ELEMENTOS EN ESTE KIT |
ENLACE |
|---|---|---|
3 in 1 Starter Kit |
380+ |
También puedes comprarlos por separado en los enlaces a continuación.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
|---|---|
Esquemático
Cableado
74HC595 |
Display de Segmentos LED |
|---|---|
Q0 |
a |
Q1 |
b |
Q2 |
c |
Q3 |
d |
Q4 |
e |
Q5 |
f |
Q6 |
g |
Q7 |
dp |
Código
Nota
Abre el archivo
5.10.shiftout_segment.inoen la ruta3in1-kit\basic_project\5.10.shiftout_segment.O copia este código en el Arduino IDE.
O sube el código a través del Arduino Web Editor.
Una vez que el código se haya cargado con éxito, podrás ver el Display de Segmentos LED mostrando los números del 0 al 9 en secuencia.
¿Cómo funciona?
shiftOut() hace que el 74HC595 emita 8 señales digitales.
Envía el último bit del número binario a Q0,
y la salida del primer bit a Q7. En otras palabras,
escribir el número binario «00000001» hará que Q0 emita un nivel alto y Q1~Q7 un nivel bajo.
Supongamos que el Display de 7 segmentos muestra el número «2», necesitamos escribir un nivel alto para a, b, d, e y g, y un nivel bajo para c, f y dp. Es decir, se necesita escribir el número binario «01011011». Por legibilidad, usaremos la notación hexadecimal como «0x5b».
De manera similar, también podemos hacer que el Display de 7 Segmentos muestre otros números de la misma manera. La siguiente tabla muestra los códigos correspondientes a estos números.
Números |
Código Binario |
Código Hex |
|---|---|---|
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 shiftOut() para que el Display de Segmentos LED muestre los números correspondientes.