Arduino Forum

International => Español => Hardware => Topic started by: JDLK7 on Jan 21, 2013, 09:14 pm

Title: Reloj en tiempo real con Arduino
Post by: JDLK7 on Jan 21, 2013, 09:14 pm
Hola, estoy diseñando un proyecto con Arduino y me gustaría saber si podría utilizar un reloj en tiempo real dallas ds1307 o similar, de forma que éste envíe la hora al Arduino para que a una hora determinada active o desactive un relé por ejemplo. ¿Es esto posible?, en caso de que lo sea, ¿me explicarían un poco como hacerlo?
Gracias de antemano y un saludo!!!
Title: Re: Reloj en tiempo real con Arduino
Post by: dystrom on Jan 22, 2013, 06:00 am
Hola, primero de todo bienvenido al foro, aqui hay gente que te ayudaran en tus dudas desinteresadamente pero para ello has de poner un poco de tu parte, con esto quiero decir que antes de preguntar primero usa el buscador y google, en caso de no encontrar nada o tener dudas concretas del funcionamiento abre un post, te lo digo porque el tema del reloj esta super, super, super consultado y documentado, de hecho hay librerias, etc.. explicitas para usar ese reloj con arduino.

si pones en google "ds1307 Arduino" te salen 144.000 resultados y en los primeros hasta salen programas ya hechos, luego sólo has de entenderlo y modificarlo para ajustarlo a tus necesidades pruébalo y verás.

Un saludo
Dystrom  :)
Title: Re: Reloj en tiempo real con Arduino
Post by: JDLK7 on Feb 10, 2013, 04:36 pm
Hola Dystrom, antes de nada gracias por responder :) Aprovechando este post preguntaré otra cosa: busqué en google (como me dijiste con mucha razón XD) programas para utilizar dicho reloj y he encontrado bastantes. La mayoría de ellos me han funcionado, pero con todos he tenido el mismo problema. Cuando simulo un corte de luz desenchufando el cable USB del Arduino, una vez conectado de nuevo pierde la hora y empieza a contar a partir de otra hora y fecha diferentes. ¿Existe alguna forma de evitar que se pierda la hora y aunque haya un corte de luz cuando se vuelva a encender continúe por la hora real? Por si sirve de algo, el módulo que estoy utilizando incluye, además del reloj y su batería, una memoria EEPROM.
¡Gracias de antemano y un saludo!
Title: Re: Reloj en tiempo real con Arduino
Post by: Heke on Feb 10, 2013, 04:57 pm
¿que codigo tienes en el arduino puesto y como has conectado el reloj?

Osea... codigo y esquema
Title: Re: Reloj en tiempo real con Arduino
Post by: curro92 on Feb 10, 2013, 08:48 pm
Hola,
Los RTC suelen tener justamente una pila botón  para que una vez puesta la hora se conserve unos 9 años o más, dicen que hasta 15 años si la pila es buena.
Title: Re: Reloj en tiempo real con Arduino
Post by: dystrom on Feb 11, 2013, 05:44 am
Hola no se si usas sólo el integrado o usas una plaquita con el circuito ya hecho tipo al de la foto que pongo aqui:
(http://img259.imageshack.us/img259/1485/kgrhqrqwfdk9jtzibq9y79b.jpg) (http://imageshack.us/photo/my-images/259/kgrhqrqwfdk9jtzibq9y79b.jpg/)

Si es el primer caso mejor pon esquema y programa como dice el compañero HEKE, en el segundo caso tal y como te dice Curro92 la pila ha de aguantar la alimentacion para que no se pierdan los datos.
Title: Re: Reloj en tiempo real con Arduino
Post by: Jossema106 on Feb 11, 2013, 10:05 pm

Hola Dystrom, antes de nada gracias por responder :) Aprovechando este post preguntaré otra cosa: busqué en google (como me dijiste con mucha razón XD) programas para utilizar dicho reloj y he encontrado bastantes. La mayoría de ellos me han funcionado, pero con todos he tenido el mismo problema. Cuando simulo un corte de luz desenchufando el cable USB del Arduino, una vez conectado de nuevo pierde la hora y empieza a contar a partir de otra hora y fecha diferentes. ¿Existe alguna forma de evitar que se pierda la hora y aunque haya un corte de luz cuando se vuelva a encender continúe por la hora real? Por si sirve de algo, el módulo que estoy utilizando incluye, además del reloj y su batería, una memoria EEPROM.
¡Gracias de antemano y un saludo!


Comprueba que despues del primer uso comentas la linea de codigo donde configuras la hora! Ya que sino cada vez que inicie se resetea la hora
Title: Re: Reloj en tiempo real con Arduino
Post by: JDLK7 on Feb 13, 2013, 03:26 pm
El primer código que utilicé lo que saqué de esta página: http://www.tuelectronica.es/tutoriales/arduino/reloj-rtc-i2c-con-arduino.html en la que aparecen dos códigos, uno en el que se pone en hora al reloj a partir de la del ordenador, y un segundo código que muestra la hora en el monitor serial:
El de la puesta en hora
Code: [Select]
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;

void setup () {
Wire.begin(); // Inicia el puerto I2C
RTC.begin(); // Inicia la comunicación con el RTC
RTC.adjust(DateTime(__DATE__, __TIME__)); // Establece la fecha y hora
}

void loop () {

}


y el del monitor serial.
Code: [Select]
#include <Wire.h>   // Incluye la librería Wire
#include "RTClib.h" // Incluye la librería RTClib
RTC_DS1307 RTC; // Crea el objeto RTC

void setup () {
Serial.begin(9600); // Establece la velocidad de datos del puerto serie
Wire.begin(); // Establece la velocidad de datos del bus I2C
RTC.begin(); // Establece la velocidad de datos del RTC
}

void loop () {
DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC

Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();

delay(1000); // La información se actualiza cada 1 seg.
}


El problema que tuve con estos códigos, fue que en primer lugar no sabía como almacenar la hora en una variable o algo para poder utilizarla luego en un if y el segundo fue el problema de que no se guardaba la hora cuando había un corte de luz.
En cuanto al tipo de reloj que he utilizado, compré en ebay un módulo ya montado exactamente igual al que pones en la foto, que además, como ya dije, incluye una memoria.
¡Gracias por responder y un saludo!
Title: Re: Reloj en tiempo real con Arduino
Post by: Pacorro on Feb 26, 2013, 09:28 am
Hola¡¡, estoy interesado en hacer ést montaje y me gustaría saber de que forma se podría enviar la hora en un LCD en vez de ver la hora en Monitor.
Muchas gracias
Title: Re: Reloj en tiempo real con Arduino
Post by: Sergegsx on Feb 26, 2013, 11:13 am

Hola¡¡, estoy interesado en hacer ést montaje y me gustaría saber de que forma se podría enviar la hora en un LCD en vez de ver la hora en Monitor.
Muchas gracias
mira mi firma
Title: Re: Reloj en tiempo real con Arduino
Post by: willam on Apr 01, 2015, 04:05 pm
hola amigos quería saber sin se puede programar un reloj en tiempo real con hora y fecha solamente utilizando el reloj de mi Pc sin utilizar otro dispositivo de tiempo adicional... si se puede cual seria la programación para encender un leed en una hora y fecha especifica. ya que soy nuevo en esto y tengo una tarjeta Arduino uno
Title: Re: Reloj en tiempo real con Arduino
Post by: surbyte on Apr 01, 2015, 07:20 pm
doble post. No puedes preguntar lo mismo en varios hilos.
Ademas este post esta obsoleto. Ultima respuesta Feb 26, 2013, 09:13 am