LED将不会使用当地时间亮起[ARDUINO]

时间:2018-11-27 11:32:11

标签: c arduino led localtime

#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条件下进行检查,并且效果很好

我在视觉上计算小时,分钟和秒,它们显示了正确的值

1 个答案:

答案 0 :(得分:0)

为了使代码正常工作,您需要使用某种类型的外部时钟(arduino不知道现在几点钟),例如DS3231。您可以在这里找到有关它的教程:https://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/