一个简单的Arduino报警器不工作
使用警报库时,我无法使警报正常工作:一个简单的Arduino报警器不工作,arduino,arduino-uno,Arduino,Arduino Uno,使用警报库时,我无法使警报正常工作: #include <Time.h> #include <TimeAlarms.h> void setup() { Serial.begin(9600); while (!Serial) { ; } setTime(8,29,0,1,1,10); // set time to 8:29:00am Jan 1 2010 Alarm.timerRepeat(15, Repeats); } vo
#include <Time.h>
#include <TimeAlarms.h>
void setup()
{
Serial.begin(9600);
while (!Serial)
{
;
}
setTime(8,29,0,1,1,10); // set time to 8:29:00am Jan 1 2010
Alarm.timerRepeat(15, Repeats);
}
void Repeats()
{
Serial.print("alarmed timer!");
digitalWrite(10,1);
}
void loop()
{
}
#包括
#包括
无效设置()
{
Serial.begin(9600);
而(!串行)
{
;
}
设置时间(8,29,0,1,1,10);//设置时间为2010年1月1日上午8:29:00
报警时间重复(15次,重复);
}
void Repeats()
{
串行打印(“报警计时器!”);
数字写入(10,1);
}
void循环()
{
}
我想您正在使用
如果阅读帮助,您可以看到以下内容:
正常运行使用情况
报警延迟(毫秒);警报和定时器只是检查和它们的
使用此延迟函数时调用的函数。你可以通过0来获得成功
最小延迟。应使用此延迟代替正常的Arduino
delay(),用于及时处理警报和计时器
因此,为了调用报警,您必须添加以下内容:
void loop(){
Alarm.delay(1000); // wait one second between clock display
}
如果您希望更快地检查报警,可以使用较低的延迟(例如100)。您也可以使用0,这样函数就不会阻塞,但对于您的应用程序来说,它不是必需的
顺便说一句,我认为(所以我可能是错的)对setTime
的调用仅由其他函数使用,而不是由计时器使用。所以你可以省略它。而且你错过了pinmode的声明
最后。。请尝试此代码并让我们知道
#include <Time.h>
#include <TimeAlarms.h>
void setup()
{
Serial.begin(9600);
while (!Serial) ;
pinMode(10, OUTPUT);
Alarm.timerRepeat(15, Repeats);
}
void Repeats()
{
Serial.print("alarmed timer!");
digitalWrite(10,1);
}
void loop()
{
Alarm.delay(500);
}
#包括
#包括
无效设置()
{
Serial.begin(9600);
而(!串行);
pinMode(10,输出);
报警时间重复(15次,重复);
}
void Repeats()
{
串行打印(“报警计时器!”);
数字写入(10,1);
}
void循环()
{
报警延时(500);
}
添加报警延迟(0);这样,您的程序就不会冻结,您的闹钟也会工作……以什么方式不工作?你检查过你的线路了吗?您使用的是什么“报警库”?您使用的是物理警报吗?虽然这可能是解决问题的一个有价值的提示,但一个好的答案也说明了解决方法。请提供示例代码来说明您的意思。或者,考虑将此写入评论。