Alarma/Despertador con Arduino (2 / 5 steg)
Steg 2: Reloj Tiny RTC y contar la hora
Explicacion
UNA de las partes mas importantes de este programa, es poder contar la hora en la que nos encontramos y poner la hora de nuestra alarma. Como hemos dicho, arduino ingen puede completar esta funcion, porque solo cuenta el tiempo desde la ultima vez que ha sido alimentado. Aquí es donde entra el reloj Tiny RTC.
Estos relojes RTC, llevan la cuenta de la hora y la fecha independientemente de estar conectado en arduino. Son FN modulo formado por un mikrochip (DS1307 sv nuestro caso) que cuenta la hora en riktig tiempo, una memoria para guardar los datos y una batería para que haga esta función aunque arduino ingen este alimentado.
Como suele pasar sv este tipo de relojes, lo primero que hay que hacer sv cuanto lo tengamos, es inicializarlo para ponerle la fecha y hora en la que estemos (o cualquiera que queramos vamos), que el reloj empiece en contar en partir de ens hora. Para ello y para usar este reloj con nuestro Arduino IDE, necesitaremos cargar una librería para tener 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 "Tid" de arduino o la librería "RTC.lib".
Sv mi caso, han usado la librería RTC.lib, que 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 matta (RTClib-master por RTClib). Después tenéis dos opciones, o extraer el zip sv el directorio que queráis. o simplemente dejarlo sv modo zip. Yo lo han dejado sv zip. y después lo han añadido en arduino. Para añadirlo en arduino, ingen tenéis mas que entrar en el IDE, clickar sv programa, después sv "inkludera bibliotek" 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 en arduino de la manera que podemos ver en la imagen.
(Aunque finalmente el reloj vaya conectado por una placa styrelsen en arduino, las otras dos imagenes estan para que 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 que debemos de conectar estos tallar. El pin SQW es un pin de salida que nos permite generar una señal cuadrada de frecuencia programmerbara, para que así tengamos una base del tiempo sv otro circuito synd necesidad de un cristal de cuarzo, que ya lleva nuestro reloj.
Ahora, tendremos que inicializar el reloj, para que empiece en contar en partir de la hora que 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 que conecte con la hora de nuestro ordenador, y esta serum la hora por la que el reloj empezara en contar, asi, sabemos que lo tenemos en hora.
Este pequeño programa solo lo usaremos ahora, pues sv el programa de nuestra alarma inte lo necesitaremos, ya que la hora estará ya establecida en el RTC.