Hace unos días que estoy jugando con el Arduino, cuando me llegó lo contaba en el artículo Arduino Diecimila.
Una de las primeras cosas que he tenido que incorporarle es un reloj, el microcontrolador Atmel no lleva ningún reloj permanente y no sabes en que horas vives, no puedes programar eventos en función de la hora, ni puedes guardar históricos, por ejemplo.
Para proporcionarle la hora he utilizado un circuito integrado Dallas DS1307, el data sheet lo puedes mirar aquí.
El DS1307 es perfecto, es un RTC (reloj en tiempo real) que se puede comunicar utilizando protocolo I2C contra el Arduino y que tiene funciones de backup de hora y fecha con su batería propia.
El I2C es un protocolo de comunicaciones de bus serie para el que existe una librería para programar con el IDE del Arduino, la librería se llama Wire y en su página oficial puedes tener mucha información sobre ella.
El conexionado del Dallas DS1307 también es muy sencillo:
- alimentación de 5v en la pata 8
- una pila de botón de 3v. del tipo BR3032 en la pata 3 (para conservar la fecha y hora)
- un cristal de cuarzo de 32.768kHz en las patas 1 y 2
- masa en la pata 4
- comunicaciones en la 6 con el SCL y en la 5 con el SDA
Para utilizar con el Arduino solamente hay que conectar el SCL por ejemplo a la entrada analógica 5 del Arduino y el SDA a la entrada analógica 4.
Hay que conectarlas con resistencias en pull-up de 2.2K en cada canal.
Todo incluido (sin el Arduino) no supera los 5€.
Dejo el acceso al programa que he utilizado para incorporar a mi proyecto con el que puedes programar la hora y luego leerla y mostrarla por el serial:
Documentación sobre la implementación en glacialwanderer.com
Idea sacada de:
nearfuturelaboratory.com
garcia-cuervo.com
clubse.com.ar
wulfden.org
arduino.cc
arduino.cc
Próximamente iré incorporando nuevas funciones al Arduino, tendrá que poder manejar un mínimo de ocho aparatos eléctricos y tomar la temperatura con una o varias sondas.
Publicado por 



[...] Anteriormente ya he conseguido añadir un reloj en tiempo real, para que lo contaba en el artículo Fecha, Hora y Arduino. [...]