Trust time…which usually gives many bitter sweet outputs difficulties

 

Entre Kefy y yo, en nuestro proyecto final, realizamos un reloj digital, en el cual pudiera percibirse la hora actual.

Durante el proceso nos vimos en varias complicaciones, una de ellas y la principal, fue que ninguna de las dos habíamos trabajado antes con Arduino, en seguida fue el hecho de poder programar para que tomará forma de reloj y pudiera ajustarse en el tiempo actual.

Para ello pedimos ayuda a un compañeros de semestre más avanzado de mecatrónica; nos ayudó para configurar el tablero (Keypad) para ajustar las horas, minutos y segundos. Y nos explico que era necesario poner una interrupción en el código para que el error al actualizar la hora a la actual fuera mínimo, así el cambio sería muy rápido.

Gracias a la ayuda, al final conseguimos un reloj funcional!

Aquí dejó el código:)

#include <avr/io.h> // Libreria de entradas y salidas

#include <avr/interrupt.h> // Librería de interrupciones
#include <Keypad.h> // Libreria del teclado matricial
#include <LiquidCrystal.h> // Libreria de la pantalla de cristal liquido

volatile unsigned int H = 0, M = 0, S = 0, Contador = 0; // Definicion de variables
char Tecla;

LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // Contructor que crea el objeto “lcd”
// Recibe de parametros los pines en los que se
// conectara la pantalla al Arduino
// De izquierda a derecha, son lo pines de la pantalla
// RS, E, D4, D5, D6, D7

const byte Filas = 2; // Filas del teclado matricial
const byte Columnas = 3; // Columnas del teclado matricial
char Teclado[Filas][Columnas] = // Valor almacenado en los botones del teclado
{

{‘1’, ‘2’, ‘3’},
{‘4’, ‘5’, ‘6’}

};
byte FilasPins[Filas] = {6, 5}; // Pines de las filas a los pines del Arduino
byte ColumnasPins[Columnas] =

Continue reading “Trust time…which usually gives many bitter sweet outputs difficulties”