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

Este tutorial explica cómo usar Arduino Nano para controlar un módulo de pantalla de 7 segmentos de 4 dígitos con el 74HC595. En detalle, aprenderemos:

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

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

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×74HC595 4-digit 7-segment Pantalla
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

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 de punto 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.

Diagrama 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.
  • Pin RCLK: es un pin de entrada de reloj. Conéctalo a cualquier pin digital en Arduino Nano.
  • Pin DIO: es un pin de E/S de datos. Conéctalo a cualquier pin digital en Arduino Nano.
  • Pin VCC: suministra energía al módulo. Conéctalo a una fuente de alimentación de 3,3 V a 5 V.
  • 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 y los pines de un display de 4 dígitos de 7 segmentos controlado por un 74HC595.

Arduino Nano 74HC595 7-segment display
5V5V
7SCLK
6RCLK
5DIO

Si está usando pines diferentes, asegúrese de modificar los números de pines en el código según corresponda.

Diagrama de cableado del módulo Arduino Nano 74HC595

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Instalación de la biblioteca

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

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

También puedes ver esta biblioteca en GitHub

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

  • Incluir la biblioteca
#include <DIYables_4Digit7Segment_74HC595.h>
  • Define los pines del Arduino Nano que se conectan a SCLK, RCLK y DIO del módulo de visualización. Por ejemplo, los pines D7, D6 y D5
#define SCLK 7 // The Arduino Nano pin connected to SCLK #define RCLK 6 // The Arduino Nano pin connected to RCLK #define DIO 5 // The Arduino Nano pin connected to DIO
  • Crea un objeto de visualización del 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 rellenar con ceros, soportando el número negativo:
display.printInt(-13, false); // you can display a value from -999 to 9999
  • Puedes mostrar números de punto flotante con la cantidad de decimales, opciones de relleno con ceros y que admiten números negativos:
display.printFloat(-9.2, 1, false);
  • También puedes mostrar un número, 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
  • Porque el módulo de 4 dígitos de 7 segmentos 74HC595 utiliza la técnica de multiplexación para controlar segmentos individuales y LEDs, el código de Arduino Nano DEBE:
    • Llamar a la función display.show() en el bucle principal
    • No usar la función delay() en el bucle principal

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

Código de Arduino Nano - Mostrar entero

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino Nano pin connected to SCLK #define RCLK 6 // The Arduino Nano pin connected to RCLK #define DIO 5 // The Arduino Nano 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

  • Conecta tu Arduino Nano a una computadora usando un cable USB.
  • Abre el IDE de Arduino, selecciona la placa y el puerto correctos.
  • Copia el código anterior y ábrelo con el IDE de Arduino Nano
  • Haz clic en el botón Subir en el IDE de Arduino Nano para subir el código al Arduino Nano
  • Observa los estados de la pantalla de 7 segmentos

Código para Arduino Nano - Mostrar flotante

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino Nano pin connected to SCLK #define RCLK 6 // The Arduino Nano pin connected to RCLK #define DIO 5 // The Arduino Nano 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 - Visualización de la temperatura

#include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino Nano pin connected to SCLK #define RCLK 6 // The Arduino Nano pin connected to RCLK #define DIO 5 // The Arduino Nano 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!