Simple RTC
This example demonstrate how to use the RTC library methods.
Hardware Required
- Arduino Zero or MKRZero or MKR1000
Circuit
Only your Arduino Board is needed for this example.
image developed using Fritzing. For more circuit examples, see the Fritzing project page
Code
/*
Simple RTC for Arduino Zero and MKR1000
Demonstrates the use of the RTC library for the Arduino Zero and MKR1000
This example code is in the public domain
http://arduino.cc/en/Tutorial/SimpleRTC
created by Arturo Guadalupi <a.guadalupi@arduino.cc>
15 Jun 2015
modified
18 Feb 2016
modified by Andrea Richetta <a.richetta@arduino.cc>
24 Aug 2016
*/
#include <RTCZero.h>
/* Create an rtc object */
RTCZero rtc;
/* Change these values to set the current initial time */
const byte seconds = 0;
const byte minutes = 0;
const byte hours = 16;
/* Change these values to set the current initial date */
const byte day = 15;
const byte month = 6;
const byte year = 15;
void setup()
{
Serial.begin(9600);
rtc.begin(); // initialize RTC
// Set the time
rtc.setHours(hours);
rtc.setMinutes(minutes);
rtc.setSeconds(seconds);
// Set the date
rtc.setDay(day);
rtc.setMonth(month);
rtc.setYear(year);
// you can use also
//rtc.setTime(hours, minutes, seconds);
//rtc.setDate(day, month, year);
}
void loop()
{
// Print date...
print2digits(rtc.getDay());
Serial.print("/");
print2digits(rtc.getMonth());
Serial.print("/");
print2digits(rtc.getYear());
Serial.print(" ");
// ...and time
print2digits(rtc.getHours());
Serial.print(":");
print2digits(rtc.getMinutes());
Serial.print(":");
print2digits(rtc.getSeconds());
Serial.println();
delay(1000);
}
void print2digits(int number) {
if (number < 10) {
Serial.print("0"); // print a 0 before if the number is < than 10
}
Serial.print(number);
}