5024 días online: 13 años, 9 meses y 9 días · 1.859 artículos · 2.752 comentarios · 527 restaurantes · 429 películas · 239 series

Fecha, Hora y Arduino
Publicado el martes 22 de julio de 2008, hace 4239 días. Tecnología

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:

rtc ds1307 arduino

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.

Related Posts Plugin for WordPress, Blogger...



navegación

por fecha:
| siguiente» «anterior |

con la misma categoría en Tecnología:
| siguiente» «anterior |

uno cualquiera, a suerte:
¡Salta!


otros artículos posiblemente relacionados


11 comentarios
  1. pingback

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

  2. pingback

    […] muchas más cosas.Ahora mismo mi controlador de acuario está funcionando con un Arduino y tiene un reloj en tiempo real, una tarjeta de 0cho reles, un termómetro digital y una pantalla LCD serie de 20×4, todo […]

  3. osbox68
    15/04/10 | 5:18 pm | #3

    Buena tu pagina, me gusto, bueno tu estilo y lo del rtc para el arduino fantastico,
    gracias.

  4. 20/04/10 | 1:42 pm | #4

    Osbox68 me alegra de que te guste, muchas gracias por tu comentario

  5. Israel
    10/03/11 | 1:40 pm | #5

    Felicidades, la página muy buena, precisamente quiero hacer el control de mi acuario con un andruino y buscando información la he encontrado, de momento tengo todas las piezas compradas en camino, pero me consuela que mi «plan teórico» de controlar mi acuario no es imposible.

    Un saludo.

  6. 11/03/11 | 8:28 pm | #6

    Muchas gracias por tu comentario Israel, espero que lo lleves a buen termino.

  7. Reloj
    19/07/11 | 5:05 pm | #7

    Hola, me parece genail el artículo. Sólo he tenido un pequeño problema al probarlo, y es que cuando desconectas la placa arduino de la corriente, se supone que el reloj debería seguir funcionando gracias a la pila, pero cuando lo vuelvo a conectar, la hora que me muestra es las 0:0:0 1/1/0. ¿Alguna idea?

  8. 23/07/11 | 12:36 am | #8

    pues a mi siempre me guardó la hora, solamente si la pila estaba gastada se me hacia reset….

    quizás está mal conectada, no se, espero ser de ayuda

  9. Jordi
    27/11/11 | 9:58 pm | #9

    No te pasa que el reloj se atrasa una barbaridad en un perido muy corto de tiempo ? O da lecturas falsas ? Eso es normal y lo controlas por software ?

    20:51:4 165/45/165 Day_of_week:5
    20:51:4 11/27/11 Day_of_week:5
    20:51:4 11/27/11 Day_of_week:5
    20:51:4 11/27/11 Day_of_week:5
    20:51:4 11/27/11 Day_of_week:5
    20:51:4 11/27/11 Day_of_week:5
    20:51:4 11/27/11 Day_of_week:5
    0:0:0 0/0/0 Day_of_week:0
    20:51:4 11/27/11 Day_of_week:5
    45:85:4 165/165/165 Day_of_week:165
    0:0:0 0/0/0 Day_of_week:0
    20:51:4 11/27/11 Day_of_week:5

  10. 16/12/11 | 1:12 am | #10

    Jordi, cuando yo me peleaba con el Arduino no tenía ningún problema con el retraso del reloj, no se que le puede pasar al tuyo, lo siento…

  11. El Fabro
    23/02/12 | 1:51 am | #11

    Hola. Resulta que lo compilo y me tira un error con el tema del Wire.
    Tenes el archivo wire.h por las dudas?
    Saludos.

comenta este artículo

Jose Carballada

Este es el blog personal de Jose Carballada.

El árbol y el hijo ya están hace tiempo, me faltaba el libro y se me ocurrió empezar ésto...






IBSN: Internet Blog Serial Number 0-637-975-222     QR Code carballada.com