domotik/executor_esp32.ino
2022-12-15 12:38:02 +01:00

55 lines
1.6 KiB
C++

#include <ESP32Servo.h>
#include <WiFi.h>
Servo myservo; // create servo object to control a servo
int servoPin = 18;
const char* ssid = "dlink";
const char* password = "";
void closeCircuitAndOpen(int closeTime=400)
{
int pos = 0;
for(pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
delay(closeTime);
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
void setup()
{
Serial.begin(115200);
//======SERVO PART======//
// Allow allocation of all timers
ESP32PWM::allocateTimer(0);
ESP32PWM::allocateTimer(1);
ESP32PWM::allocateTimer(2);
ESP32PWM::allocateTimer(3);
myservo.setPeriodHertz(50); // standard 50 hz servo
myservo.attach(servoPin, 1000, 2000); // attaches the servo on pin 18 to the servo object
myservo.write(0);delay(2500); // position to initial suitable position
//======WIFI PART======/
WiFi.mode(WIFI_STA); //Optional
WiFi.begin(ssid, password);
Serial.println("\nConnecting");
while(WiFi.status() != WL_CONNECTED){
Serial.print(".");
delay(100);
}
Serial.println("\nConnected to the WiFi network");
Serial.print("Local ESP32 IP: ");
Serial.println(WiFi.localIP());
}
void loop()
{
closeCircuitAndOpen();
delay(5000);
}