[136] | 1 | /**********************************************************************************************************************************************************
|
---|
| 2 | This sketch gives a simple demonstration of how to use RTC library.
|
---|
| 3 | The code sets date and time using internal structure and then print on serial date and time. Time representation is 12 hour mode
|
---|
[175] | 4 |
|
---|
| 5 | NOTE: for M0/M0 pro only you can select the oscillator source for count.
|
---|
| 6 | If you want to use a low power oscillator use rtc.begin(TIME_H12, LOW_POWER); function.
|
---|
| 7 | If you want to use a more accurate oscillator use rtc.begin(TIME_H12, HIGH_PRECISION); function.
|
---|
[136] | 8 | **********************************************************************************************************************************************************/
|
---|
| 9 |
|
---|
| 10 |
|
---|
| 11 |
|
---|
| 12 | #include <RTCInt.h>
|
---|
| 13 |
|
---|
| 14 | RTCInt rtc; //create an RTCInt type object
|
---|
| 15 |
|
---|
| 16 |
|
---|
| 17 | void setup()
|
---|
| 18 | {
|
---|
| 19 | Serial.begin(9600);
|
---|
| 20 | rtc.begin(TIME_H12); //init RTC in 12 hour mode
|
---|
| 21 |
|
---|
| 22 | //filling internal structure for time
|
---|
[175] | 23 | rtc.time.hour = 10; //hour
|
---|
| 24 | rtc.time.minute = 44; //minute
|
---|
| 25 | rtc.time.second = 0; //second
|
---|
| 26 | rtc.time.Tmode = ANTI_MERIDIAN;
|
---|
[136] | 27 |
|
---|
| 28 | //filling internal structure for date
|
---|
[175] | 29 | rtc.date.day = 13; //day
|
---|
| 30 | rtc.date.month = 8; //month
|
---|
| 31 | rtc.date.year = 15; //year
|
---|
[136] | 32 |
|
---|
| 33 | rtc.setTime(); //setting time
|
---|
| 34 | rtc.setDate(); //setting date
|
---|
| 35 |
|
---|
| 36 |
|
---|
| 37 |
|
---|
| 38 |
|
---|
| 39 |
|
---|
| 40 | }
|
---|
| 41 |
|
---|
| 42 | void loop()
|
---|
| 43 | {
|
---|
| 44 | rtc.getDate(); //getting date in local structure (local_date)
|
---|
| 45 | rtc.getTime(); //getting time in local structure(local_time)
|
---|
| 46 |
|
---|
| 47 | //printing date in format YYYY/MM/DD
|
---|
[175] | 48 | Serial.print(rtc.date.year+2000); // year
|
---|
[136] | 49 | Serial.print('/');
|
---|
[175] | 50 | Serial.print(rtc.date.month); // month
|
---|
[136] | 51 | Serial.print('/');
|
---|
[175] | 52 | Serial.print(rtc.date.day); // day
|
---|
[136] | 53 | Serial.print(' ');
|
---|
| 54 |
|
---|
| 55 | //printing time
|
---|
[175] | 56 | Serial.print(rtc.time.hour); //hour
|
---|
[136] | 57 | Serial.print(':');
|
---|
[175] | 58 | Serial.print(rtc.time.minute); //minute
|
---|
[136] | 59 | Serial.print(':');
|
---|
[175] | 60 | Serial.print(rtc.time.second); //second
|
---|
[136] | 61 | Serial.print (' ');
|
---|
[175] | 62 | if(rtc.time.Tmode == ANTI_MERIDIAN) Serial.println("AM"); // print AM or PM
|
---|
[136] | 63 | else Serial.println("PM");
|
---|
| 64 |
|
---|
| 65 | delay(1000);
|
---|
| 66 | }
|
---|