Cómo hacer el reloj digital usando Arduino Uno

Cómo hacer el reloj digital usando Arduino Uno
Los tableros Arduino se pueden usar para hacer una variedad de proyectos de bricolaje y ayudar a los principiantes a aprender más sobre los circuitos. Del mismo modo, hacer tales proyectos usando Arduino también ofrece una mejor comprensión para el funcionamiento de los pequeños dispositivos de uso diario. En este discurso se demuestra un pequeño proyecto para crear un reloj digital utilizando el Arduino.

Cómo diseñar un reloj digital usando Arduino

En el pasado, para calcular el tiempo que se usaron los relojes analógicos que tenían un dial que tenía números de 1 a 12 y el dial tenía agujas. Pero ahora los relojes digitales se usan principalmente, ya que son de tamaño compacto, más precisos y menos consumidores. Para comprender el funcionamiento del reloj digital, hemos creado un reloj digital utilizando Arduino Uno.

El programa Arduino compilado para el reloj digital es seguido por el esquema para construir un reloj digital usando Arduino:

Implementación de hardware

Estos son los componentes que hemos utilizado para diseñar un reloj simple usando Arduino

  • Cables de jersey
  • Un potenciómetro que tiene un valor de 10k
  • Pantalla de cristal líquido 16 × 2 (LCD)
  • Dos botones Push

Para ensamblar el circuito hemos usado el breabroad a través del cual todos los componentes están conectados entre sí. Además, hemos dado una cifra a continuación que borra aún más la conexión de los componentes:

Código Arduino para diseñar un reloj digital usando Arduino Uno

El código Arduino compilado para hacer el reloj digital se da como

#Include // Biblioteca para la pantalla LCD
LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // Pins de Arduino para LCD
// Inicializando las variables
int hrs = 12; // horas
int mins = 0; // minutos
int sec = 0; // segundos
int tiempo = 0; // variable para verificar el tiempo
const int bhrs = a4; // Push Button configurando las horas
const int bmins = a5; // Presione el pin del botón para configurar los minutos
int state1 = 0; // Variable para almacenar el botón Push State of Hour
int state2 = 0; // Variable para almacenar el botón Push State of Minute
Configuración vacía ()

lcd.comenzar (16, 2); // Inicializando las dimensiones de LCD
// Modo para los botones PUSH
PinMode (BHRS, input_pullup);
PinMode (bmins, input_pullup);

bucle vacío ()

lcd.setCursor (0, 0);
Sec = Sec + 1;
// mostrando la hora
lcd.imprimir ("Tiempo:");
lcd.imprimir (hrs);
lcd.imprimir(":");
lcd.imprimir (mins);
lcd.imprimir(":");
lcd.imprimir (sec);
// Comprobación de AM y PM a medida que cambia el estado después de las 12 años
if (tiempo 12) LCD.imprimir ("pm");
if (tiempo == 24) TIME = 0;
retraso (800);
lcd.claro();
if (sec == 60) / * segundos es igual a 60 y nuevamente comienza desde cero y agregue un incremento de uno en el valor minuto * /

Sec = 0;
mins = mins + 1;

if (mins == 60)

/ * Si el minuto es igual a 60, nuevamente comience desde cero y agregue un incremento de uno en el valor de la hora */
mins = 0;
hrs = hrs + 1;
Tiempo = tiempo + 1;

/* Si el valor de la hora es 13, reemplace su valor de 13 a 1 para cambiarlo a formato de 12 horas*/
if (hrs == 13)

HRS = 1;

lcd.setCursor (0, 1);
lcd.imprimir ("reloj simple");
// Lea el estado del botón durante horas de configuración
state1 = DigitalRead (BHRS);
/* Si el estado del botón es bajo, agregue uno en la hora y muestre la hora*/
if (state1 == 0)

hrs = hrs + 1;
Tiempo = tiempo + 1;
if (tiempo 12) LCD.imprimir ("pm");
if (tiempo == 24) TIME = 0;
if (hrs == 13)
HRS = 1;

// Lea el estado del botón durante horas de configuración
state2 = digitalread (bmins);
/* Si el estado del botón es bajo, agregue uno en el valor minuto y muestre la hora*/
if (state2 == 0)

Sec = 0;
mins = mins + 1;

Primero en el código Arduino, hemos definido la biblioteca para el módulo de visualización y los pines de Arduino se asignan a LCD. A continuación, hemos declarado las variables separadas durante horas, minutos y segundos. También se declaran las variables para los botones de presión con un pin al que se conectarán. Del mismo modo, hay dos variables para el estado de los botones y una variable para la verificación del tiempo.

En la función de configuración, el modo a los botones PUSH es input_pullup y las dimensiones de la pantalla LCD se inicializan.

Llegando a la función de bucle primero el formato en el que se muestra el reloj se imprime en la pantalla LCD, luego la variable de tiempo se usa para determinar si es AM o PM. Dado que el estado de la AM y PM cambia después de las 12 en punto, las condiciones IF se realizan en consecuencia.

Como sabemos, solo hay 60 minutos en una hora y 60 segundos en un minuto, por lo que cada vez que el valor de los segundos alcanza los 60 hará un incremento de uno en el valor de minuto y el mismo es el caso con el valor de la hora.

En la última, las funciones para los botones de Push utilizados para la configuración se definen la hora cuando se presiona el botón por hora, cambiará el valor de la hora. Del mismo modo, cuando se presiona el botón minuto, cambiará el valor de minuto.

Simulación simple de reloj Arduino Uno

Para demostrar el funcionamiento del reloj digital, hemos creado una simulación que se puede ver en la figura a continuación

Demostración de hardware de reloj Arduino Uno simple

La figura para la salida de hardware real para el circuito para hacer el reloj digital a continuación:

Conclusión

Los relojes digitales son la forma avanzada de los relojes analógicos que son más precisos y menos consumidores. Del mismo modo, estos relojes tienen módulos de visualización incrustados en ellos en los que se muestra el tiempo en forma de números o dígitos. Para comprender el diseño y el funcionamiento del reloj digital, hemos creado un reloj digital utilizando Arduino Uno.