( Mcsiv | 2020. 05. 14., cs – 23:47 )

van ntp library (NTPClient) amivel szinkronizálhatsz. Használata egyszerű:


const long utcOffsetInSeconds = 3600;
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);

Az utcOffsetInSeconds a helyi időzóna.
Ezt követően már csak a következő kell a loopban:


void loop() {
timeClient.update();
int hours = timeClient.getHours();
int minutes = timeClient.getMinutes();

if (hours == 7 && minutes == 0) digitalWrite(RELAY_PIN, 1);
if (hours == 7 && minutes == 5) digitalWrite(RELAY_PIN, 0);

if (hours == 19 && minutes == 0) digitalWrite(RELAY_PIN, 1);
if (hours == 19 && minutes == 5) digitalWrite(RELAY_PIN, 0);
}

Lehetne szebben is, de ez szemléletesebb így ;)
Ha nem relé, hanem valami más, akkor arra figyelni kell hogy 7 óra 0 perckor 1 percen át folyamatosan 1-re fogja állítani, 5 perckor pedig 1 percig folyamatosan a nullára. Ez relénél lényegtelen