#include <DS3231.h>
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
DS3231 rtc(SDA, SCL);
Time t;
#define buz 11
int Hor;
int Min;
int Sec;
lcd.print("Arduino Alarm ");
// 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
delay(2000);
if( Hor == 11 && (Min == 32 || Min == 33)) //Comparing the current time with the Alarm time
Buzzer();
Buzzer();
lcd.clear();
lcd.print("Alarm ON");
lcd.setCursor(0,1);
lcd.print("Alarming");
Buzzer();
Buzzer();
delay(1000);
When I run this, I see the following error:
sketch_oct29c:9: error: no matching function for call to 'DS3231::DS3231(const uint8_t&, const uint8_t&)'
DS3231 rtc(SDA, SCL);
I have installed the D23231 library and am not sure what I can do to solve this issue. Does anybody know of a fix for this?
I downloaded all the most updated libraries associated with the DS3231 Real Time Clock module.
When I attempt to run the following program (I am not the author of this code, as it is directly taken from the page I linked above), I am met with an error that seems to be a result of missing a key library.
Can anyone tell me which libraries I need to install to eliminate the error?
#include <DS3231.h>
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
DS3231 rtc(SDA, SCL);
Time t;
#define buz 11
int Hor;
int Min;
int Sec;
void setup()
Wire.begin();
rtc.begin();
Serial.begin(9600);
pinMode(buz, OUTPUT);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("DIYHacking.com");
lcd.setCursor(0,1);
lcd.print("Arduino Alarm ");
delay(2000);
if( Hor == 11 && (Min == 32 || Min == 33)) //Comparing the current time
with the Alarm time
Buzzer();
Buzzer();
lcd.clear();
lcd.print("Alarm ON");
lcd.setCursor(0,1);
lcd.print("Alarming");
Buzzer();
Buzzer();
delay(1000);
The error returned when I compile and run this program is as follows:
sketch_oct29c:17: error: no matching function for call to
'DS3231::DS3231(const uint8_t&, const uint8_t&)'
DS3231 rtc(SDA, SCL);
Cheers!
Please post a link to the ds3231 library that you downloaded. There might be more than one of them and you might have picked the wrong one
The error indicates that the specific constructor does not expect arguments.
You can try
DS3231 rtc();
It should get rid of the error, but if you have the wrong library, you might get other errors.
sketch_oct29c:17: error: no matching function for call to
'DS3231::DS3231(const uint8_t&, const uint8_t&)'
DS3231 rtc(SDA, SCL);
That syntax is found in the Rinky Dink Electronics library.
That library does not use the standard i2c library (Wire.h).
I would recommend either the rtcLib.h which is available through the library manager or the Jack Christensen DS3232.h which works for the ds3231 and integrates well with the time library.