Ciao ragazzi, mi potete dare due dritte su come si gestiscono le funzioni time di arduino?
In poche parole dovrei stampare a seriale ora e data utilizzando il clock di arduino, con la funzione setTime inizializzo il clock ogni volta che carico lo sketch su arduino, a me servirebbe riuscire ad acquisire automaticamente data ed ora da un pc e si ri-sincronizzi periodicamente.
La libreria è qui: http://arduino.cc/playground/Code/Time
devi scrivere un sistema che leggendo da seriale una data la dia in pasto alla libreria.
poi in realtà esistono delle variabili che in fase di compilazione assumono data e ora della compilazione, quindi ogni volta che carichi lo sketch lo carichi con la data giusta (ok, magari sarà 5 o 6 secondi indietro ma non credo sia quello il problema)
lesto:
devi scrivere un sistema che leggendo da seriale una data la dia in pasto alla libreria.
poi in realtà esistono delle variabili che in fase di compilazione assumono data e ora della compilazione, quindi ogni volta che carichi lo sketch lo carichi con la data giusta (ok, magari sarà 5 o 6 secondi indietro ma non credo sia quello il problema)
Con la setTime io inserisco la data e l'ora poi quando apro la seriale inizia a contare ma appena la chiudo riparte da zero. Per quello devo sincronizzare l'ora con il computer o ancora meglio con un server NTP....hai idee? Nella libreria Time ho letto in fondo un esempio sulla sincronizzazione con il pc ma non lo capisco assolutamente...spero che il forum mi possa aiutare
non se sia la soluzione ottimale ma io penserei anche di utilizzare il modulo GPS mediatek che ho comprato per 19 € (adesso mi pare che costi 22 o 23 €, ed estrarre da lì la data sempre perfettamente aggiornata.
Potresti avere anche altri dati sempre perfettamente aggiornati come ora etc...
forse non è la soluzione migliore ma, ameno che ti serva in una cantina o in una cassa metallica, avresti sempre data ed ora aggiornata .....
lesto:
devi scrivere un sistema che leggendo da seriale una data la dia in pasto alla libreria.
poi in realtà esistono delle variabili che in fase di compilazione assumono data e ora della compilazione, quindi ogni volta che carichi lo sketch lo carichi con la data giusta (ok, magari sarà 5 o 6 secondi indietro ma non credo sia quello il problema)
Con la setTime io inserisco la data e l'ora poi quando apro la seriale inizia a contare ma appena la chiudo riparte da zero. Per quello devo sincronizzare l'ora con il computer o ancora meglio con un server NTP....hai idee? Nella libreria Time ho letto in fondo un esempio sulla sincronizzazione con il pc ma non lo capisco assolutamente...spero che il forum mi possa aiutare
quando apri/chiudi la seriale resetti il micro. col trucco della data di compilazione non partiresti da 0 ma nemmeno dalla data corretta. Un RTC o un GPS è la soluzione se non vuoi collegarti al PC, altrimenti ci metti 2 minuti a farti un programma che ti imposta la data. provaci, posta i risultati e se non va vediamo di farlo andare :grin:
[quote author=Paolo S link=topic=106080.msg796171#msg796171 date=1337185392]
non se sia la soluzione ottimale ma io penserei anche di utilizzare il modulo GPS mediatek che ho comprato per 19 € (adesso mi pare che costi 22 o 23 €, ed estrarre da lì la data sempre perfettamente aggiornata.
Potresti avere anche altri dati sempre perfettamente aggiornati come ora etc...
forse non è la soluzione migliore ma, ameno che ti serva in una cantina o in una cassa metallica, avresti sempre data ed ora aggiornata .....
[/quote]
Grazie ragazzi, ora vado a informarmi sui link che mi avete postato comunque mi sono dimenticato di dirvi probabilmente un aspetto importante, dispongo della shield gsm/gprs di futura che utilizza il sim900, che voi sappiate posso ricavare data e ora utilizzando la connessione alla rete?
Se sì spiegatemi come perchè è la prima cosa che ho cercato ma senza risultati, sarebbe anche meglio perchè giustamente è più precisa! Grazie a tutti ancora una volta :)
lesto:
devi scrivere un sistema che leggendo da seriale una data la dia in pasto alla libreria.
poi in realtà esistono delle variabili che in fase di compilazione assumono data e ora della compilazione, quindi ogni volta che carichi lo sketch lo carichi con la data giusta (ok, magari sarà 5 o 6 secondi indietro ma non credo sia quello il problema)
Con la setTime io inserisco la data e l’ora poi quando apro la seriale inizia a contare ma appena la chiudo riparte da zero. Per quello devo sincronizzare l’ora con il computer o ancora meglio con un server NTP…hai idee? Nella libreria Time ho letto in fondo un esempio sulla sincronizzazione con il pc ma non lo capisco assolutamente…spero che il forum mi possa aiutare
quando apri/chiudi la seriale resetti il micro. col trucco della data di compilazione non partiresti da 0 ma nemmeno dalla data corretta. Un RTC o un GPS è la soluzione se non vuoi collegarti al PC, altrimenti ci metti 2 minuti a farti un programma che ti imposta la data. provaci, posta i risultati e se non va vediamo di farlo andare
#include <Time.h>
void setup() {
Serial.begin(9600);
// inizializzo la data
setTime(22,15,00,16,05,2012);
}
void loop(){
Serial.println("Utilizzo la setTime");
digitalClockDisplay();
delay(5000);
}
void digitalClockDisplay(){
// digital clock display of the time
Serial.print("ORA: ");
if((hour())<10) Serial.print(0);
Serial.print(hour());
Serial.print(":");
if((minute())<10) Serial.print(0);
Serial.print(minute());
Serial.print(":");
if((second())<10) Serial.print(0);
Serial.print(second());
Serial.println();
Serial.print("DATA: ");
if((day())<10) Serial.print(0);
Serial.print(day());
Serial.print("/");
if((month())<10) Serial.print(0);
Serial.print(month());
Serial.print("/");
Serial.print(year());
Serial.println();
Serial.println();
}
Qui uso la setTime…ovviamente vorrei che si sincronizzasse con il sim900 o con un server NTP oppure con data e ora del computer…