Messina
Offline
Newbie
Karma: 0
Posts: 16
|
 |
« on: March 05, 2011, 09:15:10 am » |
Salve a tutti!!! Esiste un modo per visualizzare data e ora sul seriale senza l'uso di un rtc? Qualche esempio? So usare la funzione millis ma resta il fatto che conta il tempo passato dall'esecuzione del programma... non la data e ora effettivi! Grazie a tutti in anticipo dell'aiuto
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 47
Arduino rocks
|
 |
« Reply #1 on: March 05, 2011, 10:22:14 am » |
Mi spiace ma.... no martini no party!!!!
Senza RTC l'arduino non può fornire l'ora e la data.
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 82
Posts: 8202
:(){:|:&};:
|
 |
« Reply #2 on: March 05, 2011, 12:48:57 pm » |
bhè a ogni reset invii via PC la data e ora attuale, e poi a partire da quelle info con millis() ti calcoli il tempo trascorso e quindi data e ora attuali.
|
|
|
|
|
Logged
|
|
|
|
|
Palermo
Offline
God Member
Karma: 2
Posts: 700
Arduino rocks
|
 |
« Reply #3 on: March 05, 2011, 03:31:38 pm » |
Oppure ancora, se utilizzi l'ethernet shield, potresti ricavare l'ora dai server NTP, e poi procedere come indicato da lesto
|
|
|
|
|
Logged
|
Gianfranco
|
|
|
|
0
Online
Tesla Member
Karma: 82
Posts: 8202
:(){:|:&};:
|
 |
« Reply #4 on: March 05, 2011, 03:38:56 pm » |
oppure con un sensore ottico del mouse leggere le lancette di un orologio analogico  si dia il via alla fiera delle risposte bizzarre! 
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16449
Don't know what I do
|
 |
« Reply #6 on: March 05, 2011, 04:46:56 pm » |
Il problema non sta tanto nel fornire un "momento" all'Arduino da cui iniziare a calcolare il tempo, il problema è che millis() è una variabile che viene incrementata da un interrupt dell'Atmega; se alteri gli interrupt, alteri anche il calcolo del tempo. Ma anche altre operazioni potrebbero interferire con questo contatore, con il risultato che sulla lunga distanza si potrebbe creare una certa differenza fra l'orario reale e quello segnato dall'Arduino. Poi considera che millis() fornice "millisecondi", per avere ore:minuti:secondi e giorno:mese:anno dovresti implementare un algoritmo che, ad ogni secondo, aggiorni tutti questi registri in catena (aggiorno i secondi; dopo 60 secondi, aggiorno i minuti; dopo 60 minuti, aggiorno le ore; dopo 24 ore, aggiorno i giorni; poi devo calcolare quando aggiornare i mesi ecc... Inoltre il contatore su cui si basa millis() si resetta ogni 50 giorni circa, per cui il tuo sketch potrebbe cessare di funzionare.
Dipende insomma se devi farti un orologio oppure calcolare solo un piccolo intervallo di tempo. Se vuoi accuratezza e misura... nel tempo allora ti serve un RTC.
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 161
Posts: 15680
+39 349 2158303
|
 |
« Reply #7 on: March 05, 2011, 06:27:11 pm » |
le altre fonti del ora esatta (oltre il RTC) sono: * il segnale RDS di molte stazioni radio * un ricevitore dcf77; Segnale orario trasmesso in Germania; ma non é facile far funzionare il modulo DCF77. Mi funziona solo a batteria lontano 2 metri dal PC o dal Arduino. Devo ancora indagare il perché. http://it.wikipedia.org/wiki/DCF77* il segnale GPS ha un orologio ultrapreciso (il calcolo della posizione viene effettuato calcolando il tempo che serve alle onde radio per percorrere la distanza satelite-ricevitore. Non si prende il segnale GPS all interno di edifici o case. * i server NTP sono stati giá nominati. * i 50 Hz della rete elettrica (sono in media precisi) altre fonti: http://it.wikipedia.org/wiki/Orologio_radiocontrollatoCiao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 15
Posts: 1876
Have you mooed today?
|
 |
« Reply #8 on: March 05, 2011, 07:20:05 pm » |
bhè a ogni reset invii via PC la data e ora attuale, e poi a partire da quelle info con millis() ti calcoli il tempo trascorso e quindi data e ora attuali. ..oppure usare un 555 come clock/timer esterno: http://arduino.cc/forum/index.php?topic=50836ma si rientra nella logica che leo72 ha spiegato, riguardo al calcolo di ore/gg/etc
|
|
|
|
|
Logged
|
|
|
|
|
Marche
Offline
Edison Member
Karma: 25
Posts: 2056
|
 |
« Reply #9 on: March 05, 2011, 07:31:57 pm » |
Per ora mettere l'rtc è ancora il metodo più efficace fra tutte le varie alternative scritte Ora a livello puramente teorico è bello trovare altre alternative rispetto al metodo classico di fare le cose, ma trovare soluzioni più complesse, difficili da realizzare e alcune anche più costose (tipo usare l'ethernet shield che costa molto di più e ti da il limite del cavo visto che deve essere collegato ad un pc o ad un router) mi sembra da masochisti
Come mai tutta questa diffidenza nei confronti degli rtc?
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 82
Posts: 8202
:(){:|:&};:
|
 |
« Reply #10 on: March 05, 2011, 08:44:53 pm » |
direi che uwefed è il vincitore, i 50hz della rete di casa è una bella trovata!  edit: temo che le onde del DCF77 siano "rovinate" dall'emissione di alimentatori ecc.. anche se sono moooolto ignorante in materia
|
|
|
|
« Last Edit: March 05, 2011, 08:46:50 pm by lesto »
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16449
Don't know what I do
|
 |
« Reply #11 on: March 06, 2011, 12:22:03 am » |
Concordo con quanto detto da Pelletta. Può essere divertente trovare "alternative personali" a tante cose ma quando l'"alternativa" si traduce nel dover reinventare la ruota (ossia fare un lavoro esagerato per ottenere un risultato che hai già disponibile) insistere in tale direzione mi pare fuori luogo  Costruire un circuitino RTC è una scemenza (l'ho fatto io, quindi ci son capaci tutti  ) e l'accuratezza che ottieni non la puoi ottenere con nessun altro dei metodi citati. Anche i 50 Hz sono molto "esotici": carini, ma se va via la luce, che fai?  Mettiamo che il tuo Arduino sia nella stanza accanto: vai e rimetti l'ora. Ma se fosse in cima ad un palo che trasmette in wi-fi, cosa faresti: ti arrampicheresti tutte le volte?  E comunque tutto dipende da questo: Dipende insomma se devi farti un orologio oppure calcolare solo un piccolo intervallo di tempo.
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 161
Posts: 15680
+39 349 2158303
|
 |
« Reply #12 on: March 06, 2011, 04:42:25 am » |
l'accuratezza che ottieni non la puoi ottenere con nessun altro dei metodi citati. Anche i 50 Hz sono molto "esotici": carini, ma se va via la luce, che fai? Devo contraddirti leo72 La precisione del ora rispetto un RTC (tarato bene se l' integrato lo prevede e col quarzo giusto ordine di errore 20ppm) viene superato da molti metodi: dcf77, GPS, NTP server, RDS, i 50Hz rete sono tutti piú precisi perche tutti basati (eccetto i 50 Hz) su orologi atomici. Ti do ragione che i 50 Hz hanno lo svantaggio che l' ora deve essere impostata e non viene presa dal segnale orario. SergioStyle89 non ha ancora risposto perché non vuole usare un RTC. iI rispondi per favore? @ cosa ho vinto? Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 82
Posts: 8202
:(){:|:&};:
|
 |
« Reply #13 on: March 06, 2011, 05:27:48 am » |
beh, ovvio, la soddisfazione di aver vinto 
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 161
Posts: 15680
+39 349 2158303
|
 |
« Reply #14 on: March 06, 2011, 05:28:51 am » |
@lesto Sono cresciuto giá di 10cm  Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
|