亲爱的Stack Exchange社区。 p>
我是初学者Arduino用户,我正在尝试复制在https://diyhacking.com/arduino-alarm-clock-using-real-time-clock-lcd-screen/的教程中演示的24小时闹钟。
我下载并安装了与DS3231实时时钟模块相关的所有最新库。
当我尝试运行以下程序时(我不是此代码的作者,因为它直接取自我上面链接的页面),我遇到一个错误,似乎是因为错过了一个键图书馆。
有谁能告诉我需要安装哪些库来消除错误?
#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);
}
void loop() {
t = rtc.getTime();
Hor = t.hour;
Min = t.min;
Sec = t.sec;
lcd.setCursor(0,0);
lcd.print("Time: ");
lcd.print(rtc.getTimeStr());
lcd.setCursor(0,1);
lcd.print("Date: ");
lcd.print(rtc.getDateStr());
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);
}
void Buzzer() {
digitalWrite(buz,HIGH);
delay(500);
digitalWrite(buz, LOW);
delay(500);
}
编译和运行此程序时返回的错误如下:
sketch_oct29c:17: error: no matching function for call to
'DS3231::DS3231(const uint8_t&, const uint8_t&)'
DS3231 rtc(SDA, SCL);
^
有人可以建议修复此问题吗?
以下库是我安装的库:
干杯!
答案 0 :(得分:0)
遇到同样的错误,不得不在谷歌上搜索了几天才能解决。似乎问题是由图书馆引起的。
您需要下载 Rinky Dink DS 3231 库。您可以从 here
下载下载后,解压 DS3231 文件夹并将其放入 Arduino 的库文件夹中。一旦你这样做了,运行程序,它就会工作。希望。