Arduino Nano ESP32 - 74HC595 Pantalla de 4 dígitos de 7 segmentos

Este tutorial te enseña a usar un Arduino Nano ESP32 para controlar un módulo de 4 dígitos de 7 segmentos con 74HC595. Cubre los siguientes temas:

Arduino Nano ESP32 74HC595 pantalla de 7 segmentos de 4 dígitos

Este tutorial utilizará un módulo de pantalla de 7 segmentos de 4 dígitos y 4 puntos capaz de mostrar valores en punto flotante. Si necesita mostrar un separador de dos puntos, consulte el TM1637 4-digit 7-segment Display Module.

Hardware Requerido

1×Arduino Nano ESP32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×74HC595 4-digit 7-segment Pantalla
1×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del 74HC595: pantalla de 4 dígitos de 7 segmentos

Un módulo ideal para mostrar la temperatura o cualquier valor flotante es la pantalla de 4 dígitos de 7 segmentos 74HC595. Este módulo normalmente incluye cuatro LEDs de 7 segmentos, cuatro LEDs en forma de punto y dos controladores 74HC595 para cada dígito.

Disposición de pines

El módulo de visualización de 4 dígitos de 7 segmentos 74HC595 incluye 5 pines:

  • Pin SCLK: es un pin de entrada de reloj. Conéctalo a cualquier pin digital en Arduino Nano ESP32.
  • Pin RCLK: es un pin de entrada de reloj. Conéctalo a cualquier pin digital en Arduino Nano ESP32.
  • Pin DIO: es un pin de E/S de datos. Conéctalo a cualquier pin digital en Arduino Nano ESP32.
  • Pin VCC: suministra energía al módulo. Conéctalo a una fuente de alimentación de 3.3V a 5V.
  • Pin GND: es un pin de tierra.
Pinout del módulo 74HC595

Diagrama de Cableado

La tabla a continuación muestra el cableado entre los pines del Arduino Nano ESP32 y los pines de un display de 4 dígitos de 7 segmentos controlado por un 74HC595.

Arduino Nano ESP32 74HC595 7-segment display
3.3VVCC
D7SCLK
D6RCLK
D5DIO

Si estás usando pines diferentes, asegúrate de modificar los números de pines en el código en consecuencia.

Diagrama de cableado del módulo Arduino Nano ESP32 74HC595

This image is created using Fritzing. Click to enlarge image

Instalación de la biblioteca

Para programar fácilmente una pantalla de 4 dígitos y 7 segmentos con 74HC595, necesitamos instalar la biblioteca DIYables_4Digit7Segment_74HC595 de DIYables.io. Siga los siguientes pasos para instalar la biblioteca:

  • Abrir el Administrador de Bibliotecas haciendo clic en el icono Administrador de Bibliotecas en la barra de navegación izquierda del IDE de Arduino
  • Buscar “DIYables_4Digit7Segment_74HC595”, luego encuentra la biblioteca DIYables_4Digit7Segment_74HC595 de DIYables.io
  • Haz clic en el botón Instalar.
Biblioteca para pantalla de 7 segmentos de 4 dígitos con Arduino Nano ESP32 y 74HC595

También puedes ver esta biblioteca en GitHub

Cómo programar para el 74HC595 con una pantalla de 4 dígitos de 7 segmentos usando Arduino Nano ESP32

  • Incluir la biblioteca
#include <DIYables_4Digit7Segment_74HC595.h>
  • Define los pines del ESP32 que se conectan a SCLK, RCLK y DIO del módulo de visualización. Por ejemplo, los pines D7, D6 y D5.
#define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 pin connected to DIO
  • Crear un objeto de visualización de tipo DIYables_4Digit7Segment_74HC595
DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(CLK, DIO);
  • Luego puedes mostrar los números enteros con la opción de relleno de ceros, soportando el número negativo:
display.printInt(-13, false); // you can display a value from -999 to 9999
  • Puede mostrar números de punto flotante con la cantidad de decimales, opciones de relleno con ceros, soportando números negativos:
display.printFloat(-9.2, 1, false);
  • También puedes mostrar números, el punto decimal y dígitos de caracteres uno por uno usando funciones de bajo nivel:
// display 9.3°C display.clear(); display.setNumber(1, 9); // set 9 at the 1st digit display.setDot(1); // set . at the 1st digit display.setNumber(2, 3); // set 3 at the 2nd digit display.setChar(3, SegChars::DEGREE); // set ° at the 3rd digit display.setChar(4, SegChars::C); // set C at the 3rd digit display.show(); // show on the display
  • Debido a que el módulo de 4 dígitos 7 segmentos 74HC595 utiliza la técnica de multiplexación para controlar segmentos individuales y LEDs, el código de Arduino Nano ESP32 DEBE:
    • Llamar a la función display.show() en el bucle principal
    • No usar la función delay() en el bucle principal

    Puede ver más detalles en la referencia de la biblioteca

Código de Arduino Nano ESP32 - Mostrar entero

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printInt(-13, false); // you can display a value from -999 to 9999 //display.printInt(-132, false); //display.printInt(9132, false); //display.printInt(132, false); //display.printInt(32, false); //display.printInt(2, false); //display.printInt(2, true); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Pasos R\u00e1pidos

Para empezar con Arduino Nano ESP32, siga estos pasos:

  • Si eres nuevo en Arduino Nano ESP32, consulta el tutorial sobre cómo configurar el entorno para Arduino Nano ESP32 en el IDE de Arduino.
  • Conecta los componentes de acuerdo con el diagrama proporcionado.
  • Conecta la placa Arduino Nano ESP32 a tu computadora usando un cable USB.
  • Inicia el IDE de Arduino en tu computadora.
  • Selecciona la Arduino Nano ESP32 placa y su puerto COM correspondiente. Copia el código anterior y ábrelo con el IDE de Arduino Nano ESP32.
  • Haz clic en el botón Upload del IDE de Arduino Nano ESP32 para subir el código al Arduino Nano ESP32.
  • Observa los estados de la pantalla de 7 segmentos.

Código de Arduino Nano ESP32 - Mostrar flotante

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printFloat(-9.2, 1, false); //display.printFloat(-92.4, 1, false); //display.printFloat(-9.24, 2, false); //display.printFloat(192.4, 1, false); //display.printFloat(19.24, 2, false); //display.printFloat(1.924, 3, false); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Código de Arduino Nano ESP32 - Mostrar la temperatura

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 pin connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); // display 9.3°C by controlling digit by digit display.clear(); display.setNumber(1, 9); // set 9 at the 1st digit display.setDot(1); // set . at the 1st digit display.setNumber(2, 3); // set 3 at the 2nd digit display.setChar(3, SegChars::DEGREE); // set ° at the 3rd digit display.setChar(4, SegChars::C); // set C at the 3rd digit display.show(); // show on the display } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!