How does it work?
The communication between Arduino and the PCF8563 use the TWI (I2C) so we have to use A4 and A5 pins.A first schematic
A first schematic could be the following. But there is a problem: if the Arduino is disconnected from the USB, the clock "forgets" the time, so this clock is not very useful!A second schematic
To skip this problem we can use a backup battery, as used in this second schematic.Set Date & Time
To set date and time, we have to use this code and program the Arduino. After, we can check if the clock works through the serial monitor.
/* Demonstration of Rtc_Pcf8563 Set Time.
* Set the clock to a time then loop over reading time and
* output the time and date to the serial console.
* I used a RBBB with Arduino IDE, the pins are mapped a
* bit differently. Change for your hw
* SCK - A5, SDA - A4, INT - D3/INT1
* After loading and starting the sketch, use the serial monitor
* to see the clock output.
* setup: see Pcf8563 data sheet.
* 1x 10Kohm pullup on Pin3 INT
* No pullups on Pin5 or Pin6 (I2C internals used)
* 1x 0.1pf on power
* 1x 32khz chrystal
* Joe Robertson, jmr
//init the real time clock
//clear out the registers
//set a time to start with.
//day, weekday, month, century(1=1900, 0=2000), year(0-99)
rtc.setDate(14, 6, 3, 1, 10);
//hr, min, sec
rtc.setTime(1, 15, 0);
//both format functions call the internal getTime() so that the
//formatted strings are at the current time/date.