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.

../_images/segment_cathode.png

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+

3 in 1 Starter Kit

También puedes comprarlos por separado en los enlaces a continuación.

INTRODUCCIÓN DEL COMPONENTE

ENLACE DE COMPRA

Placa SunFounder R3

COMPRAR

Protoboard

COMPRAR

Cables Puente

COMPRAR

Resistencia

COMPRAR

Display de 7 Segmentos

COMPRAR

74HC595

COMPRAR

Esquemático

../_images/circuit_6.5_segment.png

Cableado

Conexión

74HC595

Display de Segmentos LED

Q0

a

Q1

b

Q2

c

Q3

d

Q4

e

Q5

f

Q6

g

Q7

dp

../_images/segment_bb.jpg

Código

Nota

  • Abre el archivo 5.10.shiftout_segment.ino en la ruta 3in1-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».

../_images/7_segment2.png

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.

Código de Glifo

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.