Go Down

Topic: swRTC (Read 81 times) previous topic - next topic

unoracing

Grazie Leo, allora aspetterò di aver tutti i pezzi, speravo di riuscire cmq a centrare un pochino con swrtc ma sembra davvero che l'arduino uno sia instabile per quanto riguarda il clock. Ho letto da qualche parte che c'era la possibilità di metter un secondo quarzo, è vero oppure ho capito male? se si come si potrebbe fare?

Testato

se hai la Release 1 di arduino Uno, puoi modificarla, dissaldando il risuonatore e mettendo un quarzo e i due condensatori, e' pero' un lavoro da fare con componenti smd, come puoi vedere tu stesso
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

leo72

Nel 1° post trovate la versione 1.0.3. Ho introdotto il supporto al clock a 4 MHz. Questa frequenza è però supportata solo per i micro della serie Atmega (Atmega8, Atmega48/88/168/328, Atmega644/1284, Atmega640/1280/1281/2560/2561) per via dei differenti prescaler dei micro della serie Attiny.

Testato

leo oggi ho fatto caso ad una cosa, se diamo in pasto alla tua libreria questo:
Code: [Select]
Serial.print(rtc.getHours(), DEC);
    Serial.print(":");
    Serial.print(rtc.getMinutes(), DEC);
    Serial.print(":");
    Serial.println(rtc.getSeconds(), DEC);


Il risultato e' (per la mezzanotte)
Quote
0:0:0


dopo un secondodiventa:
Quote
0:0:1


ora la mia riflessione e' questa, normalmente un orario lo si immagina con 6 cifre 00:00:00
l'eliminazione degli zeri dal valore delle ore ci sta anche, cioe' e' una scelta soggettiva voler leggere alle 2 di notte 02 oppure solo 2

Pero' questa soggettivbita' secondo me viene meno nella gestione dei minuti e dei secondi, un orario scritto 0:1 non va bene, potrebbe far pensare che sia mezzanotte e 10.
Non ci sono dubbi che e' meglio scrivere 00:01 oppure come dicevo e' accettabile 0:01

Stesso discorso con i secondi, 1 secondo e' meglio scriverlo 01 e non 1

Ora secondo te ha senso implementare questa risposta lato libreria ? oppure per te va bene cosi' e quindi chi lo vuole se lo fa lato codice ?
Logicamente si puo' fare, ma resta il discorso che secondo me una libreria che risponde 0:01:01 alla mezzanotte un minuto un secondo e' meglio.

Se ti va potresti cambiare questa cosa ed anche creare la getWeekday al posto di dover fare (rtc.weekDay(rtc.getTimestamp()));
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

dalubar

Quote
Ora secondo te ha senso implementare questa risposta lato libreria ? oppure per te va bene cosi' e quindi chi lo vuole se lo fa lato codice ?

Si, secondo me ha senso, perchè i valori numerici restituiti sono utili per fare calcoli e/o confronti lato codice.
A parer mio, invece, si potrebbero aggiungere altri tre metodi che restituiscano la corrispondente versione "string" (ad esempio: rtc.getStrMinutes(), rtc.getStrSeconds(), etc.)
Al limite anche una comoda rtc.getStrClock() per stampare velocemente l'orario completo senza dover concatenare i vari pezzi.  :)

Go Up