Surilli
Published © LGPL

Interfacing DS3231 RTC Module with Arduino and Surilli GSM

Compute the real-time values of time, date, month, and year using the DS3231 RTC Module.

BeginnerFull instructions provided30 minutes1,035
Interfacing DS3231 RTC Module with Arduino and Surilli GSM

Things used in this project

Hardware components

Surilli GSM
Surilli GSM
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Breadboard (generic)
Breadboard (generic)
×1
DS3231 Real Time Clock Module
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Schematics

Interfacing DS3231 RTC Module with Arduino and Surilli GSM

Code

DS3231

C/C++
#include <RTClib.h>

#include <Wire.h>

RTC_DS3231 rtc; //Make a RTC DS3231 object

//Set the names of days
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

void setup () {  
 Serial.begin(9600); //Begin the Serial at 9600 Baud
 //Print the message if RTC is not available
 if (! rtc.begin()) {
   Serial.println("Couldn't find RTC");
   while (1);
 }
 //Setup of time if RTC lost power or time is not set
 if (rtc.lostPower()) {
   //Sets the code compilation time to RTC DS3231
   rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
 }
}

void loop () {
 //Set now as RTC time
 DateTime now = rtc.now();
 //Print RTC time to Serial Monitor
 Serial.print(now.year(), DEC);
 Serial.print('/');
 Serial.print(now.month(), DEC);
 Serial.print('/');
 Serial.print(now.day(), DEC);
 Serial.print(" (");
 Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
 Serial.print(") ");
 Serial.print(now.hour(), DEC);
 Serial.print(':');
 Serial.print(now.minute(), DEC);
 Serial.print(':');
 Serial.println(now.second(), DEC);
 delay(3000);
}

Credits

Surilli
196 projects • 65 followers
Surilli is a premiere Internet of Things centric Technology Company aimed at providing cutting edge innovative solutions.

Comments