Arduino - Pantalla de 4 dígitos de 7 segmentos TM1637
Una pantalla de 4 dígitos con 7 segmentos es necesaria para proyectos de reloj, temporizador y contador, pero normalmente requiere 12 conexiones. El módulo TM1637 facilita las cosas al requerir solo 4 conexiones: 2 para la alimentación y 2 para controlar los segmentos.
Este tutorial no te abrumará al profundizar en hardware. En su lugar, aprenderemos cómo conectar una pantalla de 4 dígitos de 7 segmentos a Arduino y cómo programarla para mostrar lo que queremos.

Este tutorial va a utilizar el módulo de pantalla de 4 dígitos de 7 segmentos con dos puntos. Si desea mostrar números en punto flotante, por favor utilice el Módulo de Pantalla de 4 Dígitos de 7 Segmentos 74HC595
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 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
Un módulo TM1637 consta típicamente de cuatro LEDs de siete segmentos y un LED en forma de dos puntos en el centro: Es ideal para mostrar la hora en horas y minutos, o minutos y segundos, o las puntuaciones de dos equipos.
Diagrama de pines
El módulo de visualización de 4 dígitos de 7 segmentos TM1637 incluye 4 pines:
- CLK pin: es un pin de entrada de reloj. Conéctalo a cualquier pin digital en Arduino.
- DIO pin: es un pin de datos I/O. Conéctalo a cualquier pin digital en Arduino.
- VCC pin: es un pin que suministra energía al módulo. Conéctalo a una fuente de alimentación de 3.3V a 5V.
- GND pin: es un pin de tierra.

Diagrama de Cableado
Para conectar un TM1637 a un Arduino, conecta 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. Conecta los pines CLK y DIO a cualquiera de los pines digitales del Arduino. Por ejemplo, 2 y 3 en el Arduino. Los números de los pines en el código deben cambiarse si se utilizan pines diferentes.

This image is created using Fritzing. Click to enlarge image
Instalación de la biblioteca
Para programar fácilmente la pantalla TM1637 de 4 dígitos y 7 segmentos, necesitamos instalar la biblioteca TM1637Display de Avishay Orpaz. Siga los pasos a continuación para instalar la biblioteca:
- Ve al icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “TM1637”, luego encuentra la biblioteca TM1637Display de Avishay Orpaz
- Haz clic en el botón Instalar.

Cómo programar para TM1637 de 4 dígitos y 7 segmentos usando Arduino
- Incluir la biblioteca
- Define los pines de Arduino que se conectan a CLK y DIO del módulo de visualización. Por ejemplo, los pines D9 y D10
- Crea un objeto de visualización del tipo TM1637Display
- Luego puedes mostrar un número, un número con decimales, un número con signo negativo o una letra. En el caso de la letra, necesitas definir la forma de la letra. Veámoslas una por una.
- Mostrar número: vea los ejemplos a continuación; '_' en la descripción que se muestra a continuación representa un dígito que no se muestra en la práctica:
- Muestra el número con dos puntos o con un punto:
Puede ver más detalles en las referencias de las funciones al final de este tutorial.
Código de Arduino
Pasos R\u00e1pidos
- Copie el código anterior y ábralo con Arduino IDE
- Haga clic en el botón Upload en Arduino IDE para cargar el código en Arduino
- Vea 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 presentan referencias para las funciones siguientes:
- display.clear()
- display.showNumberDec()
- display.showNumberDecEx()
- display.setSegments()
- display.setBrightness()
pantalla.limpiar()
Descripción
Esta función borra la pantalla. Apaga todos los LEDs.
display.showNumberDec()
Descripción
La función se utiliza para mostrar un número decimal en la pantalla de 7 segmentos.
Sintaxis
Parámetro
- num: Este es el número que se mostrará en la pantalla de 7 segmentos. Debe estar dentro del rango de -9999 a 9999.
- leading_zero: Este es un parámetro opcional con un valor por defecto de false. Si se establece en true, se mostrarán ceros a la izquierda.
- length: Este es un parámetro opcional con un valor por defecto de 4. Establece 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 por defecto de 0. Establece la posición del dígito más significativo del número.
Por favor, tenga en cuenta que, si el número está fuera de rango o si el valor de la longitud es mayor que 4, la función no mostrará nada.
showNumberDecEx()
Descripción
La función se utiliza para mostrar un número decimal en la pantalla de 7 segmentos con características adicionales en comparación con la función showNumberDec(). Es una versión avanzada de showNumberDec() que permite controlar de forma individual el punto decimal o los segmentos 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 utiliza para especificar qué segmentos de la pantalla deben encenderse como puntos. Cada bit del valor corresponde a un dígito en la pantalla: Valor válido
- 0b10000000: mostrar el primer punto: 0.000
- 0b01000000: mostrar el segundo punto: 00.00
- 0b00100000: mostrar el tercer punto: 000.0
- 0b01000000: Para pantallas con solo dos puntos: 00:00
- leading_zero: Este es un parámetro opcional con un valor por defecto de false. Si se establece en true, se mostrarán ceros a la izquierda.
- length: Este es un parámetro opcional con un valor por defecto de 4. Establece 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 por defecto de 0. Establece la posición del dígito más significativo del número.
Por ejemplo, si llamas a display.showNumberDecEx(1530,0b01000000); mostrará el número 15:30 en la pantalla de 7 segmentos.
Por favor, tenga en cuenta que si el número está fuera de rango o si el valor de la longitud es mayor que 4, la función no mostrará nada.
establecerSegmentos()
Descripción
La función se utiliza para configurar directamente los segmentos de la pantalla de 7 segmentos. Se puede usar para mostrar letras, un carácter especial, o activar todos los segmentos LED.
Sintaxis
Parámetro
- segments: Este parámetro establece los segmentos de la pantalla de 7 segmentos; es un arreglo de bytes, donde cada byte representa los segmentos de cada dígito. Cada segmento está representado por un bit en el byte.
- length: Este es un parámetro opcional con un valor predeterminado de 4. Establece 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.
Esta función es útil cuando quieres mostrar caracteres o símbolos que no están incluidos en la pantalla de 7 segmentos básica. Al configurar directamente los segmentos, puedes mostrar cualquier patrón que desees.
Por favor, tenga en cuenta que, si el número está fuera de rango o si el valor de la longitud es mayor que 4, la función no mostrará nada.
establecerBrillo()
Descripción
La función se utiliza para ajustar el brillo de la pantalla de 7 segmentos.
Sintaxis
Parámetro
- brightness: Este parámetro establece el nivel de brillo de la pantalla de 7 segmentos. El valor debe estar en el rango de 0 a 7. Un valor mayor resulta en una pantalla más brillante.
- on: Este es un parámetro opcional con un valor por defecto de true. Se utiliza para encender o apagar la pantalla. Si se establece en false, la pantalla se apagará.