Autor Tema: Real Time Clock o el DS1307 desatado  (Leído 180873 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: Real Time Clock o el DS1307 desatado
« Respuesta #60 en: 03 de Junio de 2008, 17:40:32 »
mira esta

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Real Time Clock o el DS1307 desatado
« Respuesta #61 en: 03 de Junio de 2008, 18:00:17 »
se me olvido responderme jajaja

si simula mbien, pasa q lo estaba probando en una pc q tiene windows 2000 y siempre va saliendo un mensaje de que no encuentra una libreria especifica, epro despues de aceptar si simula mbien la fecha y hora, y al probarlo en mi pc con win xp dio sin problemas

lo unico q si no funciona en ninguno de los 2 windows es la salida SOUT que la configuré a 1Hz, ya q en circuito real si se recibe los pulsos, pero en la simu no :(

gracias por responder
.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Real Time Clock o el DS1307 desatado
« Respuesta #62 en: 15 de Julio de 2008, 12:54:39 »
saludos acá nuevamente con el tema del rtc, pasa que en la libreria q adjunto el maestro Redpic para leer la hora hay una función, para leer la fecha hay otra, funciones independientes, pero para fijar la fecha y hora solo existe una función para ambos, quisiera fijarlos independientemente, entonces se veria obligado a modificar la funcion o crear dos independientes, ahora nose si mi idea sera correcta, entonces haria lo siguiente:

Código: [Seleccionar]
//esta es la funcion tal y como esta
void ds1307_set_date_time(byte day, byte mth, byte year, byte dow, byte hr, byte min, byte sec){

#ifndef USE_INTERRUPTS
   disable_interrupts(global);
#endif

  sec &= 0x7F;
  hr &= 0x3F;

  i2c_start();
  i2c_write(0xD0);
  i2c_write(0x00);
  i2c_write(ds1307_bin2bcd(sec));
  i2c_write(ds1307_bin2bcd(min));
  i2c_write(ds1307_bin2bcd(hr));
  i2c_write(ds1307_bin2bcd(dow));
  i2c_write(ds1307_bin2bcd(day));
  i2c_write(ds1307_bin2bcd(mth));
  i2c_write(ds1307_bin2bcd(year));
  i2c_stop();

#ifndef USE_INTERRUPTS
   enable_interrupts(global);
#endif

}

para por ejemplo solo cambiar la fecha haria esto:
Código: [Seleccionar]
void ds1307_set_date(byte day, byte mth, byte year, byte dow){

#ifndef USE_INTERRUPTS
   disable_interrupts(global);
#endif

  i2c_start();
//  i2c_write(0xD0);     // estas seguirian en su lugar? o reemplazo la direccion de la fecha directamente en reemplazo de 0x00?
//  i2c_write(0x03);
  i2c_write(ds1307_bin2bcd(dow));
  i2c_write(ds1307_bin2bcd(day));
  i2c_write(ds1307_bin2bcd(mth));
  i2c_write(ds1307_bin2bcd(year));
  i2c_stop();

#ifndef USE_INTERRUPTS
   enable_interrupts(global);
#endif

}

Quedo bien asi??, y para la hora seria algo similar:
Código: [Seleccionar]
void ds1307_set_time(byte hr, byte min, byte sec){

#ifndef USE_INTERRUPTS
   disable_interrupts(global);
#endif

  sec &= 0x7F;
  hr &= 0x3F;

  i2c_start();
  i2c_write(0xD0);
  i2c_write(0x00);
  i2c_write(ds1307_bin2bcd(sec));
  i2c_write(ds1307_bin2bcd(min));
  i2c_write(ds1307_bin2bcd(hr));
  i2c_stop();

#ifndef USE_INTERRUPTS
   enable_interrupts(global);
#endif

}

Haber que opinan maestros? enseguida lo compilo y veo si da resultado, sino os volveré a molestar

Y una pregunta mas, la NVRAM tiene espacio para grabar algunos datos? puedo grabar en ella datos extra de poderse, para sucesos especiales? da alguna señal? o en q más se utiliza la NVRAM?

muchas gracais un saludo a todos
« Última modificación: 15 de Julio de 2008, 12:56:44 por Cryn »
.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Real Time Clock o el DS1307 desatado
« Respuesta #63 en: 17 de Julio de 2008, 14:48:16 »
saludos, acá respondiéndome otra vez... tarde, jajaja, se me olvido otra vez :D
y pues si hasta ahora el codigo que supuse ha compilado bien y en simulación cambia solamente la fecha y la hora según se use uno o el otro.

lo de la duda de la NVRAM sigue en pies, pero haber, seguiré leyendo y os cuento.

un saludo para todos
.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Real Time Clock o el DS1307 desatado
« Respuesta #64 en: 19 de Julio de 2008, 20:37:02 »
lo he probado en circuito real y tb dan sin problemas las funciones que plantié :mrgreen:

espero le sirva a alguien, un saludo
.

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: Real Time Clock o el DS1307 desatado
« Respuesta #65 en: 21 de Julio de 2008, 17:56:39 »
compa te felicito por la superacion de esto.lastima no haberte colaborado.
saludos

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Real Time Clock o el DS1307 desatado
« Respuesta #66 en: 21 de Julio de 2008, 18:57:49 »
no te preocupes, asi se aprende, jeje, y pues he aprendido bastante, muchas gracais por la intención ahora, un saludo
.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Real Time Clock o el DS1307 desatado
« Respuesta #67 en: 17 de Septiembre de 2008, 18:05:38 »
aunque ya es un tema viejo en cuanto a las pruebas que hiciste maestro Diego, quiero notar un pequeño detalle que en mi caso puede ser muy peligroso, segun la hoja de datos dice:



que el dia de la semana es un registro que varia de 1 a 7 y se podría hacer la correspondencia de Lun - Dom ya por software, pero veo que en tu codigo de ejmplo que pusiste en uno de los primeros posts, configuras el dia de la semana en Viernes, y en el SIOW se ve como Sabado :shock:

entonces se puede decir que el registro esta variando del 0 al 6??
o hay un pequeño detalle que considerar en la función que agregaste maestro rojo, en la funcion ds1307_get_day_of_week(char* ptr)

pues he tenido a la vez un pequeño problema con el reloj funcionando asi, que en la transición de Domingo a Lunes, dado que lo estoy visualizando en un LCD, pasa que no me muestra nada, o a veces basura cuando debería mostrar Lunes, nose cual será mi error.

bueno gracias un saludo.
.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Real Time Clock o el DS1307 desatado
« Respuesta #68 en: 08 de Noviembre de 2008, 15:27:27 »
Hola

Me tocó el turno de aprender a usar el DS1307 y... Definitivamente una maravilla, es increible que una pastillita de 8 pines pueda hacer tanto. Me he montado un pequeño reloj - calendario y con un mes en funcionamiento no he visto retrasos en la hora.

esquema del módulo ds1307:



mi board:







una demostración virtual de lo que hace el circuito en el protoboard:


solamente enciendo el circuito para ver la hora, después lo apago.

El agradecimiento al maestro Diego por la libreria.   :)




La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Real Time Clock o el DS1307 desatado
« Respuesta #69 en: 08 de Noviembre de 2008, 21:38:08 »
Felicitaciones palitroques, preguntas:

El cristal esta soldado a tierra no?

Ese cristal es de 12.5pf? porque con lo que e leido la elecion del cristal debe de ser de esta capcitancia, porque hay otro de 6pf, 12 y asi. Esto pued retrasar o adelantar el clock, como lo has pedido?


Salu2.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Real Time Clock o el DS1307 desatado
« Respuesta #70 en: 10 de Noviembre de 2008, 12:47:48 »
Si está soldado a tierra (me costó porque el cristal se daña con el calor).

no conozco su capacitancia, el cristal lo saqué de un reloj despertador de esos que venden en tiendas de chinos.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Real Time Clock o el DS1307 desatado
« Respuesta #71 en: 11 de Noviembre de 2008, 09:18:59 »
Si está soldado a tierra (me costó porque el cristal se daña con el calor).

no conozco su capacitancia, el cristal lo saqué de un reloj despertador de esos que venden en tiendas de chinos.




Same trick  xD LoL  :D

Hice lo mismo y que ocsas que un despertador de esos chinos sale en menos de 1 dolar xD lo que venden -+ aca los cristales .

OJoj

He probado este relojito una maravillita  :mrgreen:


aunque ya es un tema viejo en cuanto a las pruebas que hiciste maestro Diego, quiero notar un pequeño detalle que en mi caso puede ser muy peligroso, segun la hoja de datos dice:



que el dia de la semana es un registro que varia de 1 a 7 y se podría hacer la correspondencia de Lun - Dom ya por software, pero veo que en tu codigo de ejmplo que pusiste en uno de los primeros posts, configuras el dia de la semana en Viernes, y en el SIOW se ve como Sabado :shock:

entonces se puede decir que el registro esta variando del 0 al 6??
o hay un pequeño detalle que considerar en la función que agregaste maestro rojo, en la funcion ds1307_get_day_of_week(char* ptr)

pues he tenido a la vez un pequeño problema con el reloj funcionando asi, que en la transición de Domingo a Lunes, dado que lo estoy visualizando en un LCD, pasa que no me muestra nada, o a veces basura cuando debería mostrar Lunes, nose cual será mi error.

bueno gracias un saludo.


Lo he notado tambiém amigo CRyn.

Quiero revisar bien el código a ver si encunetro como va el asunto pero como soy noob , esto va para largo.

Un saludo!

Por cierto tengo unos de esos rtcs xD con alarma

Que tal si se hace una tengularma. :D (en proximas y cantando villancicos)


Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Real Time Clock o el DS1307 desatado
« Respuesta #72 en: 11 de Noviembre de 2008, 18:47:45 »
Hola AKENAFAB, pues si, confirme lo que había dicho con la practica, y en efecto lo que dice la hoja de datos se cumple una vez más :D

yo para saber el string del dia, solamente cojo el dato de día de la semana que guarda el reloj y según el valor que tenga lo muestro de un const char [][], el valor de dia de la semana del rtc -1 de índice y visualizo todo bien, y ya no tengo problemas en la transición de domingo a lunes, va todo bien :mrgreen:
.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Real Time Clock o el DS1307 desatado
« Respuesta #73 en: 11 de Noviembre de 2008, 20:59:13 »
Que bien qu elo resolviste Cryn , ahora que este libre  xD

Veo que onda con este relojito.

Saludos!

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Real Time Clock o el DS1307 desatado
« Respuesta #74 en: 12 de Noviembre de 2008, 04:56:11 »
Muy bueno, Cryn. Me gusta tu solución.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania