Pages: [1]   Go Down
Author Topic: Reloj en tiempo real con Arduino  (Read 4030 times)
0 Members and 1 Guest are viewing this topic.
Spain
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!!!
Logged

Entre Bits
Offline Offline
Full Member
***
Karma: 2
Posts: 119
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley
Logged

Spain
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola Dystrom, antes de nada gracias por responder smiley Aprovechando este post preguntaré otra cosa: busqué en google (como me dijiste con mucha razón smiley-lol) 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!
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿que codigo tienes en el arduino puesto y como has conectado el reloj?

Osea... codigo y esquema
Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 724
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Entre Bits
Offline Offline
Full Member
***
Karma: 2
Posts: 119
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:


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.
Logged

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola Dystrom, antes de nada gracias por responder smiley Aprovechando este post preguntaré otra cosa: busqué en google (como me dijiste con mucha razón smiley-lol) 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
Logged


Spain
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
#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:
#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!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Pages: [1]   Go Up
Jump to: