添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
沉稳的萝卜  ·  springboot启动项目报错 ...·  1 周前    · 
个性的茄子  ·  Java 枚举 - 菜鸟教程·  7 月前    · 
温暖的剪刀  ·  Usage of ...·  9 月前    · 

I am trying to replicate an Arduino Uno based alarm clock that I found at the following website https://diyhacking.com/arduino-alarm-clock-using-real-time-clock-lcd-screen/ .

I tried running the following code:

#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?

Cheers

Dear Arduino community

I'm a beginner Arduino user and am attempting to replicate a 24-hour alarm clock demonstrated in a tutorial found at: https://diyhacking.com/arduino-alarm-clock-using-real-time-clock-lcd-screen/.

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 :wink:

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.

http://www.rinkydinkelectronics.com/library.php?id=73

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.