#include <ESP32Servo.h>
int servoPin= 32;
int sensor1 = 14;
int sensor2 = 27;
int led1 = 26;
int led2 = 25;
int key = 12;
int goc =90;
int i = 0;
int y=0;
void Condition()
{
if( y == 0)
{
y=1;
i++;
}
}
Servo servo1;
void setup() {
Serial.begin(9600);
servo1.attach(servoPin);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(key, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
attachInterrupt(digitalPinToInterrupt(key),Condition, HIGH);
servo1.write(91);
}
void loop() {
Serial.println(i);
if( i%2 != 0)
{
int left = digitalRead(sensor1);
if (left == HIGH) {
digitalWrite(led1, HIGH);
} else {
digitalWrite(led1, LOW);
}
Serial.println(left);
int right = digitalRead(sensor2);
if (right == HIGH) {
digitalWrite(led2, HIGH);
} else {
digitalWrite(led2, LOW);
}
Serial.println(right);
if(left == 0 && right == 1)
{
servo1.write(goc);
goc -= 10;
}
if(left == 1 && right == 0)
{
servo1.write(goc);
goc += 10;
}
if (left == 1 && right == 1)
{
servo1.write(goc);
}
if (left == 0 && right == 0)
{
servo1.write(goc);
}
if( goc <= 0 )
{
goc = 0;
}
if( goc >= 180)
{
goc = 180;
}
delay(150);
}
else{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
goc = 90;
servo1.write(goc);
}
if( digitalRead(key) == 0)
{
y = 0;
}
}