#include <GyverNTP.h>
#include <WiFi.h> // esp32
GyverNTP ntp(3);
uint8_t my_blinks = 0;
uint32_t global_tmr;
int my_sec = 0;
int my_ms = 10;
int my_bells;
bool sec_ms = false;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) delay(100);
Serial.println("Connected");
ntp.begin();
while(!ntp.synced()) {
ntp.tick();
delay(500);
}
Serial.println(ntp.timeString());
}
void loop() {
if (millis() - global_tmr >= 1) { //главный такт цикла = 1 мс
global_tmr = millis();
work_shedule();
}
}
void work_shedule() { //работа по расписанию___________________________________
ntp.tick(); // проверяем время
sec_ms = ntp.second() == my_sec && ntp.ms() == my_ms;
if (sec_ms) Serial.println(ntp.timeString());
if (ntp.hour() >= 8 && ntp.hour() <= 22) {
if ((ntp.minute() == 0 || ntp.minute() == 30) && sec_ms) {
my_bells = 6;
Serial.println(ntp.timeString());
Serial.println(my_bells);
}
if ((ntp.minute() == 5 || ntp.minute() == 35) && sec_ms) {
my_bells = 1;
Serial.println(ntp.timeString());
Serial.println(my_bells);
}
if ((ntp.minute() == 10 || ntp.minute() == 40) && sec_ms) {
my_bells = 2;
Serial.println(ntp.timeString());
Serial.println(my_bells);
}
if ((ntp.minute() == 15 || ntp.minute() == 45) && sec_ms) {
my_bells = 3;
Serial.println(ntp.timeString());
Serial.println(my_bells);
}
if ((ntp.minute() == 20 || ntp.minute() == 50) && sec_ms) {
my_bells = 4;
Serial.println(ntp.timeString());
Serial.println(my_bells);
}
if ((ntp.minute() == 25 || ntp.minute() == 55) && sec_ms) {
my_bells = 5;
Serial.println(ntp.timeString());
Serial.println(my_bells);
}
}
} //конец работы по расписанию____________________________________________
void my_blink(uint8_t n_blinks) {
digitalWrite(LED_BUILTIN, 0); //выключили лампочку
delay(100);
for (uint8_t i = 0; i < n_blinks * 2; i++) { // счётчик от 0 до n_blinks * 2
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
delay(200); // 0,1 сек
}
}