Arduino_Scuola
Published © CC BY-SA

Real Time Clock (RTC) PCF8563

This lesson aims to show how to use the famous PCF8563 (a real time clock RTC) with Arduino through the library written by Joe Robertson.

IntermediateProtip15 minutes20,393
Real Time Clock (RTC) PCF8563

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
PCF8563
×1
Crystal 32kHz
×1
10kOhm Resistor
×1
100nF Capacitor
×1
jumpers
×1
Breadboard (generic)
Breadboard (generic)
×1

Story

Read more

Code

Code snippet #1

Arduino
/* 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
 * orbitalair@bellsouth.net
 */ 
#include 
#include 

//init the real time clock
Rtc_Pcf8563 rtc;

void setup()
{
  //clear out the registers
  rtc.initClock();
  //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);
  Serial.begin(9600);
}

void loop()
{
  //both format functions call the internal getTime() so that the 
  //formatted strings are at the current time/date.
  Serial.print(rtc.formatTime());
  Serial.print("\r\n");
  Serial.print(rtc.formatDate());
  Serial.print("\r\n");
  delay(1000);
}

Credits

Arduino_Scuola

Arduino_Scuola

32 projects • 155 followers

Comments