#include <ESP32Servo.h>
Servo s1;
Servo s2;
int a = 20;
int b = 3;
int c = 46;
int d = 10;
bool sw1 = LOW;
bool sw2 = LOW;
int ss1 = 1;
int ss2 = 1;
int regim = 0;
int regim2 = 0;
int n = 1;
int n2 = 1;
void setup() {
pinMode(39, INPUT);
pinMode(37, INPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
pinMode(8, OUTPUT);
s1.attach(40);
s2.attach(41);
s1.write(90);
s2.write(90);
delay(1000);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
for(int i = 0;i < 201;i++){
if(i == 0){
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
delay(250);
}
if(i == 0){
s1.write(0);
s2.write(0);
}
if(i < 50){
digitalWrite(16, LOW);
digitalWrite(18, LOW);
digitalWrite(17, HIGH);
delay(3);
digitalWrite(17, LOW);
delay(3);
digitalWrite(8, HIGH);
delay(3);
digitalWrite(8, LOW);
delay(3);
}
if(i == 51){
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
delay(250);
}
if(i == 51){
s1.write(180);
s2.write(180);
}
if(i < 151 && i > 50){
digitalWrite(16, HIGH);
digitalWrite(18, HIGH);
digitalWrite(17, HIGH);
delay(3);
digitalWrite(17, LOW);
delay(3);
digitalWrite(8, HIGH);
delay(3);
digitalWrite(8, LOW);
delay(3);
}
if(i == 150){
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
delay(250);
}
if(i == 150){
s1.write(90);
s2.write(90);
}
if(i > 150){
digitalWrite(16, LOW);
digitalWrite(18, LOW);
digitalWrite(17, HIGH);
delay(3);
digitalWrite(17, LOW);
delay(3);
digitalWrite(8, HIGH);
delay(3);
digitalWrite(8, LOW);
delay(3);
}
}
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
}
void loop() {
sw1 = digitalRead(39);
sw2 = digitalRead(37);
if(sw1 == HIGH){
regim2 = 0;
if(n==1){
regim++;
if(regim==5){
regim=1;
}
}
n=0;
}
else{
n=1;
}
if(regim == 1){
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
}
if(sw2 == HIGH){
regim = 0;
if(n2==1){
regim2++;
if(regim2==5){
regim2=1;
}
}
n2=0;
}
else{
n2=1;
}
if(regim2 == 1){
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
}
}