#include <Servo.h> //including library
Servo myservo; //naming servo
const int buttonpin = 2;//pin used to connect button and arduino
int buttonState = 0;
int potpin = 0; //pin used to connect to potentiometer
int val;//variable used to read value from potentiometer
int pot = 1;
int center = 0;
int sweep = 0;
void setup() {
// put your setup code here, to run once:
myservo.attach(9);//attaches servo to pin 9 on the servo object
Serial.begin(9600);//begin serial moniter, sets bodrate
}
void loop() {
// put your main code here, to run repeatedly:
pinMode(buttonpin, INPUT_PULLUP);
buttonState = digitalRead(buttonpin);//read state of the button, make it active low
if (pot == 1 && buttonState == HIGH){
val = analogRead(potpin);//reads value of potentiometer
val = map(val, 0, 1023, 1010, 2160);//scale it so servo can use
myservo.writeMicroseconds(val);//sets servo pos using microseconds from val
Serial.println(val);//print it
delay(5);//delay
}
if (buttonState == LOW && pot == 1){
delay(10);
pot = 0;
center = 1;
Serial.println("center");
delay(10);
myservo.writeMicroseconds(1585);
center = 0;
}
if (center == 0 && buttonState == LOW && pot == 0){
sweep = 1;
Serial.print("sweep");
}
while (sweep == 1 && buttonState == HIGH && pot == 0){
for (val = 1010, sweep == 1; val < 2160; val = val + 5){
myservo.writeMicroseconds(val);
Serial.println(val);
delay(15);
if (buttonState == LOW){
sweep = 0;
pot = 1;
}
}
delay(50);
for (val = 2160, sweep == 1; val > 1010; val = val - 5){
myservo.writeMicroseconds(val);
Serial.println(val);
delay(15);
if (buttonState == LOW){
sweep = 0;
pot = 1;
Serial.println("pot");
}
}
delay(50);
}
}