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