#include <Servo.h>
int servoPin1 = 3;
int serVoPin2 = 5;
int potpin = A0;
int val;
int i =0;
int direction = 0;
const int buttonPin1 = 2;
const int buttonPin2 = 4;
int buttonState1 = 0;
int buttonState2 = 0;
// Create a servo object
Servo Servo1;
Servo Servo2;
void setup() {
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(7, OUTPUT);
// We need to attach the servo to the used pin number
Servo1.attach(servoPin1);
Servo2.attach(serVoPin2);
Servo1.write(0);
Servo2.write(0);
}
void loop(){
buttonState2 = digitalRead(buttonPin2);
if (buttonState2 == HIGH){
float servoSpeed = analogRead(potpin) / 1023.0*4*direction;
if (i<=0) direction = 1;
if(i>=180) direction = -1;
buttonState1 = digitalRead(buttonPin1);
Servo1.write(i);
digitalWrite(7, LOW);
if (buttonState1 == HIGH ){
Servo2.write(180-i);
digitalWrite(7, HIGH);
}
else Servo2.write(i);
i += servoSpeed;
delay(15);
}
else {
float servoAngle = (analogRead(potpin) / 1023.0)*180;
buttonState1 = digitalRead(buttonPin1);
Servo1.write(servoAngle);
digitalWrite(7, LOW);
if (buttonState1 == HIGH){
Servo2.write(180 - servoAngle);
digitalWrite(7, HIGH);
}
else Servo2.write(servoAngle);
}
}