Pages: [1] 2   Go Down
Author Topic: Data e ora... senza RTC!  (Read 3297 times)
0 Members and 1 Guest are viewing this topic.
Messina
Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 47
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi spiace ma.... no martini no party!!!!

Senza RTC l'arduino non può fornire l'ora e la data.
Logged

0
Online Online
Shannon Member
****
Karma: 131
Posts: 10474
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 766
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 Online
Shannon Member
****
Karma: 131
Posts: 10474
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oppure con un sensore ottico del mouse leggere le lancette di un orologio analogico smiley

si dia il via alla fiera delle risposte bizzarre! smiley-grin
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 766
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Qui trovi come prelevare l'orario da internet: http://arduino.cc/forum/index.php/topic,51802.0.html

Oppure direttamente qua: http://www.arduino.cc/playground/Code/Time

ps, magari fatti una meridiana!  smiley
Logged

Gianfranco

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 332
Posts: 22813
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 Offline
Brattain Member
*****
Karma: 266
Posts: 21661
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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_radiocontrollato
Ciao Uwe
Logged

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2309
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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=50836

ma si rientra nella logica che leo72 ha spiegato, riguardo al calcolo di ore/gg/etc
Logged

Marche
Offline Offline
Edison Member
*
Karma: 34
Posts: 2272
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 Online
Shannon Member
****
Karma: 131
Posts: 10474
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

direi che uwefed è il vincitore, i 50hz della rete di casa è una bella trovata!  smiley-lol

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

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 332
Posts: 22813
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-lol
Costruire un circuitino RTC è una scemenza (l'ho fatto io, quindi ci son capaci tutti  smiley-kitty) 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?  smiley-grin
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?  smiley-wink

E comunque tutto dipende da questo:
Quote from: leo72
Dipende insomma se devi farti un orologio oppure calcolare solo un piccolo intervallo di tempo.
Logged


BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21661
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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 Online
Shannon Member
****
Karma: 131
Posts: 10474
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

beh, ovvio, la soddisfazione di aver vinto  smiley-razz
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21661
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@lesto
Sono cresciuto giá di 10cm  smiley-wink
Ciao Uwe
Logged

Pages: [1] 2   Go Up
Jump to: