#include <stdio.h>
#include <time.h>
time_t now;
struct tm *now_tm;
int h,m,s;
void setup(){
pinMode(D6,OUTPUT);
}
void loop ()
{
now = time(NULL);
now_tm = localtime(&now);
h = now_tm->tm_hour;
m = now_tm->tm_min;
s = now_tm->tm_sec;
if(h == 17 && m == 0 && s==0)
{
digitalWrite(D6,HIGH);
delay(100000);
digitalWrite(D6,LOW);
}
}
我不知道为什么D6针上的LED在17:00:00时无法打开
我尝试在其他IF
条件下进行检查,并且效果很好
我在视觉上计算小时,分钟和秒,它们显示了正确的值
答案 0 :(得分:0)
为了使代码正常工作,您需要使用某种类型的外部时钟(arduino不知道现在几点钟),例如DS3231。您可以在这里找到有关它的教程:https://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/