TM1637 Reloj con pantalla de 4 dígitos Proyecto Arduino

Este proyecto le muestra cómo hacer un reloj digital usando una pantalla TM1637 de 4 dígitos y 7 segmentos con Arduino. Esta pantalla es excelente para mostrar la hora. Para obtener más detalles, mire el video a continuación o lea el tutorial escrito a continuación.

Componentes del reloj con pantalla de 4 dígitos TM1637

Software

Pantalla TM1637 de 4 dígitos y 7 segmentos

El módulo es un circuito de control de accionamiento de LED (pantalla de diodos emisores de luz) especial con una interfaz de escaneo de teclado que está integrada internamente con la interfaz digital MCU, pestillo de datos, accionamiento de LED de alta presión y escaneo de teclado.

Especificaciones de la pantalla TM1637 de 4 dígitos y 7 segmentos

Tensión de funcionamiento 3,3 V – 5,5 V
Consumo de corriente de funcionamiento 80 mA
Temperatura de funcionamiento -10ºC a + 80ºC
Dimensiones de la pantalla 30 x 14 mm (dígitos de 0,36 ″)
Dimensiones totales 42 x 24 x 12 mm
Costo Consultar precio

Este circuito integrado está fabricado por Titan Micro Electronics. Para obtener más información, puede consultar la hoja de datos a continuación:

DS3231

El DS3231 es un reloj en tiempo real (RTC) I2C muy preciso y de bajo costo con TCXO y temperatura de compensación integrada en cristal. El dispositivo tiene una entrada de batería que mantiene el tiempo cuando se interrumpe la energía clave del dispositivo. La incorporación del resonador de cristal aumenta la precisión a largo plazo del dispositivo y reduce el número de componentes en una línea de producción. El DS3231 se vende en un kit SO de 16 pines y 300 millas y está disponible en rangos de temperatura comerciales o industriales.

  • RTC cuenta segundos, minutos, horas y año
  • Precisión: + 2ppm a -2ppm para 0ºC a + 40ºC, + 3,5ppm a -3,5ppm para -40ºC a + 85ºC
  • Sensor de temperatura digital con precisión de ± 3ºC
  • Dos alarmas de hora del día
  • Salida de onda cuadrada programable
  • Interfaz I2C de 400 kHz
  • Bajo consumo de energía
  • Circuito automático del interruptor de batería por falla de energía
  • Batería de respaldo CR2032 con una vida útil de dos a tres años

Especificaciones DS3231

Tensión de funcionamiento 2,3 V – 5,5 V
Consumo de corriente de funcionamiento 70 – 150 µA
Temperatura de funcionamiento 40 ° C hasta + 85 ° C
Costo Consultar precio

El DS3231 IC está fabricado por Maxim Integrated. Para obtener más información, puede consultar la hoja de datos DS3231 a continuación:

Esquemas del circuito del reloj con pantalla de 4 dígitos TM1637

Esquemas del circuito del reloj con pantalla de 4 dígitos TM1637

Conexiones SDA y SCL

Junta Pines I2C / TWI
Uno, Ethernet A4 (SDA), A5 (SCL)
Mega2560 20 (SDA), 21 (SCL)
Leonardo 2 (SDA), 3 (SCL)
Vencer 20 (SDA), 21 (SCL), SDA1, SCL1

Conexiones de pantalla TM1637

Pantalla TM1637 de 4 dígitos Arduino
VCC 5 V
GND GND
CLK Pin digital 8
DIO Pin digital 9

Conexiones DS3231 RTC

DS3231 Arduino
VCC 5 V
GND GND
SDA A4
SCL A5

Bibliotecas para el reloj con pantalla de 4 dígitos TM1637

Para instalar las bibliotecas, puede descargarlas desde aquí. A continuación, vaya a Sketch> Incluir biblioteca> Agregar biblioteca .ZIP… en el IDE de Arduino.

TM1637 Código fuente de reloj con pantalla de 4 dígitos

Al hacer clic en el botón en la esquina superior derecha del campo del código, puede copiar el código. Cópialo y pégalo en Arduino IDE.

/ * revhardware.com * / / * Reloj degital con formato de 24 horas de Arduino, pantalla TM1637 de 4 dígitos y 7 segmentos y DS32321 RTC. * / // Agregar bibliotecas: RTClib y TM1637 #include «RTClib.h» #include < TM1637Display.h> // Definir los pines de conexión para TM1637 pantalla de 4 dígitos y 7 segmentos #define CLK 8 #define DIO 9 // Crear rtc y mostrar el objeto RTC_DS3231 rtc; TM1637Display display = TM1637Display (CLK, DIO); void setup () {// Comienza la comunicación en serie a una velocidad en baudios de 9600 Serial.begin (9600); // Espere el retraso de apertura de la consola (3000); // Compruebe si RTC está conectado correctamente if (! Rtc.begin ()) {Serial.println («No se pudo encontrar RTC»); mientras (1); } // Compruebe si el RTC perdió energía y, si es así, establezca la hora: if (rtc.lostPower ()) {Serial.println («RTC perdió energía, establezcamos la hora!»); // La siguiente línea establece el RTC en la fecha y hora en que se compiló este boceto: rtc.adjust (DateTime (F (__ DATE__), F (__ TIME__))); // Esta línea establece el RTC con una fecha y hora explícitas, por ejemplo para establecer // 21 de enero de 2014 a las 3 a. M., Llamaría: //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0) ); } // Establecer el brillo de la pantalla (0-7): display.setBrightness (5); // Limpiar la pantalla: display.clear (); } void loop () {// Obtiene la fecha y hora actual DateTime now = rtc.now (); // Crear formato de hora para mostrar: int displaytime = (ahora.hora () * 100) + ahora.minuto (); // Imprime displaytime al Serial Monitor Serial.println (displaytime); // Muestra la hora actual en formato de 24 horas con ceros a la izquierda habilitados y dos puntos centrales: display.showNumberDecEx (displaytime, 0b11100000, true); // Elimina las siguientes líneas de código si quieres dos puntos centrales estáticos en lugar de parpadeantes: delay (1000); display.showNumberDec (tiempo de visualización, verdadero); // Imprime displaytime sin dos puntos centrales. retraso (1000); }