LED не включается с использованием местного времени [ARDUINO] - PullRequest
0 голосов
/ 27 ноября 2018
#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 не включается, когда он 17: 00: 00

Я попытался проверить его с другим IF состоянием, и он работал нормально

Я считаю часы, минуты и секунды на визуальном изображении, и они показывают правильное значение

1 Ответ

0 голосов
/ 28 ноября 2018

Для того, чтобы ваш код работал, вы должны иметь какой-то тип внешних часов (arduino не знает, который час), например, DS3231.Об этом вы можете узнать здесь: https://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/

...