Seleccionar página

Cuando desarrollamos algún proyecto en el que deseamos automatizar un proceso (aunque sea el regadío de nuestro jardín), puede resultar de gran interés disponer de la hora y de la fecha. Sería ideal tener un reloj con arduino, nuestro microcontrolador favorito.

Si queremos hacer una estación meteorológica, imaginaos lo interesante que resulta conocer los datos de temperatura, presión, humedad y la hora del día en que se han producido.

Para obtener estos tiempos, necesitamos hacer un reloj con arduino, como el que vemos en la foto de la entrada. De acuerdo que resulta bastante feo, pero nos proporciona la hora y la mantiene con la pila de botón que lleva incorporada.

Un complemento fantástico de este reloj será un sistema de adquisición de datos. Es decir, poder grabar los datos en una tarjeta SD para después utilizarlos y hacer nuestras cuentas y «descubrimientos».

Material necesario para nuestro reloj con arduino

Para poder registrar la hora con arduino, necesitamos:

  • módulo RTC
  • conjunto de cables de conexión
  • una pila de botón de 3 V CR2032
  • una placa compatible con arduino UNO

El conexionado de los cables se indica en la siguiente figura:

reloj con arduino

En el esquema vemos las conexiones directas a las patas del chip que se puede ver en la fotografía que encabeza el artículo (en el esquema está el chip DS1302, no el módulo que aparece en la fotografía).

Cómo programar el RTC

Como es habitual, internet es la fuente donde encontramos disponibles los trozos de código (librerías) que podremos adaptar a nuestro programas. En nuestro caso, utilizaremos la librería DS1302 que se puede bajar de aquí.

Una vez descargada la librería, es necesario instalarla, de la misma manera que vimos en otra entrada.

Finalmente, acudimos a uno de los ejemplos para aprender cómo se usa la librería y lo adaptamos a nuestras necesidades.

Un aspecto interesante de los programas de ejemplo es cómo poner en hora el reloj. Obsérvese en la siguiente imagen cómo hacerlo:

reloj con arduino

El resto del programa, la función loop() es:

No entramos en el detalle del código. Cada uno lo puede adaptar según le haga falta. Recordamos que los ejemplos se encuentran accesibles una vez instalada la librería. Una vez conectado el módulo RTC y subido el programa, la salida por el monitor es:

En lugar de mostrar los datos por pantalla, puede ser interesante grabar esos datos en una tarjeta de memoria y asociarlos a medidas de temperatura, humedad, presión, etc. Este es el objetivo de esta serie de entradas relativas a la construcción de una estación meteorológica, utilizando componentes de robótica basada en arduino.

Hay que decir que la tendencia actual a la hora de registrar datos de sensores es utilizar el internet de las cosas, de manera que grabemos los datos directamente en la nube, en un servidor en internet.