Uso de una pantalla TM1637 de 4 dígitos y 7 segmentos con Arduino
En este tutorial aprenderemos a usar la pantalla TM1637 de 4 dígitos y 7 segmentos con un Arduino. Esta pantalla puede utilizarse para mostrar números, contadores u otros datos numéricos. Al final del proyecto tendrás una pantalla en funcionamiento que puede contar de 0 a 500 y demostrar diversas características, como el ajuste del brillo.

Para este proyecto, conectaremos la pantalla TM1637 al Arduino usando solo unos pocos cables. La pantalla tiene cuatro pines: VCC, GND, DIO y CLK. VCC se conecta a la fuente de alimentación de 5V, mientras que GND se conecta a tierra. El pin DIO se conectará al pin digital 3 del Arduino, y el pin CLK se conectará al pin digital 2. Esta configuración permite que el Arduino se comunique fácilmente con la pantalla.
Para ver la implementación práctica, asegúrate de seguir el video (en 00:00) como guía visual.
Hardware explicado
El TM1637 es un controlador versátil para displays de 7 segmentos que permite el control sencillo de pantallas de 4 dígitos. Se controla mediante una interfaz de dos hilos, que consiste en un pin de datos (DIO) y un pin de reloj (CLK). Esto facilita su conexión a microcontroladores como Arduino sin necesidad de componentes adicionales.
La pantalla puede mostrar números decimales y admite control de brillo, lo que la hace adecuada para una variedad de aplicaciones como contadores, relojes y temporizadores. Su diseño compacto y su facilidad de uso la convierten en una opción popular tanto entre aficionados como entre profesionales.
Detalles de la hoja de datos
| Fabricante | Titan Microelectrónica |
|---|---|
| Número de pieza | TM1637 |
| Tensión lógica/E/S | 5 V |
| Tensión de alimentación | 3.3 V - 5.5 V |
| Corriente de salida (por segmento) | 20 mA |
| Guía sobre la frecuencia PWM | N/D |
| Umbrales lógicos de entrada | 0.3 VCC (bajo), 0.7 VCC (alto) |
| Caída de tensión / RDreno-Fuente (conducción) / saturación | 2.5 V (típ.) |
| Límites térmicos | 125 °C |
| Paquete | DIP de 16 pines |
- Asegúrese de que VCC esté conectado a una fuente estable de 5 V para evitar el mal funcionamiento de la pantalla.
- Utilice resistencias limitadoras de corriente si es necesario para evitar daños en los segmentos.
- Mantenga el cableado corto para minimizar el ruido y las interferencias.
- Compruebe siempre dos veces las conexiones de los pines para evitar la inversión de la polaridad.
- Ajuste los niveles de brillo usando el
setBrightnessfunción para una visibilidad óptima.
Instrucciones de cableado


Para cablear la pantalla TM1637, primero conecta el pin VCC a la salida de 5V del Arduino. A continuación, conecta el pin GND a uno de los pines de tierra del Arduino. Para la comunicación de datos, conecta el pin DIO de la pantalla al pin digital 3 del Arduino y el pin CLK al pin digital 2. Esta configuración sencilla permite que el Arduino se comunique con la pantalla de manera eficaz.
Asegúrese de tener conexiones seguras para evitar problemas por cables sueltos. En el video se muestran configuraciones alternativas de cableado, pero las conexiones proporcionadas son las más sencillas para la operación básica (en el video a las 01:30).
Ejemplos de código y guía paso a paso
El código proporcionado inicializa la pantalla y establece las configuraciones necesarias. Los identificadores clave en el código incluyenCLKyDIO, que se definen como los pines digitales 2 y 3, respectivamente. El brillo de la pantalla se ajusta usando elsetBrightnessfunción.
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x0f); // Set maximum brightness
}
Este fragmento de código muestra la inicialización de la pantalla y el ajuste del brillo máximo. A continuación, elloopLa función demuestra cómo mostrar varios números.

void loop() {
uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
display.setSegments(data); // Clear the display
display.showNumberDec(23, false, 2, 1); // Show number 23
delay(TEST_DELAY);
}
Aquí, la pantalla se borra y se muestra el número 23. La funciónshowNumberDectoma parámetros para controlar el número que se muestra y su formato. El bucle continúa mostrando números hasta 500.
for(int i=0; i<=500; i++) {
display.showNumberDec(i); // Show numbers from 0 to 500
}
Este fragmento de código ilustra un contador simple que muestra números del 0 al 500 en la pantalla TM1637. La pantalla se actualizará continuamente hasta que alcance 500; luego volverá a 0. El código completo está disponible a continuación del artículo para su referencia.
Demostración / Qué esperar
Una vez que todo esté cableado y el código cargado, la pantalla debería mostrar los números secuencialmente de 0 a 500. También mostrará distintos niveles de brillo y borrará la pantalla adecuadamente entre actualizaciones. Tenga cuidado con la polaridad invertida, ya que esto puede dañar la pantalla. Puede confirmar el funcionamiento observando la pantalla durante el video (en el video a 04:00).
Marcas de tiempo del video
- 00:00- Introducción a la pantalla TM1637
- 01:30- Instrucciones de cableado
- 02:45- Recorrido del código
- 04:00- Demostración de la pantalla
Recursos y referencias
Aún no hay recursos.
Archivos📁
Bibliotecas de Arduino (zip)
-
TM1637 Arduino Library
TM1637_library.zip1.36 MB
Hoja de datos (pdf)
-
Hoja de datos TM1637
/download/datasheet/robojax_TM1637_datasheet.pdf0.67 MB
Manual del Usuario
-
Manual de Display TM1637
robojax-TM1637_display_manual.pdf0.31 MB