Datalog con valori in millisecondi,e' possibile?

Salve,sto utilizzando arduino UNO che acquisisce i dati provenienti da un accelerometro (Adxl335) e poi li memorizza su una SD mediante una shield.inoltre utilizzo come RTC un DS1307. Volevo sapere se era possibile scrivere su sd l'intervallo di tempo espresso in millisecondi,trascorsi tra una misura e l'altra.

dovrei scrivere su sd qualcosa del genere:

ax,ay 18/05/2014 11.54.00.30 (ax e ay sono i valori dell'accelerometro)

ma mi basta anche solo i millisecondi tipo:

ax,ay ss (ms) dove ss sono i millesecondi. tra una misura e l'altra

Grazie.

Ho visto un po in rete,a quanto pare il ds1307 non puo' gestire i millisecondi (Qualcuno conferma?)
Hanno consigliato di usare un ds 1390 o un ds 1394

Ma non leggo da nessuna parte che potrebbero gestire i millisecondi.
Grazie.

I millisecondi li devi gestire tramite millis(), sincronizzando delle variabili interne in cui tieni l'orario corrente con l'orario registrato dal DS1307.

Come ti ha detto giustamente PaoloP, non puoi usare un RTC per leggere i millisecondi ...
... usi l'RTC per correggere eventualmente un tuo orologio software, ma i conteggi li devi fare usando la millis() di sistema.

Come spunto prova a guardare la libreria Time ... e vedi come ti può essere utile.

Guglielmo

Come libreria sto utilizzando la RTCLIB,ho dato uno sguardo alla time e non mi sembra essere molto differente (purtroppo neanche questa gestisce i millisecondi). Ma poi affidando il tutto alla funzione "millis", potrebbero esserci problemi di precisione,visto che viene gestita dal clock interno di arduino?

mooger:
Ma poi affidando il tutto alla funzione "millis", potrebbero esserci problemi di precisione,visto che viene gestita dal clock interno di arduino?

Sui tempi brevi no, su quelli lunghi ... apposta devi usare un chip RTC assieme alla libreria Time ... per avere appunto precisione anche sui tempi lunghi ...

Comunque ... non vedo molte difficoltà nel personalizzarti appunto la Time per gestire anche un campo in più con i millsecondi :wink:

Guglielmo

Quindi da quanto ho capito,devo prendere i secondi gestiti dal rtc,tramite libreria time,e "scomporli" in millisecondi tramite la funzione millis,giusto?

In che senso scomporli ??? :roll_eyes:

Al limite aggiungerai un campo che indica i millis ...

Ma ripeto, la Time ti può essere utile per capire come fare alcune cose, poi ... ho idea che ti devi scrivere qualche cosa di TUO.

Guglielmo

P.S. : Ma a che ti serve la precisione dei millisecondi se poi lavori con un supporto lento come una SD dove per scrivere qualche cosa ... altro che i millisecondi ... :roll_eyes:

Ecco questo e' un altro problema,la lentezza della scrittura su SD (hai suggerimenti a riguardo? =( ) sono riuscito a ridurre i tempi di scrittura in 12.5ms, tra un campione e l'altro.Se potessi arrivare sotto i 10 ms,sarebbe l'ideale!Rispondendo alla tua domanda,devo poter acquisire i dati del sensore in ms,in quanto successivamente dovrei riportarli in una tabella in Excel,per "graficare" i dati raccolti.