Realización de un reloj digital Arduino I2C - Calendae - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Realización de un reloj digital Arduino I2C – Calendae

Hola otra vez. Yo soy Jordi Oriol y en esta ocasión vamos a hablar sobre Realización de un reloj digital Arduino I2C – Calendae

Utilizando Mochila Adafruit y pantalla LED de 7 segmentos de 0,56 « y el Tarjeta DS1307 RTC (reloj en tiempo real), Esta tutorial lo guiará para crear un reloj simple de 4 dígitos que usa solo 2 pines Arduino.

La mochila de 7 segmentos es una combinación de pantalla LED, pines de encabezado y PCB que deben soldarse entre sí. La PCB contiene un chip de controlador con un reloj integrado que multiplexa la pantalla y un controlador de corriente constante para colores suaves ultra brillantes.

Este módulo utiliza la interfaz I2C, lo que significa que solo necesita dos pines de datos para controlar los 4 dígitos en lugar de 14 pines, liberando los pines Arduino para otros usos.

DS1307 es un reloj en tiempo real (RTC) respaldado por batería que permite que un proyecto de microcontrolador realice un seguimiento del tiempo incluso si se reprograma o si se corta la energía. La placa de conexiones DS1307 también se suministra como un kit de piezas para soldar.

Construyendo el reloj digital

Es un proceso simple, conecte la pieza como se muestra en la imagen, el cable rojo conectado a 5V, el cable negro a GND, el naranja a A4 (SDA – datos), el amarillo a A5 (SCL – reloj).

Tanto los módulos RTC como los de 7 segmentos tienen una biblioteca Arduino, como es habitual con las bibliotecas, descomprima las carpetas en el directorio «bibliotecas» de Arduino y luego reinicie el IDE de Arduino para recopilarlas.

Pegue el siguiente boceto en una nueva ventana de Arduino y cárguelo en su tablero. Establecerá el RTC a la hora en que se compiló y cargó el boceto. Entonces, si su computadora detecta la hora de Internet, será bastante precisa.

#include <Wire.h>
#include "Adafruit_LEDBackpack.h"
#include "Adafruit_GFX.h"
#include "RTClib.h"

RTC_DS1307 RTC;

Adafruit_7segment disp = Adafruit_7segment();

void setup()

 Wire.begin();
 RTC.begin();
 if (! RTC.isrunning())
 
   RTC.adjust(DateTime(__DATE__, __TIME__));
 
 disp.begin(0x70);


void loop()

 disp.print(getDecimalTime());
 disp.drawColon(true);
 disp.writeDisplay();
 delay(500);
 disp.drawColon(false);
 disp.writeDisplay();
 delay(500);


int getDecimalTime()

 DateTime now = RTC.now();
 int decimalTime = now.hour() * 100 + now.minute();
 return decimalTime;

La documentación completa del proyecto está disponible aquí.

No te olvides compartir en tus redes sociales para que tus colegas opinen

??? ? ? ???

Comparte