Arduino y DS1307 5

En este breve  pero interesante entrada os mostramos la forma de dotar a nuestro Arduino de “fecha y hora” de una manera sencilla. ¿Qué necesitamos? … pues tan solo nuestra placa Arduino y un módulo RTC (Real Time Clock) que incorpora como núcleo de su operativa el chip DS1307, además del conexionado de los pocos componentes periféricos que precisa incorpora – y esto si es interesante – la pila tipo botón que se encargará de que guarde fecha y hora aunque desconectemos el módulo del Arduino.

DS1307_00

La operativa con Arduino es sumamente sencilla vía bus I2C. Parte de la información utilizada, así como el código desarrollado está basado en la excelente página sobre RTC y Arduino. Si tenemos tiempo podemos indagar en la misma y sacar aún más partido a este pequeño módulo.

DS1307_03

En marcha …

Nos ponemos manos a la obra y nos hacemos con el módulo comentado, disponible en Internet en varios sitios, por ejemplo en la tienda de Bricogeek. El conexionado del módulo es tan sencillo que no es preciso ni un esquema, son solo cuatro los hilos que unen el módulo RTC con el Arduino, a saber:

 

DS1307_01

Para facilitaros aún más la operativa hemos desarrollado dos pequeños programas para que Arduino use el RTC. El primer programa (Set_RTC) es el que imprescindiblemente hemos de utilizar en primer lugar para “poner en hora” nuestro DS1307.

Nota: es ¡ IMPORTANTE ! que editemos las posiciones de fecha y hora en el programa Set_RTC  – lógicamente – para que al ejecutarlo se escriban dichos datos en la memoria del chip. Una vez en hora, y gracias a la batería que incorpora el módulo, no hemos de preocuparnos más por su ajuste. Tan solo lo utilizaremos como reloj de consulta (por ejemplo, con el programa Lee_RTC).

Editamos estos datos (año, mes, dia…etc.) fijándonos en el formato admitido para cada uno de ellos.

DS1307_05

El segundo programa (Lee_RTC) es el que nos muestra como recabar la información de fecha y hora que se guarda en este módulo. Podemos utilizarlo como ejemplo que nos ayude a integrar posteriormente el reloj en cualquier dispositivo que lo necesite.

Los programas

El código comentado puede verse a continuación y – como siempre – está disponible para su descarga al final de esta entrada.

PROGRAMA PARA PUESTA EN FECHA/HORA DEL MODULO RTC (DS1307)

 

PROGRAMA PARA CONSULTA DE FECHA/HORA AL MODULO RTC (DS1307)

Podemos sacar más partido al chip DS1307, todo es cuestión de ponerse … por ejemplo, podemos acceder a posiciones de memoria internas donde podemos alojar datos de nuestro interés.

DS1307_04b

 

A DIVERTIRSE

 

Descarga de código

El fichero descargable contiene:

  • Software  Set_RTC.ino para ajuste del DS1307.
  • Software  Lee_RTC.ino para consulta del DS1307.
  • Información del chip DS1307

 

[wpdm_file id=25 title=”true” template=”bluebox ” ]

 

 

 

 

 

5 thoughts on “Arduino y DS1307

  1. Reply Pablo (@Kabuto) Abr 22, 2014 12:17 pm

    ¿Y cómo se hace eso de “acceder a posiciones de memoria internas donde podemos alojar datos de nuestro interés”?

  2. Reply Kolin camacho Ene 5, 2017 6:38 pm

    Hola , no he podido realizar el programa para que me de la hora en formato de 12 horas, me lo pueden dar. Entiendo que es cambiando el bit 6 del arruino , pero la verdad no sé cómo acceder para cambiar este dato , lo estoy haciendo con un arruino uno y el rtc ds 1307, con el programa de arruino. Mil gracias.

  3. Reply Kolin camacho Ene 5, 2017 6:40 pm

    Disculpen en el post anterior es el bit 6 del ds1307.

Leave a Reply

  

  

  

  Bitcoin Currency Converter
Amount of BTC to convert
To currency:
1BTC =