#include <ESP32Servo.h>
#include <IRremote.h>
Servo S;
#define IR_RECEIVE_PIN 26
#include <WiFi.h>
#include <NTPClient.h>
// Replace with your network credentials
const char *ssid = "Wokwi-GUEST";
const char *password = "";
int Hour;
// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org");
void setup() {
IrReceiver.begin(IR_RECEIVE_PIN, DISABLE_LED_FEEDBACK);
Serial.begin(115200);
S.attach(27);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
timeClient.begin();
timeClient.setTimeOffset(3600 * 7);
}
void loop() {
timeClient.update();
Hour = timeClient.getHours();
if (Hour == 8 ||Hour == 14 || Hour == 20 ||Hour == 2){
S.write(90);
delay(4000);
S.write(180);
} else{
if (IrReceiver.decode()) { // если данные пришли
uint32_t r = IrReceiver.decodedIRData.decodedRawData;
Serial.println(r,HEX);
}
if (IrReceiver.decodedIRData.decodedRawData == 0x9768FF00) { // если это кнопка "0"
S.write(90) ;
}
if (IrReceiver.decodedIRData.decodedRawData == 0x6798FF00) { // если это кнопка "-"
S.write(180) ;
}
IrReceiver.resume(); // принимаем следующую команду
}
}