per un progetto in cui mi servirebbe avere l'ora in modo abbastanza preciso, avevo pensato di usare un RTC PCF8563 nella versione DIP a 8 pin...
ora ho montato il circuito come in questa immagine (senza mettere le resistenze di pull-up sull'I2C) http://startingelectronics.com/beginners/start-electronics-now/tut16-arduino-clock/arduino-clock-battery-circuit-diagram.png
e caricando su un ATmega328 questo codice:
/*
The circuit:
- LCD RS pin to digital pin 10
- LCD R/W pin to ground
- LCD Enable pin to digital pin 9
- LCD D4 pin to digital pin 5
- LCD D5 pin to digital pin 6
- LCD D6 pin to digital pin 7
- LCD D7 pin to digital pin 8
- 10K resistor:
- ends to +5V and ground
- wiper to LCD VO pin (pin 3)
*/#include <Wire.h>
#include <Rtc_Pcf8563.h>
#include <LiquidCrystal.h>LiquidCrystal lcd(10, 9, 5, 6, 7, 8);
Rtc_Pcf8563 rtc;void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.clear();/* rtc.initClock();
//day, weekday, month, century(1=1900, 0=2000), year(0-99)
rtc.setDate(9, 6, 2, 0, 13);
//hr, min, sec
rtc.setTime(3, 31, 0);*/
}void loop() {
lcd.clear();
lcd.setCursor(0, 0);
//lcd.print(rtc.formatTime(RTCC_TIME_HM));
lcd.print(rtc.formatTime());
lcd.setCursor(0, 1);
//lcd.print(rtc.formatDate(RTCC_DATE_ASIA));
lcd.print(rtc.formatDate());
delay(200);
}
provando con un cronometro e anche con altri riferimente mi risulta che guadagni un secondo ogni 3 ore circa, che secondo me è tantissimo...
siccome avevo un altro pcf8563 a casa l'ho cambiato e ho cambiato anche il quarzo, adesso devo aspettare qualche ora per vedere se il problema è risolto o meno, però vedo già che sta prendendo un vantaggio...
vi risulta che questo modello di RTC sia così impreciso? o ho sbagliato qualcosa?
ho anche un'altra domanda, nel caso ponessi l'RTC in abienti freddi, la frequenza di oscillazione del quarzo potrebbe subire qualche variazione preoccupante?
grazie in anticipo a tutti