Arduino Nano - Pantalla de 4 dígitos de 7 segmentos TM1637
Este tutorial explica cómo usar Arduino Nano con la pantalla de 4 dígitos de 7 segmentos, módulo TM1637. En detalle, aprenderemos:
- Cómo conectar una pantalla de 7 segmentos de 4 dígitos al Arduino Nano
- Cómo programar el Arduino Nano para mostrar la información en una pantalla de 7 segmentos de 4 dígitos

En este tutorial, utilizaremos un módulo de pantalla de 4 dígitos de 7 segmentos con un separador de dos puntos. Si desea mostrar números de punto flotante, por favor consulte el tutorial 74HC595 4-digit 7-segment Display Module.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de TM1637 Pantalla de 4 dígitos de 7 segmentos
Una pantalla de 4 dígitos de 7 segmentos se utiliza comúnmente para reloj, temporizador y contador, mostrando la temperatura... Sin embargo, normalmente requiere 12 conexiones. El módulo TM1637 simplifica esto al necesitar solo 4 conexiones: 2 para la alimentación y 2 para el control de los segmentos.
Un módulo TM1637 generalmente consta de cuatro LEDs de 7 segmentos y una de las siguientes opciones:
- Un LED con forma de dos puntos en el centro: es ideal para mostrar la hora en horas y minutos, o minutos y segundos, o el marcador de dos equipos.
- Cuatro LEDs con forma de puntos para cada dígito: es ideal para mostrar la temperatura o cualquier valor decimal.
Pinout del TM1637 para display de 4 dígitos y 7 segmentos
Conéctalo a la toma de tierra de la fuente de alimentación.
TM1637 tiene cuatro pines:
- Pin CLK: es un pin de entrada de reloj que debe conectarse a cualquier pin digital del Arduino Nano.
- Pin DIO: es un pin de datos de entrada/salida que debe conectarse a cualquier pin digital del Arduino Nano.
- Pin VCC: se utiliza para suministrar energía al módulo y debe conectarse a una fuente de alimentación de 3.3 V a 5 V.
- Pin GND: es un pin de tierra que debe conectarse a la masa de la fuente de alimentación.

Diagrama de Cableado
Para conectar un TM1637 a un Arduino Nano, deben conectarse cuatro cables: dos para la alimentación y dos para controlar la pantalla. El módulo puede alimentarse desde la salida de 5 voltios del Arduino Nano. Los pines CLK y DIO deben conectarse a cualquier pin digital del Arduino Nano, por ejemplo a los pines 2 y 3. Si se utilizan pines diferentes, los números de los pines en el código deben modificarse.

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 para la pantalla de 4 dígitos de 7 segmentos TM1637, necesitamos instalar la biblioteca TM1637Display de Avishay Orpaz. Siga los siguientes pasos para instalar la biblioteca:
- Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “TM1637”, luego encuentra la librería TM1637Display de Avishay Orpaz
- Haz clic en el botón Instalar.

Cómo programar para TM1637 con un display de 4 dígitos y 7 segmentos usando Arduino Nano
- Incluir la biblioteca.
- Especifica los pines del Arduino Nano que están conectados al CLK y al DIO del módulo de visualización. Por ejemplo, los pines D9 y D10.
- Crea un objeto de TM1637Display.
- Luego puedes mostrar un número, un número decimal, un número con signo negativo o una letra. En el caso de una letra, debes definir la forma de la letra. Veamos cada una de ellas individualmente.
- Mostrar un número: vea los ejemplos a continuación, '_' en la descripción a continuación representa un dígito que, en la práctica, no se muestra:
- Muestra el número con dos puntos o un punto:
Para obtener más información, consulte las referencias de funciones al final de este tutorial. Proporcionan más detalles.
Código de Arduino Nano
Pasos R\u00e1pidos
- Copia el código y ábrelo con el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para compilar y subir el código al Arduino Nano.
- Revisa los estados de la pantalla de 7 segmentos.
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.
Referencias de funciones
A continuación se muestran referencias para las siguientes funciones:
- pantalla.limpiar()
- pantalla.mostrarNumeroDec()
- pantalla.mostrarNumeroDecEx()
- pantalla.configurarSegmentos()
- pantalla.configurarBrillo()
pantalla.limpiar()
Descripción
Esta función borra la pantalla. Apaga todos los LEDs.
display.showNumberDec()
Descripción
La pantalla de 7 segmentos se utiliza para mostrar un número decimal. Esta función se utiliza para ese propósito.
Sintaxis
Parámetro
- num: es el valor que se mostrará en la pantalla de 7 segmentos, con un rango de -9999 a 9999.
- leading_zero: es un parámetro opcional con un valor por defecto de falso, determina si deben mostrarse ceros a la izquierda.
- length: otro parámetro opcional con un valor por defecto de 4, establece el número de dígitos que se deben mostrar.
- pos: también un parámetro opcional con un valor por defecto de 0, establece la posición del dígito más significativo.
Por favor, tenga en cuenta que la función no mostrará nada si el número está fuera del rango o si el valor de la longitud es mayor que 4.
showNumberDecEx()
La Descripción
Esta función es una mejora de showNumberDec(), que ofrece un mayor control sobre la visualización de un número decimal en la pantalla de 7 segmentos. Tiene la capacidad de controlar de forma individual los segmentos de punto o de dos puntos de cada dígito.
Sintaxis
Parámetro
- num1: Este es el número que se mostrará en la pantalla de 7 segmentos. Debe estar dentro del rango de -9999 a 9999.
- dots: Este parámetro se usa para especificar qué segmentos de la pantalla deben encenderse como puntos. Cada bit del valor corresponde a un dígito en la pantalla. Los valores posibles son:
- 0b10000000 para mostrar el primer punto (0.000)
- 0b01000000 para mostrar el segundo punto (00.00), o los dos puntos (00:00). Depende del tipo de módulo.
- 0b00100000 para mostrar el tercer punto (000.0)
- leading_zero: Este es un parámetro opcional con un valor predeterminado de false. Si se establece en true, se mostrarán ceros a la izquierda.
- length: Este es un parámetro opcional con un valor predeterminado de 4. Determina el número de dígitos que se mostrarán en la pantalla de 7 segmentos.
- pos: Este es un parámetro opcional con un valor predeterminado de 0. Establece la posición del dígito más significativo del número.
Por ejemplo, si usas display.showNumberDecEx(1530, 0b01000000), mostrará:
- El número 15:30 en la pantalla de 7 segmentos si el módulo tiene un LED con forma de dos puntos.
- El número 15.30 en la pantalla de 7 segmentos si el módulo tiene LEDs con forma de puntos.
Por favor, tenga en cuenta que la función no mostrará nada si el número está fuera del rango o si el valor de la longitud es mayor que 4.
establecerSegmentos()
Descripción
La función permite ajustar directamente los segmentos de una pantalla de 7 segmentos. Puede usarse para mostrar letras, caracteres especiales o para apagar todos los segmentos LED.
Sintaxis
Parámetro
- segments: Este parámetro establece los segmentos de la pantalla de 7 segmentos, que es un arreglo de bytes. Cada byte representa los segmentos de cada dígito y cada segmento está representado por un bit en el byte.
- length: Este es un parámetro opcional con un valor predeterminado de 4. Determina el número de dígitos que se mostrarán en la pantalla de 7 segmentos.
- pos: Este es un parámetro opcional con un valor predeterminado de 0. Especifica la posición del dígito más significativo del número.
Esta función es beneficiosa cuando necesitas mostrar caracteres o símbolos que no están disponibles en la pantalla de 7 segmentos estándar. Puedes crear cualquier patrón que desees al configurar los segmentos directamente.
Tenga en cuenta que la función no mostrará nada si el número está fuera de rango o si el valor de la longitud es mayor que 4.
establecerBrillo()
Descripción
El brillo de la pantalla de 7 segmentos se puede ajustar usando esta función.
Sintaxis
Parámetro
- brightness: Este parámetro ajusta la luminosidad de la pantalla de 7 segmentos. El valor debe estar entre 0 y 7, y un número mayor produce una pantalla más brillante.
- on: Este es un parámetro opcional, con un valor predeterminado de verdadero. Se utiliza para encender o apagar la pantalla. Si se establece en falso, la pantalla se desactivará.