El RTC más popular para el Arduino es el DS1307, vendido por Adafruit, Sparkfun y otros. Sin embargo, tiene algunos inconvenientes, las más notables es que su voltaje de operación 5v, lo que significó que no pude usarlo con mi Arduino Mini Pro @ 3.3v.
Eso me ha llevado a una búsqueda para un reemplazo apropiado para el DS1307. Aquí fueron mis parámetros de diseño:
1) tolerante de una amplia gama de voltajes, entre 3.3 y 5 v
2) batería de respaldo, por lo que no tiene que preocuparse de restablecer la fecha y hora cada vez la energía lo vuelva a encender.
3) la presencia de una alarma, para poder obtener tiempo de interrupciones (y posiblemente utilice para administrar ahorros de potencia para el Arduino Pro Mini funcionamiento de batería.
4) DIP paquete preferentemente, por lo que tendría para la soldadura más fácil (por desgracia, esto no debía ser!)
El DS1307 es hecho por los integrados Maxim, y tienen una gran variedad de chips RTC. Después de pasar por un conjunto de fichas, me estaba empezando a conseguir un dolor de cabeza! Finalmente se estableció en el DS1339, que satisface todas mis necesidades, a saber:
1) tolerante de una amplia gama de voltajes, de 1,8 V a 5.5V. En particular, elegir el DS1339-33, que tiene un rango de voltaje de 2.97V-5.5V con el típico voltaje de 3.3v
2) tenía una batería de respaldo
3) tenía no uno, sino dos alarmas!
4) como un bono, tuvo también un cargador
Me puse a diseñar un tablero de arranque para el DS1339, que he compartido en
https://www.oshpark.com/shared_projects/A21xcMiD
Después de que recibí los consejos de Oshpark, que tenía que hacer algunos smd que suelda. Hay un montón de sitios que te dicen cómo mano-soldadura de componentes smd, por lo que no entraré en ese detalle aquí. He añadido un puente de soldadura a la placa breakout que puede usarse para habilitar/deshabilitar el enderezamiento.
Después de eso, realmente necesitaba una biblioteca para hablar con el DS1339 de Arduino. El formato de registro es diferente de la del DS1307 (de las cuales varias bibliotecas están disponibles). Afortunadamente, encontré una biblioteca para el DS1337 que se hizo específicamente para el Mosquino, una plataforma compatible con Arduino para extremadamente bajo consumo de energía. Afortunadamente, los formatos de registro de DS1337 y DS1339 eran casi idénticos, con la excepción de que el DS1339 también tuvo un registro más para el cargador por goteo.
Bifurcó la biblioteca Mosquino DS1337, y lo más genérico (se pueden especificar que los pernos se utiliza para las interrupciones externas), made subclases DS1337 y DS1339 (podría añadir chorrito cargador soporte para DS1339, por ejemplo) y también se actualiza el ejemplo para poder configurar y leer la hora, lo que facilita establecer la hora en el módulo RTC por primera vez.
Yo he liberado en github-
https://github.com/sridharrajagopal/DSRTCLib
Es similar a cualquier otra biblioteca de Arduino. Cópielo a la carpeta de las bibliotecas de Arduino y Arduino, reinicie. El DSRTCLib debe aparecer bajo ejemplos.
Ahora tiene un costo relativamente bajo módulo RTC que es cuña-ful de características y puede ser utilizado con una variedad de placas Arduino.
¡ Disfrute!
Sridhar