Estoy haciendo un proyecto con arduino Atmega328 para simular un proceso productivo en el cual guardo un registro en una SD informacion de datos y demas.
En esos datos necesito guardar hora y fecha. Mi duda es como hago para configurar la hora actual y mientras mantengo conectado el arduino, poder leer la hora actual para guardarla en dicho registro del proceso...
He estado viendo algunas librerias pero no las logro entender del todo. Si alguien me podría facilitar alguna ayuda se lo voy a agradecer.
Conectarle un RTC debería facilitarte el obtener una hora bastante precisa y que, si le pones una pila, no se borre cada vez que desconectes el Arduino
Hola chiva que tal. Si estube mirando algo de eso... cuantas entradas ocupa el RTC.. porque el tema es que en este proyecto hemos ocupado todas ya... entre el Display, la sd los pulsadores y "actuadores" estamos sin entradas...
Hola,
un RTC como el DS1307 se comunica con Arduino por I2C, y utiliza dos entradas (SDA en analog4 y SCL en analog5). De todas formas creo que se pueden conectar varios dispositivos I2C a un mismo Arduino.
Claro, puedes conectar muchos dispositivos I2C en los mismos pines, cada dispositivo tiene su dirección específica, entonces cuando quieres usarlo, lo llamas, luego a otro, y a otro...
Para liberar pines, por ejemplo en el uso del display, podrias usar un multiplexor.
La librería Time (Arduino Playground - Time) te da la posibilidad de asignar y consultar la fecha y la hora. En esa página se explica todo lo que necesitas.
Suerte
Aker:
La librería Time (http://www.arduino.cc/playground/Code/Time) te da la posibilidad de asignar y consultar la fecha y la hora. En esa página se explica todo lo que necesitas.
Suerte
Esto te servirá siempre y cuando no desconectes al arduino de su fuente de poder.
Hola estuvimos viendo lo de la libreria time.h y es mas o menos lo que neceisto.. Lo conecto a la compu sincronizo la hora y y corro el simulador...Pro no entiendo como sincronizar la hora. en uno de los ejemplos le tengo que mandar la cantidad de segundos que han pasado hasta el momento a partir de 1970 ¿?
Les paso el programa
observen que en las funciones SaveSD y SaveSD2 es donde utilizariamos la fecha...
fabrizzio:
[...] la cantidad de segundos que han pasado hasta el momento a partir de 1970 ¿? [...]
Eso es la hora en formato UNIX
Claro! Algo asi es lo que necesitabamos... porque conectar el RTC se nos complica porque nos quedamos sin entradas... ahora me pongo a ver como funciona lo de la libreria Time...
gracias...
fedebaggio:
Claro! Algo asi es lo que necesitabamos... porque conectar el RTC se nos complica porque nos quedamos sin entradas... ahora me pongo a ver como funciona lo de la libreria Time...
gracias...
Hola.
Como ya te han dicho no hay problema en que uses un RTC aun teniendo todos los pines ocupados. Yo sin duda optaría por un RTC (entre otras cosas por que sería autónomo con su pila cr1220 y nunca perderías la hora y fecha), además, con solo el DS1307, un cristal de 32.768kHz y no mucho más lo puedes montar tu mismo, de todas formas siempre tienes la opción de comprarlo por unos 7-8€ en ebay.
Ya esta solucionado... Usando las libreria time.h Sincronizamos la hora con la de la pc cada ves que se enchufa.
Ademas conseguimos un convertidor de la fehca y hora a segundos desde 1970 y listo..
Muchas gracias por la ayuda dejo el proyecto terminado