1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- // DS3231_Serial_Hard
- // Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
- // web: http://www.RinkyDinkElectronics.com/
- //
- // A quick demo of how to use my DS3231-library to
- // retrieve time- and date-data for you to manipulate.
- //
- // To use the hardware I2C (TWI) interface of the Arduino you must connect
- // the pins as follows:
- //
- // Arduino Uno/2009:
- // ----------------------
- // DS3231: SDA pin -> Arduino Analog 4 or the dedicated SDA pin
- // SCL pin -> Arduino Analog 5 or the dedicated SCL pin
- //
- // Arduino Leonardo:
- // ----------------------
- // DS3231: SDA pin -> Arduino Digital 2 or the dedicated SDA pin
- // SCL pin -> Arduino Digital 3 or the dedicated SCL pin
- //
- // Arduino Mega:
- // ----------------------
- // DS3231: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA pin
- // SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL pin
- //
- // Arduino Due:
- // ----------------------
- // DS3231: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA1 (Digital 70) pin
- // SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL1 (Digital 71) pin
- //
- // The internal pull-up resistors will be activated when using the
- // hardware I2C interfaces.
- //
- // You can connect the DS3231 to any available pin but if you use any
- // other than what is described above the library will fall back to
- // a software-based, TWI-like protocol which will require exclusive access
- // to the pins used, and you will also have to use appropriate, external
- // pull-up resistors on the data and clock signals.
- //
- #include <DS3231.h>
- // Init the DS3231 using the hardware interface
- DS3231 rtc(SDA, SCL);
- // Init a Time-data structure
- Time t;
- void setup()
- {
- // Setup Serial connection
- Serial.begin(115200);
- // Uncomment the next line if you are using an Arduino Leonardo
- //while (!Serial) {}
- // Initialize the rtc object
- rtc.begin();
-
- // The following lines can be uncommented to set the date and time
- //rtc.setDOW(WEDNESDAY); // Set Day-of-Week to SUNDAY
- //rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)
- //rtc.setDate(1, 1, 2014); // Set the date to January 1st, 2014
- }
- void loop()
- {
- // Get data from the DS3231
- t = rtc.getTime();
-
- // Send date over serial connection
- Serial.print("Today is the ");
- Serial.print(t.date, DEC);
- Serial.print(". day of ");
- Serial.print(rtc.getMonthStr());
- Serial.print(" in the year ");
- Serial.print(t.year, DEC);
- Serial.println(".");
-
- // Send Day-of-Week and time
- Serial.print("It is the ");
- Serial.print(t.dow, DEC);
- Serial.print(". day of the week (counting monday as the 1th), and it has passed ");
- Serial.print(t.hour, DEC);
- Serial.print(" hour(s), ");
- Serial.print(t.min, DEC);
- Serial.print(" minute(s) and ");
- Serial.print(t.sec, DEC);
- Serial.println(" second(s) since midnight.");
- // Send a divider for readability
- Serial.println(" - - - - - - - - - - - - - - - - - - - - -");
-
- // Wait one second before repeating :)
- delay (1000);
- }
|