Paso 2: Y contar la hora Reloj RTC pequeña
Explicacion
Una de las partes mas importantes de este programa, es poder contar la hora en la nos quedaron y poner la hora de nuestra alarma. Como hemos dicho, arduino no puede completar esta funcion, porque solo cuenta el tiempo desde la ultima vez que ha sido alimentado. Aquí es donde entra el reloj RTC minúsculo.
Estos relojes RTC, llevan la cuenta de la hora y la fecha independientemente de estar conectado a arduino. Hijo un modulo formado por un microchip (DS1307 en nuestro caso) cuenta la hora a tiempo real, una memoria para guardar los datos y una batería para haga esta función aunque arduino no este alimentado.
En de como suele pasar este tipo de relojes, lo primero que hay hacer en cuanto lo tengamos, es inicializarlo para ponerle la fecha y hora en la estemos (o cualquiera queramos vamos), el reloj empiece a contar a partir de esa hora. Para ello y para usar este reloj con nuestro IDE de Arduino, tener necesitaremos cargar una librería para ya todas las funciones relacionadas con el reloj y la cuenta del tiempo. Para ello, se pueden usar diferentes librerías, como la librería "Tiempo" de arduino o la librería "RTC.lib".
En mi caso, usado la librería RTC.lib, podeis descargarla de esta misma pagina como archivo zip.
(Antes de cargar la librería, cuando la hayáis descargado, entrar en vuestro descomprimidor y cambiar el nombre de la carpeta (por RTClib-master RTClib). Después tenéis dos opciones, o extraer el zip en el directorio queráis. o simplemente dejarlo en modo zip. Yo lo en de dejado zip. y después lo añadido un arduino. Para añadirlo un arduino, no tenéis mas entrar en el IDE, el clickar en programa, el después en "incluyen la biblioteca" y "add.zip". Buscáis el directorio donde habéis guardado el zip, y ya tendríais la librería.)
Conexiones
Cuando tengamos la librería, conectaremos el reloj un arduino de la manera podemos ver en la imagen.
(Aunque finalmente el reloj vaya conectado por una placa board un arduino, las otras dos imagenes estan para se vea bien como van las conexiones entre el Reloj y arduino).
Los pines SDA y SCL son para comunicación entre arduino y el reloj, y el VCC y GND, como ya sabemos, para alimentación, pues aunque el reloj tenga una batería para contar el tiempo cuando no este alimentado, para comunicarse con arduino si debemos de conectar estos pines. El pin SQW es un pin de salida nos permite generar una señal cuadrada de frecuencia programable, para así tengamos una base del tiempo at otro circuito pecado necesidad de un cristal de cuarzo, ya lleva nuestro reloj.
Ahora, tendremos inicializar el reloj, para empiece a contar a partir de la hora marquemos. Para ello, usaremos el programa de la imagen. En el programa, podemos ver la linea "RTC.adjust (DateTime (__DATE__, __TIME__));", en esta linea, le decimos al RTC entre con la hora de nuestro ordenador, y esta sera la hora por la el reloj empezara a contar, asi, sabemos que lo tenemos hora de at.
Este pequeño programa solo lo usaremos ahora, pues en el programa de nuestra alarma no lo necesitaremos, ya la hora estará ya establecida el de en RTC.