Ho provato l'implementazione RTC della libreria mhvlib e devo dire che mi aspettavo un'orario non preciso visto i discorsi precendenti riguardo ad arduino in funzione RTC. Da ieri notte alle 03:38 sta girando il software che scrive su seriale e ancora alle 13:04 non ha perso un secondo.
Ora mi serve arduino 2009 ma come faccio vorrei testarla, non so per almeno 4 o più giorni.
Secondo voi, quanto tempo devo aspettare per poter calcolare lo scarto?
Se questa lib funziona come la mia swRTC, il discorso si restringe al fatto che la 2009 ha un quarzo esterno per cui la precisione del segnale di clock è molto elevata rispetto a quella fornita dal risonatore presente sulle UNO.
La funzione orario mi serve per mostrarla nel display montato sul frontale della lavatrice.
La board che ospita il display sarà quarzata e non svolge un compito gravoso, per cui non credo sia il caso di spendere del denaro per un RTC esterno.
La funzione orologgio la devo anche usare per avvio lavaggio a tempo, e non credo che cambi qualcosa se parte in ritardo di 1 secondo.
Forse ci sarà la scocciatura di dovere sistemare l'oriario periodicamente.
Leo non uso la tua lib perchè richiede il core arduino, poi sta mhvlib la fornisce di base questa funzione, l'unico problema e che al momento non riesco a fare andare RTC e display insieme. Per compilare compila ma il codice sembra non girare.
Ciao.
MauroTec:
Leo non uso la tua lib perchè richiede il core arduino, poi sta mhvlib la fornisce di base questa funzione, l'unico problema e che al momento non riesco a fare andare RTC e display insieme. Per compilare compila ma il codice sembra non girare.
Ciao.
Se esamini la lib, vedrai che il core della stessa è in pratica un timer impostato per 1 overflow ogni 1 ms. L'overflow genera un interrupt e dentro la relativa ISR aggiorno un contatore di millisecondi. Dopo 1000 ms aggiorno a cascata vari registri: secondi, minuti, ore, giorni ecc.... Estrapolando quella parte di codice e quella che imposta il timer in base al tipo di clock ed alla frequenza del micro, puoi riusare la lib anche con un codice non basato sul core di Arduino.