Tutorial - Reloj RTC I2C con Arduino

Hola,

Os dejo un tutorial para usar un Reloj RTC I2C con Arduino, el modelo que se usa en el tutorial es el DS1307

Tutorial - Reloj RTC I2C con Arduino

Saludos

Gracias compañero por compartir.

La de veces que han preguntado los nuevos por el RTC, lo bien que les va a venir.

Un saludo.

Heke: Gracias compañero por compartir.

La de veces que han preguntado los nuevos por el RTC, lo bien que les va a venir.

Un saludo.

Yo fui uno de ellos :)

pues yo con ese tuto soy incapaz de que mi tiny rtc v1.0 by Walman tire.....

me sale siempre lo mismo:

2165/165/165 165:165:85

he probado con el i2c con y sin pullups, acabo de comprarle una pila nueva por si era eso que he leido que a veces dan follon porque llevan la pila asi yeye y dan error.... en el bus i2c el solico, con mas gente (un pcf8574n que uso para unos reles....), de probar me falta lo tipico.... pegarle, insultarle, amenazarle.... pero creo que ni asi....

alguien sabe decirme que estoy haciendo mal o por donde puedo empezar a leer a ver si llego yo solico a algun sitio?????

un saludo y gracias de antemano!.

nolo_manoloso:
pues yo con ese tuto soy incapaz de que mi tiny rtc v1.0 by Walman tire…

me sale siempre lo mismo:

2165/165/165 165:165:85

he probado con el i2c con y sin pullups, acabo de comprarle una pila nueva por si era eso que he leido que a veces dan follon porque llevan la pila asi yeye y dan error… en el bus i2c el solico, con mas gente (un pcf8574n que uso para unos reles…), de probar me falta lo tipico… pegarle, insultarle, amenazarle… pero creo que ni asi…

alguien sabe decirme que estoy haciendo mal o por donde puedo empezar a leer a ver si llego yo solico a algun sitio???

un saludo y gracias de antemano!.

Es la pila, cambiasela al RTC

hola. tengo el modulo RTC2 y utilizo la tarjeta arduino mega. descargue las librerias para este codigo, pero cuando lo pongo a correr el serial print no muestra nada, probe solo la primera parte del codigo, donde supuestamente debe mostrar mal la fecha, por que esta aun no se ha establecido; pero no muestra, nada ........... para comprobar que el RTC2 este en buen estado y este transmitiendo cargue otro codigo que encontre y muesta una fecha de 1970... no se que sucede, por que este codigo no corre.. agredezco cualquier ayuda

qeu tal? yo estoy usando un BQ32000 que tiene la posibilidad de usar un supercapacitor de 0.22F para almacenar el dato, funciona perfecto pero parace que cuando se carga el capacitor deja de funcionar y aparece 2165/165/165 165:165:85. si descargo el capacitor mientras esta funcionando, empieza a contar nuevamente pero con cualquier valor. alguno de ustedes lo uso alguna vez??

nolo_manoloso: pues yo con ese tuto soy incapaz de que mi tiny rtc v1.0 by Walman tire.....

me sale siempre lo mismo:

2165/165/165 165:165:85

he probado con el i2c con y sin pullups, acabo de comprarle una pila nueva por si era eso que he leido que a veces dan follon porque llevan la pila asi yeye y dan error.... en el bus i2c el solico, con mas gente (un pcf8574n que uso para unos reles....), de probar me falta lo tipico.... pegarle, insultarle, amenazarle.... pero creo que ni asi....

alguien sabe decirme que estoy haciendo mal o por donde puedo empezar a leer a ver si llego yo solico a algun sitio?????

un saludo y gracias de antemano!.

a mi me pasaba algo similar y tenia mal conectado el RTC (los cables intercambiados)

Hola amigos apasionados por la electrónica.

Tengo un problema, no puedo descargar la librería RTClib, directamente del enlace que esta al principio.

Cargue otras librerías desde otras paginas pero me salen errores.

Pueden facilitarme con la librería??????????????????????.

Mil gracias por darse la molestia de leer esta nota.

yo uso esta https://github.com/adafruit/RTClib

que los de adafruit le han hecho un tutorial http://learn.adafruit.com/ds1307-real-time-clock-breakout-board-kit/

boganazhapa: Hola amigos apasionados por la electrónica.

Tengo un problema, no puedo descargar la librería RTClib, directamente del enlace que esta al principio.

Cargue otras librerías desde otras paginas pero me salen errores.

Pueden facilitarme con la librería??????????????????????.

Mil gracias por darse la molestia de leer esta nota.

Hola! Disculpa por el error, ya esta solucionado, ya puedes descargarte la librería del tutorial aquí: http://www.tuelectronica.es/descargas/arduino/librerias/rtclib.html

hola compañeros e estado trabajando en el RTC de arduinoo,
usando el tutorial funciona muy bien el problema es al tratar de darle condiciones
de tiempo al arduino no me responde aqui tengo el codigo no se que me falta…

#include <Wire.h>   // Incluye la librería Wire
#include "RTClib.h" // Incluye la librería RTClib
RTC_DS1307 RTC; // Crea el objeto RTC
int hora =0;
int minuto =0;
int segundo =0;

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.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(5000); // La información se actualiza cada 1 seg.
hora=(now.hour(),DEC);
minuto=(now.minute(),DEC);
segundo=(now.second(),DEC);

if (hora >=7);
{
 digitalWrite(5,HIGH);

if (hora >=17);
digitalWrite(5,LOW);
}
}

si me pudieran ayudar

muchas gracias…!!!

¿Te refieres ha esta parte?

Conras: if (hora >=7); { digitalWrite(5,HIGH);

if (hora >=17); digitalWrite(5,LOW); }

quizás estés comparando una cadena de texto con un número. Verifica que es "hora" es un entero.

CHECA LA SINTAXIS POR AHI VEO QUE DESPUES DEL IF TIENES ";" Y ASI NO FUNCIONA AUNQUE NO TE MARQUE ERROR

ferrercuevas: CHECA LA SINTAXIS POR AHI VEO QUE DESPUES DEL IF TIENES ";" Y ASI NO FUNCIONA AUNQUE NO TE MARQUE ERROR

Muy cierto eso también!! ;)

Conras:
hola compañeros e estado trabajando en el RTC de arduinoo,
usando el tutorial funciona muy bien el problema es al tratar de darle condiciones
de tiempo al arduino no me responde aqui tengo el codigo no se que me falta…

#include <Wire.h> // Incluye la librería Wire
#include “RTClib.h” // Incluye la librería RTClib
RTC_DS1307 RTC; // Crea el objeto RTC
int hora =0;
int minuto =0;
int segundo =0;

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.hour(), DEC);
Serial.print(’:’);
Serial.print(now.minute(), DEC);
Serial.print(’:’);
Serial.print(now.second(), DEC);
Serial.println();
delay(5000); // La información se actualiza cada 1 seg.
hora=(now.hour(),DEC);
minuto=(now.minute(),DEC);
segundo=(now.second(),DEC);

if (hora >=7);
{
digitalWrite(5,HIGH);

if (hora >=17);
digitalWrite(5,LOW);
}
}

si me pudieran ayudar

muchas gracias…!!!

Puede que esto te sea de utilidad http://forum.arduino.cc/index.php?topic=254415.0
:wink:

fjramirez

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include “RTClib.h”
#include “RTC_DS1307.h”
#define DS1307_I2C_ADDRESS 0x68
int hora = 0;
int minuto = 0;
int segundo = 0;

RTC_DS1307 RTC;

void setup () {

Serial.begin(9600);
Wire.begin();
RTC.begin();
pinMode (5, OUTPUT);
//RTC.adjust(DateTime(2014, 7, 3, 12, 42, 20));// quitar “//” poner fecha año, mes, dia, hora… y luego volver a grabar sketch//
if (! RTC.isrunning()) {
Serial.println(“RTC is NOT running!”);
}
}

void loop () {
DateTime now = RTC.now();

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();

hora = (now.hour(),DEC);
minuto = (now.minute(),DEC);
segundo = (now.second(),DEC);

if (hora >=7);
{
digitalWrite(5,HIGH);

if (hora >=17);
digitalWrite(5,LOW);
}
}

Hola buenas noches a todos, soy nuevo en este foro y doy gracias por todos los comentarios que dais. Pero he revisado varios dias el foro y no encuentro lo q me sucede con mi mega i RTD I2C. El sistema funciona perfectamente la hora y el dia, pero el problema que hay es que se adelanta . ( unos 7 seg cada 12 horas ). He cambiado varias veces la pila y siempre el adelanto es igual. En esta compra compre 2 unidades y las dos hacen el mismo efecto. En uno de ellos cambie el cristal de cuarzo per hace el mismo efecto. Hay alguien que le ha pasado algo similar?. Muchas gracias un saludo.

holaxic:
Hola buenas noches a todos, soy nuevo en este foro y doy gracias por todos los comentarios que dais. Pero he revisado varios dias el foro y no encuentro lo q me sucede con mi mega i RTD I2C. El sistema funciona perfectamente la hora y el dia, pero el problema que hay es que se adelanta . ( unos 7 seg cada 12 horas ). He cambiado varias veces la pila y siempre el adelanto es igual. En esta compra compre 2 unidades y las dos hacen el mismo efecto. En uno de ellos cambie el cristal de cuarzo per hace el mismo efecto. Hay alguien que le ha pasado algo similar?.
Muchas gracias un saludo.

Solo se adelanta 7 segundos??? O cada 12 horas aproximadamente se adelanta 7 segundos? Ten en cuenta que los relojes por muy precisos que sean siempre tienen un error. Es cierto que 7 segundos cada 12 horas es mucho.

Si por el contrario solo se adelanta 7 segundos en las primeras 12 horas, y luego se mantiene, puede ser debido a que el reloj se debe estabilizar. Cuando inicias el reloj lo hace a una temperatura diferente que cuando lleva tiempo funcionando. Este pequeño cambio de temperatura puede ser suficiente para que el reloj sufra una pequeña desviación en su frecuencia.

Haciendo pruebas con el modulo del que se habla en este post, he notado un pequeño atraso, pero era debido al tiempo que tarda la IDE de Arduino, en crear el .hex y cargarlo en la placa (Recordamos que el código usa la fecha de creación del .hex para establecer la hora) Por lo demás, ningún problema, lo hemos probado días y semanas encendido y todo perfecto.

Al igual que nolo_manoloso me sale esto

2165/165/165 165:165:85

alguien lo soluciono? ya conecte bien el RTC y nada... Gracias.